:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,PingFang SC,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f6f7f8;--bg-2: #edeff2;--bg-3: #ffffff;--surface: rgba(255, 255, 255, .92);--surface-soft: rgba(17, 24, 39, .045);--surface-strong: rgba(255, 255, 255, .98);--surface-solid: #ffffff;--line: rgba(17, 24, 39, .08);--line-strong: rgba(17, 24, 39, .15);--text: rgba(23, 26, 33, .9);--text-strong: #101319;--muted: rgba(32, 38, 48, .64);--faint: rgba(32, 38, 48, .44);--accent: #2f55e0;--accent-hover: #2444ba;--accent-ink: #ffffff;--accent-soft: rgba(47, 85, 224, .09);--panel-glow: rgba(47, 85, 224, .05);--good: #0e8a5f;--warn: #b25e09;--danger: #d63649;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 16px 40px -16px rgba(16, 24, 40, .18);--shadow-soft: 0 1px 2px rgba(16, 24, 40, .04), 0 8px 24px -12px rgba(16, 24, 40, .12);--radius-lg: 16px;--radius-md: 12px;--radius-sm: 9px;--radius-xs: 7px;--ease-enter: cubic-bezier(.22, 1, .36, 1);--ease-move: cubic-bezier(.25, 1, .5, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1)}:root[data-theme=dark]{color-scheme:dark;--bg: #090a0d;--bg-2: #101217;--bg-3: #171a21;--surface: rgba(22, 24, 30, .78);--surface-soft: rgba(255, 255, 255, .045);--surface-strong: rgba(31, 34, 42, .92);--surface-solid: #181b22;--line: rgba(255, 255, 255, .075);--line-strong: rgba(255, 255, 255, .14);--text: rgba(246, 247, 249, .92);--text-strong: #ffffff;--muted: rgba(226, 232, 240, .62);--faint: rgba(226, 232, 240, .38);--accent: #0a84ff;--accent-hover: #2f9bff;--accent-ink: #ffffff;--accent-soft: rgba(41, 151, 255, .14);--panel-glow: rgba(10, 132, 255, .08);--good: #32d583;--warn: #ffb454;--danger: #ff5c7a;--shadow: 0 24px 70px rgba(0, 0, 0, .32), 0 1px 0 rgba(255, 255, 255, .04) inset;--shadow-soft: 0 12px 40px rgba(0, 0, 0, .22);--radius-lg: 22px;--radius-md: 16px;--radius-sm: 12px;--radius-xs: 8px}*{box-sizing:border-box}[data-theme-switching] *{transition:none!important}[data-theme-switching] *:before{transition:none!important}[data-theme-switching] *:after{transition:none!important}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100dvh;overflow:hidden;color:var(--text);background:radial-gradient(circle at 16% -8%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 34%),radial-gradient(circle at 86% 0%,rgba(148,163,184,.14),transparent 30%),linear-gradient(145deg,var(--bg),var(--bg-2) 54%,var(--bg));font-variant-numeric:tabular-nums}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation}a{color:inherit}button:disabled{cursor:not-allowed}img{outline:1px solid color-mix(in srgb,var(--line-strong) 72%,transparent);outline-offset:-1px}video{outline:1px solid color-mix(in srgb,var(--line-strong) 72%,transparent);outline-offset:-1px}.skip-link{position:fixed;left:16px;top:12px;z-index:100;padding:10px 12px;border-radius:var(--radius-xs);color:var(--accent-ink);background:var(--accent);transform:translateY(-140%);transition:transform .18s var(--ease-enter)}.skip-link:focus{transform:translateY(0)}.night-grid{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 50% 12%,black,transparent 70%);mask-image:radial-gradient(circle at 50% 12%,black,transparent 70%);opacity:.25}.night-grid:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.34;background-image:radial-gradient(circle at 30% 20%,rgba(255,255,255,.06) 0 1px,transparent 1px),radial-gradient(circle at 64% 38%,rgba(255,255,255,.04) 0 1px,transparent 1px);background-size:180px 180px,230px 230px}.surface{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 96%,white 2%),var(--surface));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px) saturate(128%);backdrop-filter:blur(24px) saturate(128%)}.brand-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);background:color-mix(in srgb,var(--accent) 11%,transparent);box-shadow:inset 0 1px #ffffff14}.brand-icon{width:42px;height:42px;flex:none;border-radius:14px}.eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}input,textarea,select{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);outline:none;color:var(--text);background:color-mix(in srgb,var(--surface-strong) 72%,transparent);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease,transform .12s var(--ease-enter)}input,select{min-height:42px;padding:0 12px}textarea{min-height:112px;padding:12px;resize:vertical;line-height:1.62}input:focus{border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent)}textarea:focus{border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent)}select:focus{border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent)}button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,white 12%);outline-offset:2px}a:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,white 12%);outline-offset:2px}input:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,white 12%);outline-offset:2px}textarea:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,white 12%);outline-offset:2px}select:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,white 12%);outline-offset:2px}.primary-button,.secondary-button,.mini-button,.icon-button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:transform .14s var(--ease-enter),background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease,box-shadow .18s ease}.primary-button{min-height:42px;padding:0 17px;border-radius:var(--radius-sm);color:var(--accent-ink);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,white 16%),var(--accent));border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 16%,transparent),inset 0 1px #ffffff5c;font-weight:720}.secondary-button{min-height:40px;padding:0 14px;border-radius:var(--radius-sm);color:var(--text);background:color-mix(in srgb,var(--surface-strong) 76%,transparent);border-color:var(--line-strong)}.mini-button{min-height:30px;padding:0 10px;border-radius:var(--radius-xs);color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 68%,transparent);border-color:var(--line);font-size:12px}.icon-button{width:40px;height:40px;min-height:40px;border-radius:var(--radius-sm);color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 70%,transparent);border-color:var(--line)}.icon-button.small{width:32px;height:32px;min-height:32px;border-radius:var(--radius-xs)}.primary-button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line-strong))}.secondary-button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line-strong))}.mini-button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line-strong))}.icon-button:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line-strong))}.primary-button:active:not(:disabled){transform:translateY(1px) scale(.985)}.secondary-button:active:not(:disabled){transform:translateY(1px) scale(.985)}.mini-button:active:not(:disabled){transform:translateY(1px) scale(.985)}.icon-button:active:not(:disabled){transform:translateY(1px) scale(.985)}.primary-button:disabled{opacity:.46}.secondary-button:disabled{opacity:.46}.mini-button:disabled{opacity:.46}.icon-button:disabled{opacity:.46}.primary-button.full,.secondary-button.full{width:100%}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-lockup strong{display:block;color:var(--text-strong);font-size:15px;letter-spacing:0}.brand-lockup small{color:var(--muted);font-size:12px}.status-pill{min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 66%,transparent);font-size:12px;white-space:nowrap}.status-pill.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 30%,transparent);background:color-mix(in srgb,var(--good) 10%,transparent)}.status-pill.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 30%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.status-pill.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:var(--accent-soft)}.empty-state{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;padding:18px;border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);text-align:center;background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.empty-state{min-height:480px}.notice{display:flex;align-items:flex-start;gap:8px;border-radius:var(--radius-sm);padding:12px;line-height:1.5}.notice.error{color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 24%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent)}.hint-box{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);padding:12px;color:var(--faint);text-align:center;line-height:1.5}.hint-box.danger{align-items:flex-start;flex-direction:column;color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent);border-color:color-mix(in srgb,var(--danger) 24%,transparent);text-align:left}.hint-box.danger strong{color:var(--danger)}.segmented{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 46%,transparent)}.segmented button{min-width:34px;height:30px;border:0;border-radius:9px;color:var(--muted);background:transparent;transition:transform .12s var(--ease-enter),color .16s ease,background-color .16s ease}.segmented button:hover{color:var(--text)}.segmented button.active{color:var(--accent-ink);background:var(--accent);font-weight:760}.mini-button.danger:hover,.icon-button.small.danger:hover{border-color:color-mix(in srgb,var(--danger) 64%,var(--line));background:color-mix(in srgb,var(--danger) 14%,var(--surface-soft))}.toast{position:fixed;right:18px;bottom:18px;z-index:20;display:flex;align-items:center;gap:8px;min-height:46px;max-width:min(420px,calc(100vw - 36px));padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-strong);box-shadow:var(--shadow);animation:toast-in .22s var(--ease-enter)}.toast.success{color:var(--good)}.skeleton-line{height:58px;border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 7%,transparent),transparent);background-size:180px 100%;animation:shimmer 1.2s infinite}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-180px 0}to{background-position:calc(100% + 180px) 0}}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}60%{opacity:1;transform:translateY(-3px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.primary-button{position:relative;overflow:hidden}.primary-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.32) 50%,transparent 58%);transform:translate(-130%)}.primary-button:hover:not(:disabled):after{transform:translate(130%);transition:transform .62s var(--ease-enter)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}*:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.segmented.compact button{min-width:42px;height:28px;font-size:12px}.mini-button.danger:hover:not(:disabled){color:#fff;border-color:color-mix(in srgb,var(--danger) 62%,var(--line-strong));background:color-mix(in srgb,var(--danger) 82%,#111827)}@media (max-width: 980px){body{overflow:auto}}@media (max-width: 560px){.primary-button,.secondary-button{width:100%}.status-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis}}body{background:radial-gradient(circle at 18% -16%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 28%),radial-gradient(circle at 92% 8%,rgba(120,129,150,.12),transparent 34%),linear-gradient(180deg,var(--bg),var(--bg-2) 56%,var(--bg))}:root[data-theme=light] body{background:radial-gradient(circle at 20% -14%,rgba(0,113,227,.11),transparent 28%),radial-gradient(circle at 88% 2%,rgba(125,137,155,.18),transparent 30%),linear-gradient(180deg,#f8f8fa,var(--bg) 46%,#eef1f5)}.night-grid{opacity:.16;background-size:72px 72px;-webkit-mask-image:linear-gradient(180deg,black,transparent 82%);mask-image:linear-gradient(180deg,black,transparent 82%)}.night-grid:after{opacity:.18}.brand-lockup{min-width:0;gap:12px}.brand-icon{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 24%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 13%,white 2%),color-mix(in srgb,var(--accent) 7%,transparent));box-shadow:inset 0 1px #ffffff1f,0 8px 22px color-mix(in srgb,var(--accent) 10%,transparent)}.brand-icon{width:38px;height:38px;border-radius:13px}input,textarea,select{border-color:color-mix(in srgb,var(--line-strong) 76%,transparent);color:var(--text);background:color-mix(in srgb,var(--bg-3) 74%,transparent);box-shadow:inset 0 1px #ffffff09}:root[data-theme=light] input{background:#ffffffc7;box-shadow:inset 0 1px #ffffffe6}:root[data-theme=light] textarea{background:#ffffffc7;box-shadow:inset 0 1px #ffffffe6}:root[data-theme=light] select{background:#ffffffc7;box-shadow:inset 0 1px #ffffffe6}input:focus{border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent),inset 0 1px #ffffff0f}textarea:focus{border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent),inset 0 1px #ffffff0f}select:focus{border-color:color-mix(in srgb,var(--accent) 58%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent),inset 0 1px #ffffff0f}button:focus-visible{outline-color:color-mix(in srgb,var(--accent) 70%,white 12%)}a:focus-visible{outline-color:color-mix(in srgb,var(--accent) 70%,white 12%)}input:focus-visible{outline-color:color-mix(in srgb,var(--accent) 70%,white 12%)}textarea:focus-visible{outline-color:color-mix(in srgb,var(--accent) 70%,white 12%)}select:focus-visible{outline-color:color-mix(in srgb,var(--accent) 70%,white 12%)}.primary-button{min-height:40px;border-color:color-mix(in srgb,var(--accent) 78%,#ffffff 8%);color:var(--accent-ink);background:linear-gradient(180deg,var(--accent-hover),var(--accent));box-shadow:0 11px 24px color-mix(in srgb,var(--accent) 22%,transparent),inset 0 1px #ffffff47;font-weight:720}.primary-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-hover) 82%,white 12%);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-hover) 90%,white 8%),var(--accent-hover))}.secondary-button,.mini-button,.icon-button{border-color:color-mix(in srgb,var(--line-strong) 72%,transparent);color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 64%,transparent);box-shadow:inset 0 1px #ffffff0b}.status-pill{min-height:28px;border-radius:999px;padding:0 9px;border-color:color-mix(in srgb,var(--line-strong) 65%,transparent);background:color-mix(in srgb,var(--surface-strong) 58%,transparent);font-size:11px}.status-pill.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.empty-state{border-color:color-mix(in srgb,var(--line-strong) 58%,transparent);border-style:solid;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 85%,transparent),color-mix(in srgb,var(--bg-3) 22%,transparent))}.hint-box{border-color:color-mix(in srgb,var(--line-strong) 58%,transparent);border-style:solid;background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}.hint-box.danger{display:grid;gap:7px;color:var(--text);border-color:color-mix(in srgb,#ef4444 42%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,#ef4444 10%,var(--surface-soft)),color-mix(in srgb,var(--surface-soft) 78%,transparent))}.hint-box.danger strong{color:color-mix(in srgb,#fca5a5 74%,var(--text-strong))}.hint-box.danger small{color:var(--muted);line-height:1.55}.hint-box.danger code{display:block;max-height:96px;overflow:auto;padding:8px 9px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:10px;color:var(--faint);background:color-mix(in srgb,var(--bg) 42%,transparent);white-space:pre-wrap;word-break:break-word}.segmented{border-color:color-mix(in srgb,var(--line-strong) 68%,transparent);border-radius:11px;background:color-mix(in srgb,var(--bg) 38%,transparent)}.toast{border-radius:16px;background:color-mix(in srgb,var(--surface-strong) 92%,transparent);box-shadow:var(--shadow)}.empty-state.surface{box-shadow:var(--shadow)}@media (hover: hover) and (pointer: fine){.primary-button:hover:not(:disabled){transform:translateY(-1px)}.secondary-button:hover:not(:disabled){transform:translateY(-1px)}.mini-button:hover:not(:disabled){transform:translateY(-1px)}.icon-button:hover:not(:disabled){transform:translateY(-1px)}}@media (max-width: 560px){.brand-lockup small{display:none}}.notice.error{position:sticky;top:0;z-index:10}.hint-box{border-radius:15px}:root[data-theme=light] .status-pill{color:var(--muted)}:root[data-theme=light] .hint-box{color:var(--muted)}:root[data-theme=light] input{color:var(--text-strong);border-color:color-mix(in srgb,var(--line-strong) 85%,transparent);background:#ffffffe6}:root[data-theme=light] textarea{color:var(--text-strong);border-color:color-mix(in srgb,var(--line-strong) 85%,transparent);background:#ffffffe6}:root[data-theme=light] select{color:var(--text-strong);border-color:color-mix(in srgb,var(--line-strong) 85%,transparent);background:#ffffffe6}:root[data-theme=light] input::placeholder{color:#475569b8}:root[data-theme=light] textarea::placeholder{color:#475569b8}:root[data-theme=light] .hint-box{border-color:color-mix(in srgb,var(--line-strong) 70%,transparent);background:#ffffffc2}:root[data-theme=light] .hint-box.danger{color:var(--text);border-color:color-mix(in srgb,#ef4444 52%,var(--line));background:linear-gradient(180deg,#fef2f2eb,#ffffffc7)}:root[data-theme=light] .hint-box.danger strong{color:#b91c1c}:root[data-theme=light] .hint-box.danger code{color:#334155db;background:#f8fafce6}.hint-box{border-color:color-mix(in srgb,var(--line-strong) 42%,transparent);background:color-mix(in srgb,var(--surface-soft) 46%,transparent)}.primary-button{box-shadow:0 10px 20px color-mix(in srgb,var(--accent) 16%,transparent),inset 0 1px #ffffff38}.primary-button:disabled svg{opacity:.56}.secondary-button:disabled svg{opacity:.56}.mini-button:disabled svg{opacity:.56}.icon-button:disabled svg{opacity:.56}.status-pill.good{color:color-mix(in srgb,var(--good) 82%,var(--muted))}.status-pill{box-shadow:none}.hint-box.compact{padding:8px 10px;font-size:12px}.help-hint:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));outline:none}.help-hint:focus-visible{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));outline:none}.app-shell{position:relative;min-height:100dvh;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}@media (max-width: 980px){.app-shell{overflow:visible;grid-template-rows:minmax(0,1fr)}}.app-shell{grid-template-rows:62px minmax(0,1fr)}.app-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.028),transparent),radial-gradient(circle at 50% 0%,rgba(255,255,255,.05),transparent 42%);mix-blend-mode:screen;opacity:.62}:root[data-theme=light] .app-shell:before{opacity:.34;mix-blend-mode:normal}@media (max-width: 980px){.app-shell{grid-template-rows:auto minmax(0,1fr)}}.app-shell{grid-template-rows:minmax(0,1fr)}@media (max-width: 980px){.app-shell{overflow:visible}}.boot-screen,.login-page{position:relative;min-height:100dvh;display:grid;place-items:center;padding:24px}.boot-card{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-strong);box-shadow:var(--shadow-soft)}.login-copy{margin:14px 0 24px;max-width:34rem;color:var(--muted);line-height:1.7}.login-form,.login-form label{display:grid;gap:10px}.login-form{gap:16px}.login-form label{color:var(--muted);font-size:13px}.form-error{margin:0;color:var(--danger);font-size:13px}.animated-login-page{place-items:stretch;padding:clamp(16px,2.2vw,30px)}.login-experience{position:relative;z-index:1;width:min(1180px,100%);min-height:min(760px,calc(100dvh - 48px));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);overflow:hidden;border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface-strong) 80%,transparent))}.login-art-panel{position:relative;min-height:680px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:clamp(26px,3.2vw,46px);color:#f8fbff;background:radial-gradient(circle at 74% 20%,rgba(255,255,255,.14),transparent 26%),radial-gradient(circle at 18% 82%,rgba(255,183,116,.2),transparent 30%),linear-gradient(145deg,#101826,#172436 56%,#0d111b)}.login-art-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.26;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(180deg,black,transparent 86%);mask-image:linear-gradient(180deg,black,transparent 86%)}.login-art-brand,.login-mobile-brand{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;color:inherit;font-size:14px;font-weight:820}.login-art-brand{width:min(236px,38%);min-height:78px;align-items:center}.login-art-brand img,.login-mobile-brand img{display:block;width:100%;height:auto;object-fit:contain}.login-art-brand img{max-height:82px;object-position:left center;filter:drop-shadow(0 10px 24px rgba(0,0,0,.28))}.login-mobile-brand{width:min(190px,64vw)}.login-character-stage{--look-x: 0;--look-y: 0;--hide-password: 0;--peek-password: 0;position:relative;z-index:1;align-self:end;justify-self:center;width:min(560px,100%);height:440px;margin-bottom:-2px}.login-character{position:absolute;bottom:0;display:block;transform-origin:bottom center;transition:height .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1)}.login-character.purple{left:82px;z-index:1;width:178px;height:calc(382px + (var(--hide-password) * 46px));border-radius:18px 18px 0 0;background:linear-gradient(180deg,#7b5cff,#5636d9);transform:skew(calc((var(--look-x) * -4deg) + (var(--hide-password) * -9deg))) translate(calc(var(--hide-password) * 34px))}.login-character.charcoal{left:242px;z-index:2;width:126px;height:306px;border-radius:16px 16px 0 0;background:linear-gradient(180deg,#323844,#171c25);transform:skew(calc((var(--look-x) * -3deg) + (var(--hide-password) * 7deg))) translate(calc(var(--hide-password) * 16px))}.login-character.orange{left:0;z-index:3;width:238px;height:190px;border-radius:130px 130px 0 0;background:linear-gradient(180deg,#ffb178,#f27f4f);transform:skew(calc(var(--look-x) * -3deg))}.login-character.gold{left:326px;z-index:4;width:146px;height:228px;border-radius:80px 80px 0 0;background:linear-gradient(180deg,#f2df68,#d9b93e);transform:skew(calc(var(--look-x) * -3deg))}.eye,.dot-eye,.mouth{position:absolute;display:block}.eye{top:calc(36px + (var(--look-y) * 7px) + (var(--hide-password) * 12px));width:19px;height:19px;overflow:hidden;border-radius:999px;background:#fff;transition:top .42s ease,left .42s ease,height .16s ease;animation:loginBlink 6.4s infinite}.eye.left{left:calc(46px + (var(--look-x) * 10px))}.eye.right{left:calc(94px + (var(--look-x) * 10px))}.charcoal .eye{top:calc(31px + (var(--look-y) * 6px) + (var(--hide-password) * -12px));width:17px;height:17px;animation-delay:1.2s}.charcoal .eye.left{left:calc(28px + (var(--look-x) * 8px))}.charcoal .eye.right{left:calc(70px + (var(--look-x) * 8px))}.eye b{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:999px;background:#1f2430;transform:translate(calc(-50% + (var(--look-x) * 4px) + (var(--peek-password) * -3px)),calc(-50% + (var(--look-y) * 4px) + (var(--peek-password) * 3px)));transition:transform .12s ease-out}.dot-eye{width:12px;height:12px;border-radius:999px;background:#20242d;transform:translate(calc(var(--look-x) * 7px + (var(--peek-password) * -5px)),calc(var(--look-y) * 6px + (var(--peek-password) * -3px)));transition:transform .14s ease-out}.orange .dot-eye{top:86px}.orange .dot-eye.left{left:84px}.orange .dot-eye.right{left:128px}.gold .dot-eye{top:42px}.gold .dot-eye.left{left:50px}.gold .dot-eye.right{left:88px}.gold .mouth{left:calc(42px + (var(--look-x) * 5px));top:90px;width:66px;height:4px;border-radius:999px;background:#20242d;transform:translateY(calc(var(--look-y) * 3px))}.login-art-copy{position:relative;z-index:2;max-width:600px}.login-art-copy p{margin:0 0 8px;color:#f8fbffa3;font-size:13px;font-weight:760}.login-art-copy strong{display:grid;gap:2px;color:#fff;max-width:9em;font-size:clamp(34px,4.1vw,54px);line-height:1.06;letter-spacing:0;text-wrap:balance}.login-art-copy strong span{display:block}.login-form-panel{position:relative;z-index:1;align-self:center;width:min(440px,calc(100% - 48px));justify-self:center;padding:clamp(24px,3vw,36px) 0}.login-mobile-brand{display:none;margin-bottom:28px;color:var(--text-strong)}.login-form-panel h1{margin:8px 0 0;color:var(--text-strong);font-size:clamp(30px,3vw,44px);line-height:1.04;text-wrap:balance}.login-form-panel .login-copy{margin-bottom:28px}.login-password-field{position:relative;display:block}.login-password-field input{padding-right:46px}.password-visibility-button{position:absolute;right:8px;top:50%;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;color:var(--muted);background:transparent;transform:translateY(-50%);cursor:pointer}.password-visibility-button:hover{color:var(--text-strong);background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}.password-visibility-button:focus-visible{color:var(--text-strong);background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}.login-form-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--faint);font-size:12px}.login-remember{display:inline-flex!important;grid-template-columns:none;align-items:center;gap:8px!important;color:var(--muted)!important;cursor:pointer}.login-remember input{width:16px;min-height:16px;height:16px;padding:0;accent-color:var(--accent)}@keyframes loginBlink{0%,92%,to{height:19px}94%{height:2px}}:root[data-theme=light] .login-experience{background:#ffffffdb}:root[data-theme=light] .login-art-panel{background:radial-gradient(circle at 76% 18%,rgba(255,255,255,.3),transparent 28%),radial-gradient(circle at 18% 82%,rgba(255,172,104,.22),transparent 30%),linear-gradient(145deg,#102033,#1a3350 58%,#0e1624)}@media (max-width: 980px){.login-experience{grid-template-columns:1fr;min-height:auto}.login-art-panel{display:none}.login-form-panel{width:min(440px,calc(100% - 36px));padding:34px 0}.login-mobile-brand{display:inline-flex}}@media (max-width: 560px){.animated-login-page{padding:12px}.login-experience{border-radius:22px}.login-form-panel{width:calc(100% - 28px)}.login-form-row{align-items:flex-start;flex-direction:column}}.animated-login-page{place-items:center}.login-experience{width:min(1120px,calc(100vw - clamp(28px,5vw,80px)));min-height:min(720px,calc(100dvh - clamp(28px,5vw,80px)));max-height:calc(100dvh - clamp(28px,5vw,80px))}.login-art-panel{min-height:0}.login-character-stage{height:clamp(300px,38vh,420px)}.login-form-panel{padding:clamp(22px,3vw,34px) 0}@media (prefers-reduced-motion: reduce){.login-character,.eye,.eye b,.dot-eye,.mouth{animation:none;transition:none}}.project-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line-strong))}.project-item:active{transform:translateY(1px) scale(.985)}.user-chip{display:flex;align-items:center;gap:10px}.user-chip{color:var(--muted);font-size:12px}.user-chip{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-strong) 68%,transparent)}.rail-compact-count{width:42px;min-height:66px;display:grid;place-items:center;gap:4px;padding:8px 0;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 60%,transparent)}.rail-compact-count strong{color:var(--text-strong);line-height:1}.rail-compact-count span{writing-mode:vertical-rl;color:var(--faint);font-size:11px;letter-spacing:.08em}.rail-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.rail-head-actions{display:flex;align-items:center;gap:8px}.project-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:8px;padding-right:2px}.project-list::-webkit-scrollbar{width:8px;height:8px}.project-list::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent)}.project-item,.empty-project{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;color:var(--text);background:color-mix(in srgb,var(--surface-strong) 58%,transparent);text-align:left;transition:transform .14s var(--ease-enter),border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.project-item.active{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,transparent),color-mix(in srgb,var(--surface-strong) 78%,transparent));box-shadow:inset 3px 0 0 var(--accent)}.project-item strong{display:block;overflow:hidden;color:var(--text-strong);font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.project-item span{display:block;margin-top:6px;overflow:hidden;color:var(--faint);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.empty-project{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.rail-assets{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-strong) 34%,transparent)}.rail-assets-empty{padding:10px;border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--faint);font-size:12px;text-align:center}.rail-assets-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.rail-asset{position:relative;display:grid;place-items:center;overflow:hidden;aspect-ratio:1;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:color-mix(in srgb,var(--bg) 34%,transparent)}.rail-asset-delete{position:absolute;right:4px;top:4px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);border-radius:7px;color:#fff;background:#02060cad;opacity:0;transition:opacity .16s ease}.rail-asset:hover .rail-asset-delete{opacity:1}.rail-asset-delete:focus-visible{opacity:1}.project-item strong{overflow-wrap:anywhere}@media (max-width: 980px){.rail-compact-count{width:auto;min-height:42px;padding:0 10px}.rail-compact-count span{writing-mode:horizontal-tb}}.user-chip{border-color:color-mix(in srgb,var(--line-strong) 72%,transparent);color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 64%,transparent);box-shadow:inset 0 1px #ffffff0b}.rail-head{min-height:44px}.project-list{gap:6px;padding-right:0}.project-item,.empty-project{border-color:transparent;border-radius:12px;background:transparent;box-shadow:none}.project-item:hover,.empty-project:hover{background:color-mix(in srgb,var(--surface-soft) 92%,var(--accent-soft))}.project-item.active{border-color:color-mix(in srgb,var(--accent) 24%,transparent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-soft));box-shadow:inset 3px 0 0 var(--accent)}.rail-compact-count{width:38px;min-height:64px;border-color:color-mix(in srgb,var(--line-strong) 66%,transparent);background:color-mix(in srgb,var(--surface-strong) 58%,transparent)}@media (hover: hover) and (pointer: fine){.project-item:hover{transform:translateY(-1px)}}.rail-head{min-height:36px;padding:0 2px}.project-list{gap:4px;padding-right:2px}.project-item,.empty-project{padding:10px 10px 10px 12px;border-radius:10px}.project-item.active{box-shadow:inset 2px 0 0 var(--accent)}:root[data-theme=light] .rail-assets-empty{color:var(--muted)}.rail-head{padding-top:2px}.project-item.active{border-color:color-mix(in srgb,var(--accent) 34%,transparent)}.rail-assets{padding-block:11px}.rail-assets{border-width:0 0 1px;border-radius:0;background:transparent}.rail-head{border-top:1px solid color-mix(in srgb,var(--line-strong) 44%,transparent)}.project-list .project-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 34px 34px;align-items:center;gap:8px;padding:6px 6px 6px 10px}.project-rename-button{position:relative;z-index:2;width:32px;height:32px;min-height:32px;justify-self:end;opacity:0;transform:translate(2px);transition:opacity .16s ease,transform .16s var(--ease-enter),border-color .16s ease,background-color .16s ease}.project-delete-button{position:relative;z-index:2;width:32px;height:32px;min-height:32px;justify-self:end;color:var(--muted);opacity:0;transform:translate(2px);transition:opacity .16s ease,transform .16s var(--ease-enter),border-color .16s ease,background-color .16s ease,color .16s ease}.project-item:hover .project-rename-button{opacity:1;transform:translate(0)}.project-item:focus-within .project-rename-button{opacity:1;transform:translate(0)}.project-item.active .project-rename-button,.project-item:hover .project-delete-button{opacity:1;transform:translate(0)}.project-item:focus-within .project-delete-button{opacity:1;transform:translate(0)}.project-item.active .project-delete-button{opacity:1;transform:translate(0)}.rail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.rail-head-actions{display:inline-flex;align-items:center;gap:7px}.rail-head-actions .icon-button{width:38px;height:38px;min-height:38px}.rail-assets-grid::-webkit-scrollbar{height:7px}.rail-assets-grid::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent)}.rail-asset-delete{opacity:1}.rail-action-list{display:grid;gap:6px;padding:4px 0 8px;border-bottom:1px solid color-mix(in srgb,var(--line-strong) 34%,transparent)}.rail-action-list.compact{justify-items:center;gap:8px;padding:0;border-bottom:0}.rail-action-button:hover:not(:disabled){color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 26%,var(--line-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent),color-mix(in srgb,var(--surface-soft) 58%,transparent)}.rail-action-button.active{color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 26%,var(--line-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent),color-mix(in srgb,var(--surface-soft) 58%,transparent)}.rail-action-button:hover:not(:disabled){transform:translateY(-1px)}.rail-action-button:active:not(:disabled){transform:translateY(0) scale(.99)}.rail-action-button:disabled{opacity:.45;cursor:not-allowed}.rail-action-button.collapsed{width:42px;height:42px;min-height:42px;grid-template-columns:1fr;place-items:center;padding:0}.rail-action-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:inherit;background:color-mix(in srgb,var(--surface-soft) 64%,transparent)}.rail-action-button.active .rail-action-icon{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.rail-compact-brand{width:42px;height:42px;min-height:42px}.rail-compact-brand{display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--line-strong) 42%,transparent);border-radius:14px;color:var(--text-strong);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 78%,transparent),color-mix(in srgb,var(--surface-solid) 60%,transparent));cursor:pointer}.rail-compact-count{width:42px;min-height:58px;border-radius:13px}:root[data-theme=light] .rail-action-button:hover:not(:disabled){background:linear-gradient(180deg,#007aff14,#fff0),#ffffffc7;border-color:#007aff47}:root[data-theme=light] .rail-action-button.active{background:linear-gradient(180deg,#007aff14,#fff0),#ffffffc7;border-color:#007aff47}:root[data-theme=light] .rail-action-icon{background:#ffffffb8}@media (max-width: 980px){.rail-action-list{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.rail-action-list.compact{display:flex;overflow-x:auto}}.rail-empty-copy{min-height:38px;display:grid;place-items:center;border:1px dashed color-mix(in srgb,var(--line-strong) 48%,transparent);border-radius:12px;color:var(--faint);font-size:12px}.rail-section-toggle>svg{justify-self:center;color:var(--muted);transform:rotate(0);transition:transform .18s ease,color .18s ease}.rail-section-toggle span:has(>strong:only-child){align-items:center}:root[data-theme=light] .rail-empty-copy{border-color:#94a3b857}.rail-assets-open{width:100%;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.rail-asset:hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);outline:none}.rail-asset:focus-visible{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);outline:none}.rail-asset:active{transform:scale(.985)}.rail-asset-delete{cursor:pointer}.rail-asset:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 72%,white 12%);outline-offset:2px}.typing-dots{display:inline-flex;gap:4px;margin-left:6px;vertical-align:baseline}.typing-dots i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:typing-dot 1.2s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}@keyframes typing-dot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.option-chip:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line-strong))}.message-list::-webkit-scrollbar{width:8px;height:8px}.message-list::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent)}.assistant-options{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.option-chip{flex:none;min-height:32px;border:1px solid var(--line);border-radius:999px;padding:0 11px;color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 62%,transparent);font-size:12px;white-space:nowrap;transition:transform .14s var(--ease-enter),border-color .18s ease,background-color .18s ease,color .18s ease}.message-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:10px;padding-right:2px}.message-empty{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;padding:18px;border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);text-align:center;background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.message{min-width:0;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;background:color-mix(in srgb,var(--surface-strong) 58%,transparent)}.message.user{margin-left:8%;background:color-mix(in srgb,var(--accent) 10%,var(--surface-strong));border-color:color-mix(in srgb,var(--accent) 24%,var(--line))}.message.assistant{margin-right:4%}.message-role{color:var(--accent);font-size:11px;font-weight:760}.message p{margin:8px 0;color:var(--text);line-height:1.65;white-space:pre-wrap}.message small{color:var(--faint);font-size:10px}.composer{display:grid;gap:10px}.composer textarea{min-height:116px}.reference-strip{display:flex;gap:8px;overflow-x:auto;min-height:74px}.reference-manager{display:grid;gap:9px;padding:10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface-soft) 66%,transparent)}.reference-manager-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.reference-manager-head>span:first-child{display:grid;gap:2px}.reference-manager-head strong{color:var(--text-strong);font-size:12px}.reference-manager-head small{color:var(--muted);font-size:10px}.reference-manager-head>span:last-child{color:var(--muted);font-size:10px}.reference-upload-tile{width:88px;min-height:72px;flex:none;display:grid;place-content:center;justify-items:center;gap:5px;padding:7px;border:1px dashed color-mix(in srgb,var(--accent) 46%,var(--line));border-radius:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);font-size:10px;font-weight:700;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.reference-upload-tile:hover{border-color:color-mix(in srgb,var(--accent) 74%,var(--line));background:color-mix(in srgb,var(--accent) 12%,transparent)}.reference-upload-tile:active{transform:translateY(1px)}.reference-thumb{position:relative;width:72px;height:72px;flex:none;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 44%,transparent)}.reference-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border:1px solid rgba(255,255,255,.24);border-radius:8px;color:#fff;background:#030712b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:inline-flex;align-items:center;justify-content:center}.reference-thumb img,.selected-image img{width:100%;height:100%;display:block;object-fit:cover}.selected-image{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;color:var(--muted)}.selected-image span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-asset-strip,.message-attachments{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.chat-asset-chip,.message-attachment{min-height:34px;display:inline-flex;align-items:center;gap:7px;flex:none;padding:4px 7px;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 56%,transparent);text-decoration:none}.chat-asset-chip img,.message-attachment img{width:26px;height:26px;border-radius:7px;object-fit:cover}.chat-asset-chip button{border:0;padding:0;color:inherit;background:transparent}.chat-asset-chip .chip-remove{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:7px}.mention-menu{display:grid;gap:6px;max-height:220px;overflow:auto;padding:8px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-strong) 92%,var(--bg) 8%);box-shadow:var(--shadow-soft)}.mention-menu button{display:grid;grid-template-columns:30px 54px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;border:1px solid transparent;border-radius:10px;padding:4px 6px;color:var(--muted);background:transparent;text-align:left}.mention-menu button:hover{color:var(--text);border-color:var(--line);background:var(--surface-soft)}.mention-menu img{width:30px;height:30px;border-radius:8px;object-fit:cover}.mention-menu span,.mention-empty{min-width:0;overflow:hidden;color:var(--faint);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.mention-empty{padding:8px}.message-attachments{margin-top:8px}.message-attachment span{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.assistant-options{gap:6px;padding-bottom:4px}.option-chip{min-height:30px;border-radius:10px;border-color:transparent;color:var(--muted);background:color-mix(in srgb,var(--surface-soft) 96%,transparent)}.option-chip:hover{color:var(--text-strong);background:color-mix(in srgb,var(--accent) 10%,var(--surface-soft))}.message-list{gap:12px;padding-right:4px}.message{border:0;border-radius:16px;padding:12px 13px;background:color-mix(in srgb,var(--surface-soft) 86%,transparent)}.message.assistant{margin-right:0;border-left:2px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:0 14px 14px 0;background:transparent}.message.user{margin-left:12%;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);background:color-mix(in srgb,var(--accent) 13%,var(--surface-soft))}.message-role{color:var(--accent);font-weight:720}.composer{padding:10px;border:1px solid color-mix(in srgb,var(--line-strong) 68%,transparent);border-radius:18px;background:color-mix(in srgb,var(--bg) 30%,var(--surface-soft));box-shadow:inset 0 1px #ffffff09}.composer textarea:focus{border-color:transparent;box-shadow:none}.message-empty{border-color:color-mix(in srgb,var(--line-strong) 58%,transparent);border-style:solid;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 85%,transparent),color-mix(in srgb,var(--bg-3) 22%,transparent))}.reference-strip{min-height:66px}.reference-thumb{width:64px;height:64px;border-color:color-mix(in srgb,var(--line-strong) 62%,transparent);border-radius:14px}.reference-remove{color:#fff;border-color:#ffffff38;background:#080c12c7;box-shadow:0 8px 18px #0000003d;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)}.selected-image{grid-template-columns:58px minmax(0,1fr)}@media (hover: hover) and (pointer: fine){.option-chip:hover{transform:translateY(-1px)}}@media (max-width: 980px){.composer{border-radius:16px}.message.user{margin-left:0}}.message-list{min-height:0}.message-empty{min-height:100%}.message-empty{border-radius:15px}:root[data-theme=light] .message{border-color:color-mix(in srgb,var(--line-strong) 70%,transparent);background:#ffffffc2}:root[data-theme=light] .selected-image{border-color:color-mix(in srgb,var(--line-strong) 70%,transparent);background:#ffffffc2}.assistant-options{gap:5px}.option-chip{min-height:28px;border-radius:8px;background:color-mix(in srgb,var(--surface-soft) 56%,transparent)}.message-empty{border-color:color-mix(in srgb,var(--line-strong) 42%,transparent);background:color-mix(in srgb,var(--surface-soft) 46%,transparent)}.assistant-options,.reference-strip{scrollbar-width:none}.assistant-options::-webkit-scrollbar{display:none}.reference-strip::-webkit-scrollbar{display:none}.message-empty{color:color-mix(in srgb,var(--muted) 80%,transparent)}.message-markdown{min-width:0;margin-top:8px;color:var(--text);font-size:14px;line-height:1.65;overflow-wrap:anywhere}.message-markdown>:first-child{margin-top:0}.message-markdown>:last-child{margin-bottom:0}.message-markdown p{margin:0 0 9px;color:var(--text);line-height:1.65;white-space:normal}.message-markdown h1,.message-markdown h2,.message-markdown h3,.message-markdown h4{margin:15px 0 8px;color:var(--text-strong);font-weight:790;letter-spacing:0;line-height:1.28;text-wrap:balance}.message-markdown h1{font-size:18px}.message-markdown h2{font-size:16px}.message-markdown h3{font-size:14.5px}.message-markdown h4{font-size:13.5px}.message-markdown em{color:color-mix(in srgb,var(--text) 88%,var(--accent))}.message-markdown ul,.message-markdown ol{display:grid;gap:4px;margin:8px 0 11px;padding-left:19px}.message-markdown li{padding-left:2px}.message-markdown li::marker{color:color-mix(in srgb,var(--accent) 74%,var(--muted))}.message-markdown hr{height:1px;margin:15px 0;border:0;background:color-mix(in srgb,var(--line-strong) 70%,transparent)}.message-markdown blockquote{margin:10px 0;padding:7px 0 7px 12px;color:var(--muted);border-left:2px solid color-mix(in srgb,var(--accent) 52%,transparent)}.message-markdown code{border:1px solid color-mix(in srgb,var(--line-strong) 58%,transparent);border-radius:7px;padding:1px 5px;color:var(--text-strong);background:color-mix(in srgb,var(--bg) 44%,transparent);font-family:SF Mono,Consolas,JetBrains Mono,monospace;font-size:.92em}.message-markdown pre{margin:10px 0;overflow:auto;border:1px solid color-mix(in srgb,var(--line-strong) 64%,transparent);border-radius:12px;padding:11px 12px;background:color-mix(in srgb,var(--bg) 54%,transparent)}.message-markdown pre code{border:0;padding:0;background:transparent}.markdown-table-wrap{max-width:100%;margin:10px 0 12px;overflow-x:auto;border:1px solid color-mix(in srgb,var(--line-strong) 62%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-solid) 92%,var(--bg) 8%)}:root[data-theme=light] .markdown-table-wrap{background:#fff}.message-markdown table{width:100%;min-width:100%;border-collapse:collapse;font-size:12.5px;line-height:1.45}.message-markdown th,.message-markdown td{padding:8px 10px;border-right:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 76%,transparent);text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere}.message-markdown th:last-child{border-right:0}.message-markdown td:last-child{border-right:0}.message-markdown tr:last-child td{border-bottom:0}.message-markdown th{color:var(--text-strong);font-weight:760;background:color-mix(in srgb,var(--bg-3) 44%,transparent)}.message-markdown .pipe-table-wrap td{color:var(--text)}.message-markdown a{color:var(--accent);text-decoration:none}.message-markdown a:hover{text-decoration:underline;text-underline-offset:3px}.script-progress{display:grid;gap:7px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent) 7%,var(--surface-soft))}.script-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.script-progress-track{overflow:hidden;height:6px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface-strong))}.script-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-hover));transition:width .78s var(--ease-enter)}.message.streaming{border-left-color:var(--accent)}.message.streaming small:before{content:"正在输出 · ";color:var(--accent)}.composer-status{display:block;color:var(--accent);font-size:11px;text-align:right}.reference-preview-button{display:block;width:100%;height:100%;padding:0;border:0;border-radius:inherit;background:transparent}.composer-tool:hover:not(:disabled){color:var(--text-strong);border-color:color-mix(in srgb,var(--line-strong) 64%,transparent);background:color-mix(in srgb,var(--surface-solid) 96%,var(--accent) 4%)}.composer-tool:focus-visible{color:var(--text-strong);border-color:color-mix(in srgb,var(--line-strong) 64%,transparent);background:color-mix(in srgb,var(--surface-solid) 96%,var(--accent) 4%)}.composer-tool:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:2px}.composer-tool:active:not(:disabled){transform:scale(.96)}.composer-tool.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent-soft) 86%,var(--surface-solid) 14%)}.composer-tool.active:hover:not(:disabled){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent-soft) 86%,var(--surface-solid) 14%)}:root[data-theme=light] .composer-tool.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent-soft) 86%,var(--surface-solid) 14%)}:root[data-theme=light] .composer-tool.active:hover:not(:disabled){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent-soft) 86%,var(--surface-solid) 14%)}.composer-tool.composer-send:not(:disabled){color:#fff;border-color:color-mix(in srgb,var(--accent) 82%,transparent);background:var(--accent);box-shadow:0 7px 16px color-mix(in srgb,var(--accent) 20%,transparent)}.composer-tool:disabled{cursor:not-allowed;opacity:.42}.composer-tool[data-tooltip]:after{position:absolute;z-index:40;bottom:calc(100% + 10px);left:50%;width:max-content;max-width:min(190px,calc(100vw - 32px));padding:8px 10px;border-radius:9px;color:#fff;background:#181b20f5;box-shadow:0 10px 24px #0f172a2e;content:attr(data-tooltip);font-size:11px;font-weight:620;line-height:1.45;text-align:left;white-space:normal;pointer-events:none;opacity:0;transform:translate(-50%) translateY(4px);transition:opacity .14s ease,transform .14s ease}.composer-tool[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.composer-tool[data-tooltip]:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.composer-tool-group:first-child .composer-tool:nth-child(-n+2):after{left:0;transform:translateY(4px)}.composer-tool-group:first-child .composer-tool:nth-child(-n+2):hover:after{transform:translateY(0)}.composer-tool-group:first-child .composer-tool:nth-child(-n+2):focus-visible:after{transform:translateY(0)}.composer-primary-tools .composer-tool:after{right:0;left:auto;transform:translateY(4px)}.composer-primary-tools .composer-tool:hover:after{transform:translateY(0)}.composer-primary-tools .composer-tool:focus-visible:after{transform:translateY(0)}@media (max-width: 760px){.composer-toolbar{flex-wrap:wrap}}.scene-empty{min-height:260px;display:grid;place-items:center;align-content:center;gap:10px;padding:18px;border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);text-align:center;background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.scene-brief{display:grid;gap:10px}.scene-field{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-strong) 48%,transparent)}.scene-field span{color:var(--faint);font-size:12px}.scene-field p{margin:0;line-height:1.68;text-wrap:pretty}.risk-note{display:flex;align-items:flex-start;gap:8px;border-radius:var(--radius-sm);padding:12px;line-height:1.5}.risk-note{color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 24%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.scene-field.editable{display:grid;gap:6px}.scene-field.editable input,.scene-field.editable textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 10px;color:var(--text);background:color-mix(in srgb,var(--bg) 28%,transparent)}.scene-field.editable textarea{min-height:68px;resize:vertical}.scene-empty{border-color:color-mix(in srgb,var(--line-strong) 58%,transparent);border-style:solid;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 85%,transparent),color-mix(in srgb,var(--bg-3) 22%,transparent))}.scene-field{gap:7px;padding:13px 2px;border-width:1px 0 0;border-radius:0;background:transparent}.scene-field span{color:var(--faint);font-weight:650}.scene-field p{color:var(--text)}.scene-brief{min-height:0}.scene-empty{min-height:100%}.scene-field{padding:11px 0}.scene-empty{border-radius:15px}.scene-brief{min-height:0;overflow-y:auto;padding-right:2px}.scene-field.editable textarea.auto-textarea{resize:none;overflow-y:hidden;line-height:1.55;transition:height .16s ease,border-color .16s ease,background .16s ease}.scene-field.editable textarea.auto-textarea::-webkit-scrollbar{width:7px}.scene-field.editable textarea.auto-textarea::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent)}:root[data-theme=light] .scene-field span{color:var(--muted)}:root[data-theme=light] .scene-field.editable input{color:var(--text-strong);border-color:color-mix(in srgb,var(--line-strong) 85%,transparent);background:#ffffffe6}:root[data-theme=light] .scene-field.editable textarea{color:var(--text-strong);border-color:color-mix(in srgb,var(--line-strong) 85%,transparent);background:#ffffffe6}.scene-empty{border-color:color-mix(in srgb,var(--line-strong) 42%,transparent);background:color-mix(in srgb,var(--surface-soft) 46%,transparent)}.scene-empty{color:color-mix(in srgb,var(--muted) 80%,transparent)}.scene-brief{gap:12px;padding-top:2px}.scene-field:first-of-type{border-top:0}.scene-asset-summary-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.scene-asset-summary-head>div{min-width:0;display:grid;gap:2px}.scene-asset-pill:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 36%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--surface-soft))}:root[data-theme=light] .scene-asset-summary{background:#fff}:root[data-theme=light] .scene-filter-select{background:#fff}@media (max-width: 560px){.scene-asset-summary-head{grid-template-columns:1fr;align-items:start}}.scene-create-modal{width:min(420px,calc(100vw - 32px));display:grid;gap:16px;padding:18px}.scene-create-field{display:grid;gap:7px}.scene-create-field input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text-strong);background:var(--surface-solid)}.scene-brief-trigger{width:100%;min-height:44px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:0 12px;border:0;color:var(--text-strong);background:transparent;text-align:left}.scene-brief-trigger>svg:first-child{color:var(--accent)}.scene-brief-trigger span i{color:var(--warn);font-size:10px;font-style:normal;font-weight:650}.scene-brief-trigger:hover{color:var(--text-strong);background:color-mix(in srgb,var(--accent) 7%,transparent)}.scene-brief-trigger:focus-visible{color:var(--text-strong);background:color-mix(in srgb,var(--accent) 7%,transparent)}.scene-brief-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:-2px}.scene-brief-caret{color:var(--faint);transition:transform .18s ease,color .18s ease}.scene-brief.open .scene-brief-caret{color:var(--accent);transform:rotate(90deg)}.scene-brief-body{min-height:0;display:grid;gap:10px;overflow-y:auto;overscroll-behavior:contain;padding:4px 12px 12px;border-top:1px solid color-mix(in srgb,var(--line-strong) 44%,transparent)}@media (prefers-reduced-motion: reduce){.scene-brief-caret{transition:none}}.prompt-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.prompt-editor{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-strong) 44%,transparent)}.prompt-editor textarea{min-height:96px}.template-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.template-editor-heading p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.template-editor-heading{align-items:center;padding-top:2px}.template-editor-heading .primary-button{flex:0 0 auto}.prompt-actions{display:flex;align-items:center;gap:8px}.prompt-edit-label{display:grid;gap:6px}.prompt-edit-label span{color:var(--faint);font-size:12px;font-weight:700}.prompt-head{gap:10px}.prompt-actions{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 860px){.prompt-actions{justify-content:flex-start}}.prompt-editor{border-color:color-mix(in srgb,var(--line-strong) 66%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface-soft) 82%,transparent)}.prompt-editor{border-radius:15px}:root[data-theme=light] .prompt-editor{border-color:color-mix(in srgb,var(--line-strong) 70%,transparent);background:#ffffffc2}.prompt-editor{border-color:color-mix(in srgb,var(--line-strong) 42%,transparent);background:color-mix(in srgb,var(--surface-soft) 46%,transparent)}.prompt-editor{align-content:start;overflow:visible;padding:13px;position:relative;z-index:2;background:color-mix(in srgb,var(--surface-solid) 96%,var(--bg) 4%);box-shadow:0 0 0 1px color-mix(in srgb,var(--line-strong) 58%,transparent)}.prompt-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:32px;margin:0 0 10px;position:relative;z-index:1}.prompt-head>div:first-child{min-width:0;display:grid;gap:3px}.prompt-head .mini-button{max-width:150px;overflow:hidden;text-overflow:ellipsis}.prompt-editor .prompt-textarea{display:block;width:100%;min-height:136px;max-height:260px;margin:0;padding:13px 14px;overflow:auto;color:var(--text);background:color-mix(in srgb,var(--surface-solid) 98%,var(--bg) 2%);border:1px solid color-mix(in srgb,var(--line-strong) 58%,transparent);border-radius:13px;box-shadow:inset 0 1px #ffffff09;font-size:14px;line-height:1.6;resize:vertical;position:relative;z-index:0}:root[data-theme=light] .prompt-editor .prompt-textarea{background:#fff}:root[data-theme=light] .prompt-editor{background:#fff}.prompt-editor .prompt-textarea:focus{border-color:color-mix(in srgb,var(--accent) 48%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 11%,transparent)}@media (max-width: 560px){.prompt-head{grid-template-columns:1fr;align-items:start}.prompt-head .mini-button{max-width:100%;justify-self:start}.prompt-editor .prompt-textarea{min-height:128px;font-size:14px}}.template-editor-heading p{overflow-wrap:anywhere}.prompt-enhancement-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--line-strong) 48%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-solid) 88%,transparent)}.prompt-enhancement-row>div{display:inline-flex;align-items:center;gap:6px}.prompt-enhancement-row strong{color:var(--text);font-size:12px}.switch-control>span{width:13px;height:13px;border-radius:50%;background:var(--faint);transition:background-color .2s ease,transform .18s var(--ease-enter)}.switch-control{transition:background-color .2s ease,border-color .2s ease,color .2s ease;cursor:pointer}.switch-control:active:not(:disabled)>span{transform:scale(.82)}.switch-control.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 44%,var(--line));background:color-mix(in srgb,var(--accent-soft) 70%,transparent)}.switch-control.active>span{background:var(--accent)}@media (max-width: 760px){.prompt-enhancement-row{align-items:flex-start}}.prompt-history{max-height:260px;overflow:auto;display:grid;gap:7px;padding:8px;border-top:1px solid var(--line)}.prompt-history-empty{padding:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.prompt-history-item{display:grid;gap:6px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface-soft)}.prompt-history-item.current{border-color:color-mix(in srgb,var(--good) 52%,var(--line))}.prompt-history-meta,.prompt-history-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.switch-control.active:hover:not(:disabled){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent-soft) 88%,var(--surface-solid) 12%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}:root[data-theme=light] .switch-control.active:hover:not(:disabled){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:color-mix(in srgb,var(--accent-soft) 88%,var(--surface-solid) 12%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}.video-status{display:flex;align-items:center;justify-content:space-between;gap:12px}.image-card img{width:100%;height:100%;display:block;object-fit:cover}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.image-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--bg) 42%,transparent);aspect-ratio:1;transition:transform .18s var(--ease-enter),border-color .18s ease,box-shadow .18s ease}.image-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.image-card.selected{border-color:color-mix(in srgb,var(--accent) 64%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.image-card-actions{position:absolute;left:8px;right:8px;bottom:8px;display:flex;justify-content:space-between;gap:8px}.image-card-actions .mini-button,.image-card-actions .icon-button{background:#070a10b8;border-color:#ffffff2e;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.video-result{display:grid;gap:10px}.video-result video{width:100%;max-height:260px;border:1px solid var(--line);border-radius:var(--radius-md);background:#000}.video-actions{display:flex;align-items:center;gap:8px}.image-card-actions{flex-wrap:wrap}.image-card-actions .mini-button{min-height:30px}.video-actions{flex-wrap:wrap;justify-content:flex-end}.video-actions .secondary-button{min-height:34px;text-decoration:none}.progress-head-actions{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.progress-cancel{min-height:26px;padding:0 8px;font-size:11px}:root[data-theme=light] .image-card-actions .mini-button{color:var(--text-strong);border-color:#0f172a24;background:#ffffffd1}:root[data-theme=light] .image-card-actions .icon-button{color:var(--text-strong);border-color:#0f172a24;background:#ffffffd1}@media (max-width: 980px){.candidate-grid{grid-template-columns:1fr}}.candidate-grid{gap:9px}.image-card{border-color:color-mix(in srgb,var(--line-strong) 66%,transparent);border-radius:18px;box-shadow:0 14px 34px #0000002e}:root[data-theme=light] .image-card{box-shadow:0 12px 28px #222a3714}.image-card.selected{border-color:color-mix(in srgb,var(--accent) 70%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent),0 16px 36px color-mix(in srgb,var(--accent) 12%,transparent)}.image-card-actions{bottom:9px}.image-card-actions .mini-button,.image-card-actions .icon-button{color:#fff;border-color:#ffffff38;background:#080c12c7;box-shadow:0 8px 18px #0000003d;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)}.select-image-button.is-selected{color:#fff;border-color:color-mix(in srgb,var(--good) 72%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--good) 76%,white 10%),color-mix(in srgb,var(--good) 76%,#064e3b 18%));box-shadow:0 10px 24px color-mix(in srgb,var(--good) 22%,transparent),inset 0 1px #ffffff59;font-weight:760}.select-image-button.is-selected svg{flex:0 0 auto;color:#fff;fill:none;stroke-width:2.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}.image-card-actions .select-image-button.is-selected{color:#06351f;border-color:#22c55e94;background:linear-gradient(180deg,#ecfdf5fa,#bbf7d0f0);box-shadow:0 10px 24px #15803d42,inset 0 1px #ffffffad}.image-card-actions .select-image-button.is-selected svg{color:#047857;fill:none;stroke-width:2.8;filter:none}.video-result video{max-height:230px;border-color:color-mix(in srgb,var(--line-strong) 70%,transparent);border-radius:18px}@media (hover: hover) and (pointer: fine){.image-card:hover{transform:translateY(-2px)}}.video-result{min-height:0}:root[data-theme=light] .select-image-button.is-selected{color:#fff;border-color:color-mix(in srgb,var(--good) 74%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--good) 88%,white 8%),color-mix(in srgb,var(--good) 82%,#064e3b 10%));box-shadow:0 10px 22px color-mix(in srgb,var(--good) 18%,transparent),inset 0 1px #ffffff6b}:root[data-theme=light] .select-image-button.is-selected svg{color:#fff;fill:none;stroke-width:2.5}:root[data-theme=light] .image-card-actions .select-image-button.is-selected{color:#06351f;border-color:#22c55e94;background:linear-gradient(180deg,#ecfdf5fa,#bbf7d0f0)}:root[data-theme=light] .image-card-actions .select-image-button.is-selected svg{color:#047857;fill:none;stroke-width:2.8}.candidate-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));align-items:start}.image-card{min-width:0;contain:layout paint}.image-version-badge{position:absolute;top:9px;left:9px;z-index:2;min-height:24px;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:0 8px;color:#fff;background:#080c12b8;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);font-size:11px;font-weight:760}.image-card-actions{flex-wrap:wrap;align-items:flex-end}.image-card-actions .mini-button{min-width:0;flex:1 1 108px;justify-content:center}.generation-progress{display:grid;gap:7px;margin-top:10px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent),color-mix(in srgb,var(--surface-soft) 76%,transparent)}.generation-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-strong);font-size:12px;font-weight:780}.generation-progress-track{height:7px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--text) 9%,transparent)}.generation-progress-track span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 82%,#ffffff),var(--accent));transition:width .42s cubic-bezier(.25,1,.5,1)}.video-result{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--line-strong) 62%,transparent);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 88%,transparent),color-mix(in srgb,var(--bg-3) 18%,transparent))}.video-result video{width:100%;height:auto;max-height:none;aspect-ratio:16 / 9;display:block;object-fit:contain;border-radius:14px}.video-actions{flex-wrap:wrap}.video-result{overflow:hidden;grid-template-rows:auto auto auto;padding:14px;scroll-margin-top:58px}.video-status{width:100%;min-width:0;min-height:32px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 1px;margin:0}.video-status .status-pill{justify-self:start;max-width:100%;min-height:28px;overflow:hidden;text-overflow:ellipsis}.video-status>span:not(.status-pill){justify-self:end;min-width:42px;min-height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--line-strong) 58%,transparent);border-radius:999px;padding:0 10px;color:var(--muted);background:color-mix(in srgb,var(--surface-solid) 72%,transparent);font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.video-result video{min-width:0;overflow:hidden;box-sizing:border-box;margin:0}:root[data-theme=light] .video-status>span:not(.status-pill){color:#374151;background:#fff}:root[data-theme=light] .video-result{background:#fff}.dot-formation{display:flex;gap:9px;justify-content:center;padding:4px 0 2px}.dot-formation i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.35;animation:dot-form 1.6s var(--ease-move) infinite}.dot-formation i:nth-child(1){animation-delay:0s}.dot-formation i:nth-child(2){animation-delay:.1s}.dot-formation i:nth-child(3){animation-delay:.2s}.dot-formation i:nth-child(4){animation-delay:.3s}.dot-formation i:nth-child(5){animation-delay:.4s}.dot-formation i:nth-child(6){animation-delay:.5s}.dot-formation i:nth-child(7){animation-delay:.6s}.dot-formation i:nth-child(8){animation-delay:.7s}.dot-formation i:nth-child(9){animation-delay:.8s}@keyframes dot-form{0%,to{transform:translateY(5px) scale(.8);opacity:.3}50%{transform:translateY(-5px) scale(1.15);opacity:1}}@media (max-width: 560px){.candidate-grid{grid-template-columns:1fr}}:root[data-theme=light] .generation-progress{border-color:#007aff3d;background:linear-gradient(180deg,#007aff0e,#fff0),#ffffffdb}:root[data-theme=light] .generation-progress-track{background:#0f172a14}.video-model-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.video-model-strip button:hover:not(:disabled){transform:translateY(-1px);color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 38%,var(--line-strong))}.video-model-strip button:disabled{opacity:.45;cursor:not-allowed}:root[data-theme=light] .video-model-strip button{color:#475569;background:#ffffffe6;border-color:#94a3b85c}:root[data-theme=light] .video-model-strip button.active{color:#0f172a;background:linear-gradient(180deg,#007aff14,#fff0),#fff;border-color:#007aff59;box-shadow:0 14px 30px #0f172a14}@media (prefers-reduced-motion: reduce){.generation-progress-track span{transition:none}}.candidate-run-list{display:grid;gap:12px}.candidate-run{min-width:0;display:grid;gap:7px}.candidate-run-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}.candidate-run-list{width:100%;max-width:1600px;margin-inline:auto}.candidate-run{container-type:inline-size}.candidate-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));justify-content:stretch;align-items:start}.candidate-grid .image-card{width:100%;max-width:520px;display:grid;grid-template-rows:auto auto;aspect-ratio:auto;justify-self:center}.candidate-grid .image-preview-trigger{aspect-ratio:var(--candidate-aspect-ratio, 1 / 1);background:color-mix(in srgb,var(--bg) 72%,black 12%)}.candidate-grid .image-preview-trigger img{width:100%;height:100%;object-fit:contain}.candidate-grid .image-card-actions{position:static;min-height:48px;padding:8px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-soft) 86%,transparent)}@container (min-width: 860px) and (max-width: 1199px){.candidate-grid:has(>.image-card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,520px));justify-content:center}}@container (min-width: 1200px){.candidate-grid{grid-template-columns:repeat(3,minmax(0,520px));justify-content:center}.candidate-grid:has(>.image-card:only-child){grid-template-columns:minmax(0,520px)}.candidate-grid:has(>.image-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,520px))}.candidate-grid:has(>.image-card:nth-child(4):last-child)>.image-card:last-child{grid-column:2}}@container (min-width: 1600px){.candidate-grid:has(>.image-card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,460px));justify-content:center}.candidate-grid:has(>.image-card:nth-child(4):last-child)>.image-card:last-child{grid-column:auto}}.video-result{width:min(100%,1120px);max-width:1120px}.video-result video{display:block;width:min(100%,760px);max-width:100%;max-height:520px;object-fit:contain}.background-library-summary{display:inline-flex;align-items:baseline;gap:5px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--good) 34%,var(--line));border-radius:999px;color:color-mix(in srgb,var(--good) 78%,var(--text));background:color-mix(in srgb,var(--good) 8%,var(--surface-soft));white-space:nowrap}.background-upload-panel{display:grid;gap:14px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 56%),color-mix(in srgb,var(--surface-soft) 68%,transparent)}.background-upload-copy,.background-upload-fields,.background-admin-actions,.background-delete-confirm{display:flex;align-items:center;gap:8px}.background-upload-copy{min-width:0}.background-upload-copy>span:last-child{display:grid;gap:3px}.background-upload-icon{display:grid;width:34px;height:34px;flex:none;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:10px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-strong))}.background-upload-fields{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.8fr) auto;align-items:end;gap:10px}.background-upload-fields label{display:grid;gap:6px}.background-upload-fields label>span{color:var(--muted);font-size:11px;font-weight:650}.background-upload-fields label em{color:var(--faint);font-style:normal;font-weight:500}.background-upload-fields input{min-width:0;height:38px;padding:0 10px;border:1px solid var(--line-strong);border-radius:9px;color:var(--text);background:color-mix(in srgb,var(--bg) 32%,transparent)}.background-upload-fields input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.background-upload-fields .primary-button{min-height:38px;white-space:nowrap}.background-admin-list{display:grid;gap:8px;max-height:360px;overflow:auto}.background-admin-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-soft) 68%,transparent)}.background-admin-row.disabled{opacity:.55}.background-admin-row img,.background-admin-row .background-color-swatch{width:64px;height:38px;border-radius:6px;object-fit:cover;border:1px solid var(--line)}.background-admin-thumb{position:relative;width:64px;height:38px}.background-admin-thumb img,.background-admin-thumb .background-color-swatch{display:block}.background-admin-meta{min-width:0;display:grid;gap:3px}.background-state{padding:4px 7px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}.background-state.enabled{color:color-mix(in srgb,var(--good) 82%,var(--text));background:color-mix(in srgb,var(--good) 10%,var(--surface-soft))}.background-state.disabled{color:var(--muted);background:color-mix(in srgb,var(--muted) 10%,var(--surface-soft))}.background-admin-actions{justify-content:flex-end}.background-delete-confirm{padding-left:2px;border-left:1px solid var(--line)}@media (max-width: 760px){.background-upload-fields{grid-template-columns:1fr}.background-admin-row{grid-template-columns:52px minmax(0,1fr) auto}.background-admin-row img,.background-admin-row .background-color-swatch,.background-admin-thumb{width:52px;height:32px}.background-state{display:none}.background-admin-actions{grid-column:2 / -1;justify-content:flex-start}}.background-picker-wrap{position:relative;min-width:0;display:inline-flex;align-items:center;gap:6px}.background-picker-wrap>.secondary-button:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.background-picker-wrap>.secondary-button.has-selection{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));color:color-mix(in srgb,var(--accent) 82%,var(--text-strong));background:color-mix(in srgb,var(--accent) 16%,var(--surface-soft))}.background-clear-toolbar{color:color-mix(in srgb,var(--danger) 78%,var(--text));border-color:color-mix(in srgb,var(--danger) 30%,var(--line));background:color-mix(in srgb,var(--danger) 6%,var(--surface-soft))}.background-clear-toolbar:hover{color:color-mix(in srgb,var(--danger) 90%,var(--text-strong));border-color:color-mix(in srgb,var(--danger) 56%,var(--line));background:color-mix(in srgb,var(--danger) 12%,var(--surface-soft))}.background-picker{position:absolute;z-index:20;top:calc(100% + 8px);right:0;width:min(340px,calc(100vw - 32px));max-height:min(430px,calc(100dvh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow)}.background-picker-head{display:grid;gap:3px}.background-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;max-height:min(300px,calc(100dvh - 132px));overflow-y:auto;overflow-x:hidden;align-content:start;overscroll-behavior:contain;scrollbar-gutter:stable}.background-option{min-width:0;display:grid;grid-template-rows:84px auto;gap:5px;padding:5px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.background-option:hover,.background-option.active{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--surface-soft))}.background-option-select{width:100%;height:84px;min-height:0;display:block;overflow:hidden;padding:0;border-radius:6px;border:0;color:var(--text);background:transparent;text-align:left;cursor:pointer}.background-option-footer{min-width:0;min-height:28px;display:flex;align-items:center;gap:5px}.background-preview-button{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:50%;color:#fff;background:#0f172aad;box-shadow:0 5px 14px #0f172a33;cursor:pointer}.background-preview-button:hover{color:#fff;background:var(--accent);outline:none}.background-preview-button:focus-visible{color:#fff;background:var(--accent);outline:none}.background-admin-thumb .background-preview-button{position:absolute;top:5px;right:5px;width:24px;height:24px}@media (max-width: 900px){.background-picker-wrap>.secondary-button:first-child{flex:1 1 auto}.background-picker{right:auto;left:0}}@media (max-width: 560px){.background-picker-wrap>.secondary-button{justify-content:center}.background-picker-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto}.background-picker{position:fixed;top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:12px;right:12px;width:auto;max-width:none;z-index:90}}.asset-library{display:grid;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-strong) 46%,transparent)}.asset-library-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.asset-library-head>div:first-child{display:grid;gap:2px}.asset-library-head strong{color:var(--text-strong)}.asset-library-head span{color:var(--faint);font-size:12px}.asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-card{display:grid;gap:8px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--bg) 24%,transparent)}.asset-card.selected{border-color:color-mix(in srgb,var(--accent) 54%,var(--line));background:color-mix(in srgb,var(--accent-soft) 48%,transparent)}.asset-preview{overflow:hidden;border-radius:10px;aspect-ratio:16 / 10;background:#000}.asset-preview img{width:100%;height:100%;display:block;object-fit:cover}.asset-preview video{width:100%;height:100%;display:block;object-fit:cover}.asset-file-icon{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);background:var(--surface-soft)}.asset-meta{min-width:0;display:grid;gap:2px}.asset-meta strong,.asset-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-meta strong{color:var(--text);font-size:12px}.asset-meta span{color:var(--faint);font-size:11px}.asset-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.asset-page-body::-webkit-scrollbar{width:10px;height:10px}.asset-page-body::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background-clip:padding-box;background-color:color-mix(in srgb,var(--muted) 34%,transparent)}.asset-page-body::-webkit-scrollbar-track{background:transparent}.asset-page{min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow:hidden;padding:16px;border-radius:18px;background:radial-gradient(circle at 34% 0%,var(--panel-glow),transparent 34%),color-mix(in srgb,var(--surface) 76%,transparent)}.asset-page-header{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--line-strong) 58%,transparent)}.asset-page-title{min-width:0;display:grid;gap:3px}.asset-page-title h2{margin:0;color:var(--text-strong);font-size:clamp(22px,2.2vw,30px);line-height:1.1}.asset-page-title span{overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.asset-page-tools{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.asset-page-body{min-width:0;min-height:0;overflow:auto;padding-right:4px}.asset-edit-activity{position:sticky;top:0;z-index:4;padding:0 0 12px;background:linear-gradient(180deg,var(--surface-solid) 0%,var(--surface-solid) 78%,transparent 100%)}.asset-edit-activity .generation-progress{margin-top:0;box-shadow:var(--shadow-soft)}.asset-page-grid{min-width:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;align-items:start;padding-bottom:12px}.asset-page-card{min-width:0;align-content:start;border-color:color-mix(in srgb,var(--line-strong) 62%,transparent);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-soft) 86%,transparent),color-mix(in srgb,var(--bg-3) 14%,transparent))}.asset-page-card .asset-preview{aspect-ratio:16 / 10;border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.asset-page-card .asset-preview video{object-fit:contain}.asset-page-card .asset-meta small{overflow:hidden;color:var(--accent);font-size:11px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.asset-page-card .asset-actions{gap:7px}.asset-page-card .asset-actions .mini-button{min-height:30px}.asset-page-empty{min-height:320px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed color-mix(in srgb,var(--line-strong) 66%,transparent);border-radius:18px;color:var(--muted);background:color-mix(in srgb,var(--surface-soft) 58%,transparent);text-align:center}.asset-page-empty strong{color:var(--text-strong)}.asset-file-icon{gap:6px;color:var(--muted);font-size:12px}:root[data-theme=light] .asset-page-card{background:#fff}:root[data-theme=light] .asset-page{background:radial-gradient(circle at 34% 0%,var(--panel-glow),transparent 34%),#ffffffe6}@media (max-width: 980px){.asset-page{height:auto;min-height:70dvh}.asset-page-header{grid-template-columns:1fr;align-items:start}.asset-page-tools{justify-content:flex-start}}@media (max-width: 560px){.asset-page-grid{grid-template-columns:1fr}}.asset-file-icon span{max-width:100%}.asset-page-header{grid-template-columns:minmax(0,1fr) auto;align-items:start}.asset-page-tools{grid-column:1;grid-row:1;justify-self:start;justify-content:flex-start}.asset-page-header>.secondary-button{grid-column:2;grid-row:1;justify-self:end}.asset-page-title{grid-column:1 / -1;grid-row:2}@media (max-width: 980px){.asset-page-header{grid-template-columns:1fr}.asset-page-header>.secondary-button{grid-column:1;justify-self:start}.asset-page-tools,.asset-page-title{grid-column:1;justify-self:start}.asset-page-header>.secondary-button{grid-row:1}.asset-page-tools{grid-row:2}.asset-page-title{grid-row:3}}.admin-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px}.log-list::-webkit-scrollbar{width:8px;height:8px}.log-list::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent)}.admin-section{padding:8px}.admin-section.closed{border-radius:16px}.admin-toggle{width:100%;min-height:40px;border:0;border-radius:12px;padding:0 10px;color:var(--text);background:transparent;font-weight:780}.admin-toggle span{margin-left:auto;color:var(--muted);font-size:12px;font-weight:640}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 72% 22%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 30%),#030712b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-modal{width:min(1480px,calc(100vw - 56px));max-height:calc(100dvh - 56px);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border-radius:24px;box-shadow:0 30px 90px #00000057}.admin-modal-head{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid color-mix(in srgb,var(--line-strong) 58%,transparent)}.admin-modal-head span{min-width:0;display:grid;gap:3px}.admin-modal-head strong{color:var(--text-strong);font-size:17px}.admin-modal-head small{color:var(--muted);font-size:12px}.admin-modal-tabs{display:flex;gap:8px;padding:12px 16px 0}.admin-modal-tabs button{min-height:38px;border:1px solid color-mix(in srgb,var(--line-strong) 46%,transparent);border-radius:999px;padding:0 15px;color:var(--muted);background:color-mix(in srgb,var(--surface-soft) 42%,transparent);font-weight:760}.admin-modal-tabs button.active{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 70%,transparent);background:var(--accent);box-shadow:0 10px 26px color-mix(in srgb,var(--accent) 26%,transparent)}.admin-grid{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(360px,1fr) minmax(360px,1fr);grid-template-areas:"billing image video" "guidance image video" "rules rules logs" "settings settings logs";align-items:start;gap:14px;min-height:0;overflow:auto;padding:16px}.admin-grid>.admin-card{display:none}.admin-grid[data-view=models]{grid-template-columns:minmax(260px,.72fr) minmax(360px,1fr) minmax(360px,1fr);grid-template-areas:"guidance image video"}.admin-grid[data-view=models]>.admin-guidance-card{display:grid}.admin-grid[data-view=models]>.admin-image-card{display:grid}.admin-grid[data-view=models]>.admin-video-provider-card{display:grid}.admin-grid[data-view=rules]{grid-template-columns:1fr;grid-template-areas:"rules"}.admin-grid[data-view=rules]>.admin-rules-card{display:grid}.admin-grid[data-view=rules] .admin-rules-card{grid-template-columns:minmax(280px,.36fr) minmax(0,.64fr)}.admin-grid[data-view=backgrounds]{grid-template-columns:minmax(0,980px);grid-template-areas:"backgrounds";justify-content:center}.admin-grid[data-view=backgrounds]>.admin-backgrounds-card{display:grid}.admin-grid[data-view=logs]{grid-template-columns:minmax(0,1fr);grid-template-areas:"logs"}.admin-grid[data-view=logs]>.admin-logs-card{display:grid}.admin-grid[data-view=logs] .admin-logs-card{max-width:980px;width:100%;justify-self:center}.admin-grid[data-view=logs] .log-list{max-height:min(52vh,640px)}.admin-grid[data-view=accounts]{grid-template-columns:minmax(320px,560px);grid-template-areas:"billing"}.admin-grid[data-view=accounts]>.admin-billing-card{display:grid}.admin-grid[data-view=settings]{grid-template-columns:minmax(0,1fr);grid-template-areas:"settings"}.admin-grid[data-view=settings]>.admin-settings-card{display:grid}.admin-grid[data-view=settings] .admin-settings-card{max-width:1120px;width:100%;justify-self:center}.admin-grid[data-view=settings] .admin-textarea.code{min-height:58vh;max-height:58vh}.admin-grid>.hint-box{grid-column:1 / -1}.admin-card{min-width:0;display:grid;align-content:start;gap:12px;padding:14px;border:1px solid color-mix(in srgb,var(--line-strong) 58%,transparent);border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 42%,transparent),transparent),color-mix(in srgb,var(--surface-soft) 72%,transparent)}.admin-billing-card{grid-area:billing}.admin-rules-card{grid-area:rules;grid-template-columns:minmax(240px,.82fr) minmax(0,1.18fr);grid-template-areas:"rulesHead rulesHead" "rulesNav editorHead" "templateSelect editorBody";align-items:start}.admin-backgrounds-card{grid-area:backgrounds}.admin-guidance-card{grid-area:guidance;gap:4px}.admin-image-card{grid-area:image}.admin-video-provider-card{grid-area:video}.admin-settings-card{grid-area:settings}.admin-logs-card{grid-area:logs}.balance-row{display:grid;grid-template-columns:minmax(0,1fr) 82px auto;gap:8px;align-items:center}.balance-row span{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.admin-textarea{min-height:220px}.admin-textarea.code{min-height:260px;max-height:360px;resize:vertical;font-family:SF Mono,Consolas,JetBrains Mono,monospace;font-size:12px}.admin-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.admin-rules-card .admin-card-heading{grid-area:rulesHead}.admin-rules-card .rule-group-list{grid-area:rulesNav}.admin-rules-card .admin-template-select{grid-area:templateSelect}.admin-rules-card .template-editor-heading{grid-area:editorHead}.admin-rules-card .rule-editor{grid-area:editorBody}.admin-card-heading span,.rule-group-title p,.rule-chip small,.guidance-block p,.admin-template-select span{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.rule-group-list{display:grid;grid-template-columns:1fr;gap:10px;max-height:460px;overflow:auto;padding-right:4px}.rule-group{display:grid;gap:9px;min-width:0;padding:10px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface-soft) 54%,transparent)}.rule-group-title{display:grid;gap:4px}.rule-chip-grid{display:grid;grid-template-columns:1fr;gap:8px}.rule-chip{min-width:0;min-height:58px;display:grid;align-content:start;gap:5px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 11px;color:var(--text);text-align:left;background:color-mix(in srgb,var(--surface-soft) 64%,transparent);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s var(--ease-enter)}.rule-chip:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--surface-strong) 78%,transparent)}.rule-chip.active{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 60%),color-mix(in srgb,var(--surface-strong) 86%,transparent);box-shadow:inset 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.rule-chip:disabled{cursor:not-allowed;opacity:.58}.rule-chip span{overflow-wrap:anywhere;font-size:13px;font-weight:760}.admin-template-select{display:grid;gap:6px}.admin-textarea.rule-editor{min-height:460px;max-height:460px;resize:vertical}.admin-video-card{gap:14px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-form-grid label,.admin-toggle-row label{min-width:0}.admin-form-grid label{display:grid;gap:7px}.admin-form-grid label>span{color:var(--muted);font-size:12px;line-height:1.45}.admin-toggle-row span,.admin-note{color:var(--muted);font-size:12px;line-height:1.45}.admin-form-grid input,.admin-form-grid select{width:100%;min-width:0;height:38px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--bg) 42%,transparent);color:var(--text);padding:0 11px;outline:none}.admin-form-grid input:focus{border-color:color-mix(in srgb,var(--accent) 68%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.admin-form-grid select:focus{border-color:color-mix(in srgb,var(--accent) 68%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.admin-toggle-row{display:flex;flex-wrap:wrap;gap:10px}.admin-toggle-row label{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 70%,transparent)}.admin-toggle-row input{accent-color:var(--accent)}.admin-note{margin:0}.guidance-block{display:grid;gap:6px;padding:9px 0;border:0;border-top:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:0;background:transparent}.admin-guidance-card .guidance-block p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.guidance-block:first-of-type{border-top:0;padding-top:0}.log-list{max-height:min(42vh,480px);overflow:auto;display:grid;gap:8px;padding-right:4px}.log{border:1px solid var(--line);border-radius:13px;padding:10px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.log strong,.log p,.log span{display:block}.log strong{font-size:12px}.log p{margin:6px 0;color:var(--muted);font-size:12px}.log span{color:var(--faint);font-size:10px}@media (max-width: 1340px){.admin-grid{grid-template-columns:1fr}.admin-rules-card,.admin-guidance-card{grid-column:auto}}@media (max-width: 980px){.balance-row,.admin-form-grid{grid-template-columns:1fr}}.admin-section.surface{border-radius:20px;background:color-mix(in srgb,var(--surface) 64%,transparent);box-shadow:none}.admin-card{border-color:color-mix(in srgb,var(--line-strong) 66%,transparent);background:color-mix(in srgb,var(--surface-soft) 78%,transparent)}.admin-section.surface{position:fixed;right:18px;bottom:18px;z-index:30;width:min(980px,calc(100vw - 380px));max-height:min(760px,calc(100dvh - 36px));overflow:auto;border-radius:18px;border-color:color-mix(in srgb,var(--line-strong) 70%,transparent);background:color-mix(in srgb,var(--surface-strong) 88%,transparent);box-shadow:var(--shadow)}.admin-section.closed{width:auto;max-width:min(260px,calc(100vw - 32px));overflow:hidden}.admin-section.closed .admin-toggle{width:auto;min-height:42px;padding:0 13px}.admin-section.open .admin-toggle{padding:0 14px}.admin-section.open .admin-grid{max-height:calc(100dvh - 122px);overflow:auto}@media (max-width: 980px){.admin-section.surface{right:12px;bottom:12px;width:calc(100vw - 24px)}.admin-section.closed{width:auto}}.admin-section.closed{opacity:.92}.admin-section.closed{transform:translateZ(0);transition:opacity .18s ease,transform .18s var(--ease-enter),background-color .18s ease,border-color .18s ease}.admin-section.closed:hover{opacity:1;transform:translateY(-1px)}@media (max-width: 560px){.admin-section.closed{right:14px;bottom:14px;width:48px;height:48px;border-radius:16px}.admin-section.closed .admin-toggle{width:48px;min-height:48px;padding:0;gap:0;font-size:0}.admin-section.closed .admin-toggle svg{width:18px;height:18px}.admin-section.closed .admin-toggle span{display:none}.admin-section.open{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}}.log-export-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:10px}.log-export-toolbar label{min-width:180px;display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:720}.log-export-toolbar input{min-height:36px;border:1px solid var(--line);border-radius:11px;padding:0 10px;color:var(--text-strong);background:color-mix(in srgb,var(--surface-strong) 78%,transparent)}.log-export-toolbar input:focus{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.admin-textarea.log-import-input{min-height:112px;max-height:140px;resize:vertical;font-family:SF Mono,Consolas,JetBrains Mono,monospace;font-size:12px;line-height:1.55}@media (max-width: 1500px){.admin-grid{grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);grid-template-areas:"billing image" "guidance video" "rules rules" "settings logs"}.admin-logs-card{position:static}}@media (max-width: 1120px){.admin-grid{grid-template-columns:1fr;grid-template-areas:"billing" "image" "video" "guidance" "rules" "settings" "logs"}.rule-group-list{grid-template-columns:1fr}.admin-rules-card{grid-template-columns:1fr;grid-template-areas:"rulesHead" "rulesNav" "templateSelect" "editorHead" "editorBody"}.admin-form-grid{grid-template-columns:1fr}}.admin-modal-backdrop{padding:clamp(16px,2.2vw,28px);background:radial-gradient(circle at 70% 18%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 32%),#030712c2;overscroll-behavior:contain}.admin-modal{width:min(1320px,calc(100vw - clamp(28px,5vw,64px)));max-height:min(940px,calc(100dvh - clamp(28px,5vw,64px)));border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-solid) 92%,transparent),color-mix(in srgb,var(--surface) 86%,transparent))}.admin-modal-head{min-height:62px;padding:14px 16px}.admin-modal-head strong{font-size:16px}.admin-modal-head small{overflow-wrap:anywhere}.admin-modal-tabs{gap:6px;padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--line-strong) 38%,transparent);overflow-x:auto;scrollbar-width:none}.admin-modal-tabs::-webkit-scrollbar{display:none}.admin-modal-tabs button{flex:0 0 auto;min-height:36px;padding:0 14px;touch-action:manipulation;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.admin-modal-tabs button[aria-selected=true]{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent) 70%,transparent);background:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 22%,transparent)}.admin-grid{padding:14px;gap:12px}.admin-grid[data-view=models]{grid-template-columns:minmax(250px,.7fr) minmax(340px,1fr) minmax(340px,1fr);align-items:stretch}.admin-grid[data-view=rules],.admin-grid[data-view=logs],.admin-grid[data-view=accounts],.admin-grid[data-view=settings]{place-items:stretch center}.admin-grid[data-view=rules] .admin-rules-card,.admin-grid[data-view=logs] .admin-logs-card,.admin-grid[data-view=settings] .admin-settings-card{width:min(1120px,100%)}.admin-card{border-radius:16px;padding:14px;box-shadow:inset 0 1px color-mix(in srgb,var(--text) 5%,transparent)}.admin-card-heading{min-width:0;align-items:center}.admin-card-heading h3{margin:0;line-height:1.25}.admin-card-heading span,.rule-group-title p,.rule-chip small,.guidance-block p,.admin-template-select span,.admin-note{overflow-wrap:anywhere}.admin-grid[data-view=rules] .admin-rules-card{min-height:min(690px,calc(100dvh - 210px));grid-template-columns:minmax(280px,.38fr) minmax(0,.62fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"rulesHead editorHead" "rulesNav editorBody";align-items:stretch;gap:14px}.admin-grid[data-view=rules] .admin-rules-card .admin-template-select{display:none}.admin-rules-card .rule-group-list{min-height:0;max-height:none;align-content:start;padding:0 4px 0 0}.rule-group{padding:10px;border-radius:13px}.rule-chip{min-height:54px;border-radius:12px;padding:9px 10px}.rule-chip span{color:var(--text-strong);font-size:12px;font-weight:760}.admin-rules-card .template-editor-heading{align-self:start;align-items:center;padding:11px 12px;border:1px solid color-mix(in srgb,var(--line-strong) 42%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface-soft) 58%,transparent)}.admin-rules-card .template-editor-heading>div{min-width:0}.admin-rules-card .template-editor-heading .primary-button{flex:0 0 auto;min-height:34px}.admin-rules-card .rule-editor{min-height:0;height:100%;max-height:none;resize:none;line-height:1.55}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.admin-form-grid label>span{color:var(--text);font-weight:720}.admin-form-grid input,.admin-form-grid select,.admin-textarea{color:var(--text);background:color-mix(in srgb,var(--surface-solid) 58%,transparent)}.admin-toggle-row{gap:8px}.admin-toggle-row label{position:relative;min-height:38px;padding:6px 12px 6px 42px;border-radius:13px;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.admin-toggle-row label:has(input:checked){color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 46%,var(--line-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent),color-mix(in srgb,var(--surface-strong) 78%,transparent)}.admin-toggle-row input{position:absolute;left:12px;top:50%;width:20px;height:20px;margin:0;transform:translateY(-50%)}.log-export-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:end;gap:10px}.log-export-toolbar label{min-width:0;display:grid;gap:6px}.log-export-toolbar label span{color:var(--muted);font-size:12px;font-weight:720}.log-export-toolbar input{min-height:38px}.log-import{display:grid;gap:8px}.log-import-input{min-height:92px;max-height:150px;resize:vertical}.log-import-actions{display:flex;justify-content:flex-end;gap:8px}.admin-grid[data-view=logs] .log-list{max-height:min(46vh,540px)}.log{min-width:0}.log p{overflow-wrap:anywhere}:root[data-theme=light] .admin-modal-backdrop{background:radial-gradient(circle at 70% 18%,rgba(0,122,255,.08),transparent 32%),#0f172a7a}:root[data-theme=light] .admin-modal{background:#fffffff0}:root[data-theme=light] .admin-card{background:#fffffff0}:root[data-theme=light] .admin-form-grid input{background:#fffffff5}:root[data-theme=light] .admin-form-grid select{background:#fffffff5}:root[data-theme=light] .admin-textarea{background:#fffffff5}:root[data-theme=light] .admin-toggle-row label:has(input:checked){background:linear-gradient(180deg,#007aff17,#fff0),#fffffff2}@media (max-width: 1180px){.admin-grid[data-view=models]{grid-template-columns:minmax(0,1fr);grid-template-areas:"guidance" "image" "video"}.admin-grid[data-view=rules] .admin-rules-card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(320px,1fr);grid-template-areas:"rulesHead" "rulesNav" "editorHead" "editorBody"}.admin-rules-card .rule-group-list{max-height:280px}}@media (max-width: 720px){.admin-modal-backdrop{padding:10px}.admin-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.admin-modal-head{align-items:flex-start}.admin-form-grid,.log-export-toolbar{grid-template-columns:1fr}.log-import-actions{justify-content:stretch}.log-import-actions>button{flex:1 1 auto}}.feature-access-toggle{margin:10px 0 14px}.admin-template-help{display:grid;gap:4px;margin:0 0 10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius-sm);color:var(--muted);background:color-mix(in srgb,var(--accent-soft) 48%,transparent);font-size:12px;line-height:1.55}.admin-template-help strong{color:var(--text-strong)}.admin-template-help code{color:var(--accent);font-family:inherit;font-weight:760}.admin-template-examples{display:grid;gap:4px;margin-top:4px}.admin-template-examples code{display:block;padding:6px 8px;border:1px solid color-mix(in srgb,var(--line) 76%,transparent);border-radius:var(--radius-xs);color:var(--text);background:color-mix(in srgb,var(--surface-strong) 72%,transparent);font-weight:600;overflow-wrap:anywhere}.image-preview-trigger{width:100%;display:block;overflow:hidden;border:0;padding:0;border-radius:inherit;background:transparent;cursor:zoom-in}.image-preview-trigger img{display:block;transition:transform .22s cubic-bezier(.22,1,.36,1)}.image-preview-trigger:hover img{transform:scale(1.025)}.image-preview-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:clamp(16px,4vw,42px);background:#04080eb8;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}.image-preview-dialog{width:min(1120px,96vw);max-height:92vh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid color-mix(in srgb,var(--line-strong) 72%,transparent);border-radius:22px;background:color-mix(in srgb,var(--surface-solid) 92%,#050913 8%);box-shadow:0 30px 80px #00000061}.image-preview-toolbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.image-preview-toolbar>div:first-child{min-width:0;display:grid;gap:3px}.image-preview-toolbar strong,.image-preview-toolbar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-preview-toolbar strong{color:var(--text-strong);font-size:13px}.image-preview-toolbar span{color:var(--faint);font-size:11px}.image-preview-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.image-preview-canvas{min-height:0;display:grid;place-items:center;padding:14px;background:linear-gradient(45deg,color-mix(in srgb,var(--text) 6%,transparent) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--text) 6%,transparent) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--text) 6%,transparent) 75%),linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--text) 6%,transparent) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.image-preview-canvas img{max-width:100%;max-height:calc(92vh - 86px);display:block;object-fit:contain;border-radius:14px;box-shadow:0 18px 60px #00000047}:root[data-theme=light] .image-preview-modal{background:#ecf2f9c7}:root[data-theme=light] .image-preview-dialog{background:#fffffff5;border-color:#94a3b852;box-shadow:0 30px 80px #0f172a2e}:root[data-theme=light] .image-preview-canvas{background-color:#f8fafcb8}.video-fallback-modal{z-index:90}.video-fallback-dialog{width:min(620px,94vw);display:grid;gap:14px;padding:18px;border:1px solid color-mix(in srgb,var(--line-strong) 68%,transparent);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-solid) 92%,transparent),color-mix(in srgb,var(--surface-soft) 96%,transparent));box-shadow:0 28px 90px #00000057}.video-fallback-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start}.video-fallback-head h2{margin:2px 0 6px;font-size:20px;letter-spacing:0}.video-fallback-head span{color:var(--muted);font-size:13px;line-height:1.6}.video-fallback-foot{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}:root[data-theme=light] .video-fallback-dialog{background:#fffffff5;border-color:#94a3b857;box-shadow:0 30px 80px #0f172a2e}@media (prefers-reduced-motion: reduce){.image-preview-trigger img{transition:none}}.editor-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:grid;place-items:center;padding:24px;background:#03070cb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.editor-modal{width:min(760px,calc(100vw - 32px));max-height:min(820px,calc(100dvh - 48px));overflow:auto;display:grid;gap:14px;padding:18px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-solid) 94%,transparent);box-shadow:var(--shadow);animation:editor-modal-in .18s var(--ease-enter)}@keyframes editor-modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.editor-modal-head,.editor-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-modal-head span{color:var(--accent);font-size:11px}.editor-modal-head h2{margin:3px 0 0;color:var(--text-strong);font-size:20px;letter-spacing:0}.editor-source-preview{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft)}.editor-source-preview img{width:112px;height:76px;object-fit:cover;border-radius:var(--radius-xs);background:#030507}.editor-source-preview video{width:112px;height:76px;object-fit:cover;border-radius:var(--radius-xs);background:#030507}.editor-source-preview>div{min-width:0;display:grid;gap:4px}.editor-source-preview strong{overflow:hidden;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap}.editor-source-preview span,.editor-source-preview small,.editor-instruction small{color:var(--muted);font-size:11px}.editor-source-preview small{color:var(--accent);font-weight:700}.editor-rule-note{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius-xs);color:var(--muted);background:var(--accent-soft);font-size:12px;line-height:1.55}.editor-context{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface-soft)}.editor-context summary{padding:9px 11px;color:var(--text);cursor:pointer;font-size:12px}.editor-context p{max-height:150px;overflow:auto;margin:0;padding:0 11px 11px;color:var(--muted);font-size:12px;line-height:1.65;white-space:pre-wrap}.editor-instruction{display:grid;gap:7px}.editor-instruction>span{color:var(--text-strong);font-size:12px}.editor-comparison strong{color:var(--text-strong);font-size:12px}.editor-instruction textarea{width:100%;min-height:126px;resize:vertical;padding:12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);background:var(--bg-2);line-height:1.65;outline:none}.editor-instruction textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.editor-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.editor-comparison>div{min-width:0;padding:11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-soft)}.editor-comparison>div.candidate{border-color:color-mix(in srgb,var(--good) 42%,var(--line))}.editor-comparison p{max-height:210px;overflow:auto;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.65;white-space:pre-wrap}.editor-modal-actions{justify-content:flex-end;padding-top:2px}@media (max-width: 900px){.editor-modal-head,.editor-modal-actions{align-items:stretch;flex-direction:column}.editor-modal-actions{justify-content:stretch}.editor-comparison{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.editor-modal{animation:none}}.editor-control-row,.editor-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.editor-control-row>div:first-child{display:grid;gap:3px;min-width:0}.editor-selection-heading>div{display:grid;gap:3px;min-width:0}.editor-control-label{color:var(--text-strong);font-size:12px;font-weight:760}.editor-control-label-group{display:grid;gap:3px;min-width:116px}.point-density-value{color:var(--accent);font-size:12px;font-weight:800;white-space:nowrap}.point-density-slider-wrap{display:grid;flex:1;gap:4px;min-width:220px}.point-density-slider{width:100%;accent-color:var(--accent);cursor:pointer}.point-density-slider:disabled{cursor:not-allowed;opacity:.55}.point-density-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;line-height:1;-webkit-user-select:none;user-select:none}.editor-control-row small,.editor-selection-heading small{color:var(--muted);font-size:11px;line-height:1.45}.editor-selection-block{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-soft) 78%,transparent)}.editor-selection-frame{position:relative;width:min(100%,620px);max-height:330px;margin:0 auto;overflow:hidden;cursor:crosshair;touch-action:none;border-radius:var(--radius-xs);background:#030507}.editor-selection-frame.disabled{cursor:wait}.editor-selection-frame img{display:block;width:100%;max-height:330px;object-fit:contain;-webkit-user-select:none;user-select:none}.editor-selection-rect{position:absolute;z-index:1;display:block;border:2px solid #ff4d4f;background:#ff4d4f2e;box-shadow:0 0 0 9999px #02060c3d;pointer-events:none}@media (max-width: 720px){.editor-control-row,.editor-selection-heading{align-items:stretch;flex-direction:column}.editor-control-row .segmented{width:100%;justify-content:stretch}.editor-control-row .segmented button{flex:1}.point-density-slider-wrap{width:100%;min-width:0}}.rail-head h2,.admin-card h3{margin:4px 0 0;color:var(--text-strong);font-size:15px;letter-spacing:0}.empty-state h2,.empty-state p,.scene-empty strong,.message-empty strong{margin:0}.empty-state p,.scene-empty span,.message-empty span{max-width:460px;color:var(--faint);line-height:1.65;text-wrap:pretty}.selected-image img{width:64px;height:64px;border-radius:var(--radius-sm)}.admin-card h3{margin-top:0}.background-library-summary strong{font-size:16px;line-height:1}.background-library-summary span{font-size:11px}.background-upload-copy small{color:var(--muted);font-size:11px}.mini-button.danger,.icon-button.small.danger{color:color-mix(in srgb,var(--danger) 86%,var(--text));border-color:color-mix(in srgb,var(--danger) 34%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface-soft))}.background-admin-row small{color:var(--muted);font-size:11px}.rule-group-title strong,.guidance-block strong,.template-editor-heading strong{color:var(--text);font-size:13px}.rail-asset img{width:100%;height:100%;object-fit:cover}.mention-menu strong{color:var(--accent);font-size:12px}.mini-button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 26%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface-strong))}.icon-button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 24%,var(--line))}.surface{border-color:var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 95%,white 3%),var(--surface));box-shadow:var(--shadow-soft);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%)}.eyebrow,.rail-compact-count span{letter-spacing:0;text-transform:none}.eyebrow{color:var(--faint);font-size:11px;font-weight:650}.secondary-button:hover:not(:disabled){color:var(--text-strong);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent-soft))}.mini-button:hover:not(:disabled){color:var(--text-strong);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent-soft))}.icon-button:hover:not(:disabled){color:var(--text-strong);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent-soft))}.rail-head h2{margin-top:3px;font-size:14px;font-weight:760}.composer textarea{min-height:106px;border-color:transparent;background:transparent;box-shadow:none}.prompt-head strong{font-size:13px;font-weight:760}.segmented button{color:var(--muted);border-radius:8px}.segmented button.active{color:var(--accent-ink);background:var(--accent);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 20%,transparent)}.selected-image img{width:58px;height:58px;border-radius:14px}.rail-head h2{font-size:13px}:root[data-theme=light] .secondary-button{color:var(--text);border-color:color-mix(in srgb,var(--line-strong) 78%,transparent);background:#ffffffd1}:root[data-theme=light] .mini-button{color:var(--text);border-color:color-mix(in srgb,var(--line-strong) 78%,transparent);background:#ffffffd1}:root[data-theme=light] .secondary-button:hover{color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 32%,var(--line-strong));background:#fffffff5}:root[data-theme=light] .mini-button:hover{color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 32%,var(--line-strong));background:#fffffff5}.primary-button:disabled{opacity:1;color:color-mix(in srgb,var(--faint) 76%,transparent);border-color:color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--surface-soft) 46%,transparent);box-shadow:none}.secondary-button:disabled{opacity:1;color:color-mix(in srgb,var(--faint) 76%,transparent);border-color:color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--surface-soft) 46%,transparent);box-shadow:none}.mini-button:disabled{opacity:1;color:color-mix(in srgb,var(--faint) 76%,transparent);border-color:color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--surface-soft) 46%,transparent);box-shadow:none}.icon-button:disabled{opacity:1;color:color-mix(in srgb,var(--faint) 76%,transparent);border-color:color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--surface-soft) 46%,transparent);box-shadow:none}.segmented button.active{box-shadow:none}.message-empty strong,.scene-empty strong{color:color-mix(in srgb,var(--text) 72%,transparent)}.background-picker-head span{color:var(--muted);font-size:11px;line-height:1.5}.background-picker>small{color:var(--muted);font-size:11px;line-height:1.5}.background-option-select img,.background-option-select .background-color-swatch{width:100%;height:100%;display:block;object-fit:cover;border-radius:6px;border:1px solid var(--line)}.background-option-footer>span{min-width:0;flex:1;overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.prompt-head strong{min-width:0;overflow:hidden;color:var(--text-strong);font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.prompt-head span{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.message-markdown strong{color:var(--text-strong);font-weight:780}.script-progress-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.script-progress-head strong{color:var(--accent);font-size:12px}.generation-progress-head>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generation-progress-head strong{color:var(--accent);font-size:12px;font-variant-numeric:tabular-nums}.generation-progress small{color:var(--faint);font-size:11px;line-height:1.35}.scene-asset-summary{min-width:0;display:grid;gap:11px;padding:12px;border:1px solid color-mix(in srgb,var(--line-strong) 58%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface-soft) 72%,transparent)}.scene-asset-summary-head strong{color:var(--text-strong);font-size:13px}.scene-asset-summary-head span{color:var(--faint);font-size:12px}.scene-asset-strip{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px}.scene-asset-pill{min-width:0;min-height:52px;border:1px solid color-mix(in srgb,var(--line-strong) 52%,transparent);border-radius:14px;padding:6px;color:var(--muted);background:color-mix(in srgb,var(--bg) 30%,transparent);display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;text-align:left;transition:transform .16s var(--ease-enter),border-color .16s ease,background-color .16s ease}.scene-asset-pill img{width:36px;height:36px;border-radius:10px;object-fit:cover}.scene-asset-pill span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.scene-filter-select{min-height:36px;min-width:168px;border:1px solid color-mix(in srgb,var(--line-strong) 64%,transparent);border-radius:12px;padding:0 32px 0 11px;color:var(--text);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-solid) 92%,transparent),color-mix(in srgb,var(--surface-soft) 88%,transparent))}.project-item-main{min-width:0;border:0;padding:6px 0;color:inherit;background:transparent;text-align:left}.project-item-main strong,.project-item-main span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-rename-button:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:color-mix(in srgb,var(--accent) 10%,var(--surface-soft))}.project-delete-button:hover{color:#ef4444;border-color:color-mix(in srgb,#ef4444 38%,var(--line));background:color-mix(in srgb,#ef4444 10%,var(--surface-soft))}.rail-assets{min-width:0;overflow:hidden}.rail-assets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;max-height:220px;overflow-y:auto;overflow-x:hidden;padding:0 2px 8px;scrollbar-width:thin;overscroll-behavior:contain}.rail-asset{width:auto;aspect-ratio:1;scroll-snap-align:start}@media (max-width: 980px){.rail-assets-grid{max-height:180px}}.video-model-strip button{min-width:0;border:1px solid color-mix(in srgb,var(--line-strong) 62%,transparent);border-radius:12px;padding:9px 10px;display:grid;gap:3px;color:var(--muted);background:color-mix(in srgb,var(--surface-soft) 72%,transparent);text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.video-model-strip button.active{color:var(--text-strong);border-color:color-mix(in srgb,var(--accent) 58%,var(--line-strong));background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 13%,transparent),transparent),color-mix(in srgb,var(--surface-solid) 82%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 13%,transparent)}.video-model-strip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:790}.video-model-strip small{min-width:0;color:var(--muted);font-size:11px;line-height:1.35}.rail-action-button{min-width:0;width:100%;min-height:42px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;border:1px solid transparent;border-radius:12px;padding:5px 9px 5px 5px;color:var(--muted);background:transparent;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.rail-action-copy{min-width:0;display:grid;gap:1px}.rail-action-copy strong,.rail-action-copy small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-action-copy strong{font-size:13px;font-weight:760;letter-spacing:0}.rail-action-copy small{color:var(--faint);font-size:11px;line-height:1.2}.rail-section-toggle{min-width:0;min-height:40px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;border:0;padding:0;color:var(--text-strong);background:transparent;text-align:left;cursor:pointer}.rail-section-toggle span{min-width:0;display:grid;gap:1px}.rail-section-toggle small,.rail-section-toggle strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-section-toggle small{color:var(--faint);font-size:10px;font-weight:760}.rail-section-toggle strong{color:var(--text-strong);font-size:13px;font-weight:780}.rail-assets-grid{cursor:pointer}.rail-asset{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.rule-group-title strong,.guidance-block strong,.template-editor-heading strong{color:var(--text-strong)}.help-hint{width:20px;height:20px;flex:0 0 20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--line-strong) 54%,transparent);border-radius:50%;color:var(--faint);background:color-mix(in srgb,var(--surface-solid) 80%,transparent);cursor:help}.scene-create-field span{color:var(--muted);font-size:12px;font-weight:700}.switch-control{min-width:76px;min-height:30px;display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;padding:0 9px;border:1px solid var(--line-strong);border-radius:999px;color:var(--faint);background:color-mix(in srgb,var(--surface-solid) 76%,var(--bg));font-size:11px}.candidate-run-head span{color:var(--text-strong);font-size:12px;font-weight:650}.candidate-run-head small{color:var(--muted);font-size:10px}.prompt-history-meta strong{color:var(--text-strong);font-size:12px}.prompt-history-meta>span:not(.status-pill){color:var(--muted);font-size:11px}.prompt-history-item p{color:var(--muted);font-size:11px}.prompt-history-item p{max-height:52px;overflow:hidden;margin:0;line-height:1.55}@media (max-width: 900px){.editor-modal-actions>*{flex:1}}.composer-toolbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px solid color-mix(in srgb,var(--line-strong) 44%,transparent)}.composer-tool-group{min-width:0;display:flex;align-items:center;gap:6px}.composer-primary-tools{flex:0 0 auto}.composer-tool{position:relative;width:38px;height:38px;flex:0 0 38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:11px;color:var(--muted);background:color-mix(in srgb,var(--surface-solid) 68%,transparent);transition:color .16s ease,border-color .16s ease,background-color .16s ease,transform .12s ease}.scene-brief-trigger span{min-width:0;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:760}.scene-brief-trigger small{color:var(--faint);font-size:11px}.studio-shell{position:relative;z-index:1;height:100dvh;min-height:0;display:grid;grid-template-columns:232px minmax(0,1fr);gap:12px;padding:12px;transition:grid-template-columns .22s var(--ease-drawer)}.studio-shell.rail-collapsed{grid-template-columns:60px minmax(0,1fr)}.studio-rail{min-height:0;overflow:hidden;display:flex;flex-direction:column;border-radius:var(--radius-lg)}.studio-rail-full{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1;padding:14px 12px}.studio-shell:not(.rail-collapsed) .studio-rail-mini{display:none}.studio-shell.rail-collapsed .studio-rail-full{display:none}.studio-rail-mini{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:0;flex:1;padding:12px 6px}.studio-rail-mini .rail-action-list{display:grid;gap:6px}.studio-rail-mini-spacer{flex:1}.studio-rail-brand{display:flex;align-items:center;gap:9px;padding:2px 4px}.studio-rail-brand .brand-icon{width:32px;height:32px;border-radius:10px;flex:none}.studio-rail-brand-copy{min-width:0;display:grid}.studio-rail-brand-copy strong{font-size:12.5px;letter-spacing:-.01em;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-rail-brand-copy small{font-size:10.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-rail-collapse{margin-left:auto;flex:none}.studio-rail-projects{display:grid;gap:6px;min-height:0}.studio-rail-projects .project-list{max-height:min(38vh,340px)}.studio-rail-section-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--faint);padding:0 6px;text-transform:uppercase}.studio-rail-scroll{flex:1;min-height:0;overflow-y:auto;display:grid;gap:12px;align-content:start}.studio-rail-assets-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;background:transparent;color:var(--text);font-size:12.5px;cursor:pointer}.studio-rail-assets-head:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-soft)}.studio-rail-assets-head:disabled{opacity:.55}.studio-rail-assets-head small{color:var(--faint)}.studio-rail-foot{display:grid;gap:8px}.studio-rail-user{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12.5px;color:var(--muted)}.studio-rail-user .user-chip{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-rail-user-actions{margin-left:auto;display:flex;gap:2px;flex:none}.studio-rail-status{display:flex;flex-wrap:wrap;gap:5px}.studio-main{min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px}.studio-main>*{min-height:0}.studio-main>.studio-stage,.studio-main>.asset-page{flex:1}.studio-main>.empty-state{margin:auto}.studio-topbar{position:relative;z-index:40;display:flex;align-items:center;gap:12px;padding:9px 14px;border-radius:var(--radius-md);min-width:0}.studio-topbar-crumb{min-width:0;font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-topbar-crumb strong{color:var(--text-strong);font-weight:650}.studio-topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}.studio-topbar-status{display:flex;align-items:center;gap:5px}.studio-stage{min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 292px 340px;gap:12px;transition:grid-template-columns .22s var(--ease-drawer)}.studio-stage.inspector-collapsed{grid-template-columns:minmax(0,1fr) 46px 340px}.studio-stage.assistant-collapsed{grid-template-columns:minmax(0,1fr) 292px 44px}.studio-stage.inspector-collapsed.assistant-collapsed{grid-template-columns:minmax(0,1fr) 46px 44px}.studio-canvas-col{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px}.studio-canvas-zone{position:relative;min-height:0;display:grid}.studio-canvas{position:relative;min-height:0;overflow:hidden;border-radius:var(--radius-lg);background:radial-gradient(120% 90% at 50% 0%,#232a3a,#12151d 55%,#0b0e14);box-shadow:var(--shadow),inset 0 0 0 1px #ffffff0f;display:grid}.studio-canvas-dots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.6px);background-size:26px 26px;-webkit-mask-image:radial-gradient(70% 60% at 50% 45%,black,transparent);mask-image:radial-gradient(70% 60% at 50% 45%,black,transparent)}.studio-canvas-tag{position:absolute;top:14px;left:14px;z-index:3;font-size:11.5px;color:#ffffffc7;background:#0a0d148c;border:1px solid rgba(255,255,255,.12);padding:4px 10px;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:min(70%,480px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-canvas-scroll{position:relative;z-index:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:safe center;padding:52px 22px 22px}.studio-canvas-scroll::-webkit-scrollbar{width:8px}.studio-canvas-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#ffffff29}.studio-canvas .hint-box,.studio-canvas .candidate-run,.studio-canvas .video-result,.studio-canvas .generation-progress{color:#ffffffdb;background:#10141eb8;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.studio-canvas .candidate-run,.studio-canvas .video-result,.studio-canvas .generation-progress{padding:12px;width:min(100%,1240px)}.studio-canvas .candidate-run-head{color:#fffc}.studio-canvas .candidate-run-head small{color:#ffffff80}.studio-canvas .video-status{color:#ffffffbf}.studio-canvas .video-result video{background:#000}.studio-canvas-stage{flex:0 0 auto;width:100%;max-width:1240px;height:clamp(280px,52vh,700px);margin:0 auto;display:flex;gap:14px;align-items:stretch;justify-content:center;min-width:0}.studio-hero-card{position:relative;flex:1 1 0;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:10px;transition:border-color .18s var(--ease-enter),box-shadow .18s var(--ease-enter)}.studio-hero-card.emphasized{border-color:color-mix(in srgb,var(--accent) 65%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.studio-hero-card-label{position:absolute;top:10px;left:10px;z-index:2;font-size:11px;color:#ffffffc7;background:#0a0d148c;border:1px solid rgba(255,255,255,.12);padding:3px 9px;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.studio-hero-card .generation-progress{width:100%;align-self:center}.studio-hero{position:relative;margin:0;width:100%;height:100%;min-height:0;max-width:100%;display:flex;align-items:center;justify-content:center}.studio-hero img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);outline:1px solid rgba(255,255,255,.14);box-shadow:0 18px 60px #00000073;animation:studio-fade-in .2s var(--ease-enter)}.studio-hero video{display:block;width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--radius-sm);background:#000;outline:1px solid rgba(255,255,255,.14);box-shadow:0 18px 60px #00000073}@keyframes studio-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.studio-hero-tools{position:absolute;top:10px;right:10px;display:flex;gap:6px;opacity:0;transform:translateY(-4px);transition:opacity .16s var(--ease-enter),transform .16s var(--ease-enter)}.studio-hero:hover .studio-hero-tools,.studio-hero:focus-within .studio-hero-tools{opacity:1;transform:none}@media (hover: none){.project-rename-button,.project-delete-button,.rail-asset-delete,.studio-hero-tools{opacity:1;transform:none}}.studio-hero-tools button{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:#ffffffd9;background:#0a0d1499;border:1px solid rgba(255,255,255,.14);padding:5px 10px;border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.studio-hero-tools button:hover:not(:disabled){background:#181e2ccc;color:#fff}.studio-canvas-thumbs{display:grid;gap:8px;justify-items:center;max-width:100%}.studio-canvas-thumbs-label{font-size:11px;letter-spacing:.04em;color:#ffffff80}.studio-canvas-thumbs-row{display:flex;gap:8px;max-width:100%;overflow-x:auto;padding:2px}.studio-canvas-thumb{position:relative;width:96px;height:56px;flex:none;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#0b0e14;padding:0;cursor:pointer;opacity:.72;transition:opacity .14s var(--ease-enter),border-color .14s var(--ease-enter),box-shadow .14s var(--ease-enter)}.studio-canvas-thumb img,.studio-canvas .image-card img{animation:studio-fade-in .2s var(--ease-enter)}.studio-canvas-thumb:hover{opacity:1}.studio-canvas-thumb.active{opacity:1;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}.studio-canvas-thumb img{width:100%;height:100%;object-fit:cover;outline:none}.studio-canvas-thumb-main{position:absolute;left:4px;bottom:4px;font-size:10px;font-style:normal;color:#fff;background:#0a0d14ad;border-radius:4px;padding:1px 5px}.studio-batch-zone{width:min(100%,1240px);display:grid;gap:12px;justify-items:stretch}.studio-batch-filter{display:flex;gap:6px;justify-content:center}.studio-batch-filter button{border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#10141e99;color:#ffffffa8;font-size:12px;padding:5px 14px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .16s var(--ease-enter),color .16s var(--ease-enter),background .16s var(--ease-enter)}.studio-batch-filter button:hover{color:#fff;border-color:#ffffff47}.studio-batch-filter button.active{color:#fff;border-color:color-mix(in srgb,var(--accent) 70%,transparent);background:color-mix(in srgb,var(--accent) 34%,rgba(16,20,30,.6))}.studio-batch{color:#ffffffdb;background:#10141eb8;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px;display:grid;gap:10px}.studio-batch-head{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#ffffff80}.studio-batch-type{font-size:11px;font-weight:650;padding:2px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:#fffc}.studio-batch-type.image{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:color-mix(in srgb,var(--accent) 70%,#fff)}.studio-batch-type.video{border-color:color-mix(in srgb,var(--good) 55%,transparent);color:color-mix(in srgb,var(--good) 70%,#fff)}.studio-batch .candidate-run,.studio-batch .video-result{padding:0;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto}:root[data-theme=light] .studio-canvas .video-result,:root[data-theme=light] .studio-batch .video-result{background:transparent}:root[data-theme=light] .studio-canvas .video-status>span:not(.status-pill){background:transparent;color:#ffffffbf}.studio-batch .candidate-run-head{display:none}.studio-batch-empty{text-align:center;font-size:12.5px;color:#ffffff80;padding:12px}@media (hover: hover) and (pointer: fine){.studio-frame{transition:transform .18s var(--ease-enter),border-color .16s var(--ease-enter),box-shadow .18s var(--ease-enter)}.studio-frame:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 10px 24px #1018281f}.studio-batch{transition:border-color .18s var(--ease-enter)}.studio-batch:hover{border-color:#ffffff38}}.studio-canvas-empty{text-align:center;color:#ffffffb8;display:grid;justify-items:center;gap:8px;padding:24px}.studio-canvas-empty-ring{width:64px;height:64px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.35);display:grid;place-items:center;color:#fffc;margin-bottom:6px}.studio-canvas-empty strong{font-size:15px;color:#fff}.studio-canvas-empty p{font-size:12.5px;color:#ffffff80;margin:0 0 10px}.studio-filmstrip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 4px;min-height:0}.studio-filmstrip::-webkit-scrollbar{height:8px}.studio-filmstrip::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent)}.studio-frame{width:132px;flex:none;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--line);background:var(--surface-solid);cursor:pointer;padding:0;text-align:left;color:var(--text);transition:border-color .16s var(--ease-enter),box-shadow .16s var(--ease-enter),transform .16s var(--ease-enter)}.studio-frame:hover{border-color:var(--line-strong);transform:translateY(-2px)}.studio-frame.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.studio-frame-thumb{height:64px;position:relative;background:radial-gradient(100% 100% at 50% 20%,#2a3350,#10131c);display:grid;place-items:center;color:#fff6;overflow:hidden}.studio-frame-thumb img{width:100%;height:100%;object-fit:cover;outline:none}.studio-frame-meta{padding:6px 9px;font-size:11.5px;display:grid;gap:1px}.studio-frame-meta strong{color:var(--text-strong);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-frame-meta small{color:var(--faint);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-frame.add{display:grid;place-items:center;min-height:104px;border-style:dashed;color:var(--faint);font-size:12px;gap:4px}.studio-frame.add:hover:not(:disabled){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.studio-frame.add:disabled{opacity:.5}.studio-inspector{min-height:0;min-width:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:var(--radius-md)}.studio-inspector.collapsed{display:grid;grid-template-rows:1fr;place-items:start center;padding:8px 0}.studio-inspector-expand{writing-mode:vertical-rl;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--muted);font-size:12px;padding:10px 6px;border-radius:var(--radius-xs);cursor:pointer}.studio-inspector-expand:hover{color:var(--text-strong);background:var(--surface-soft)}.studio-inspector-tabs{display:flex;padding:8px;gap:4px;border-bottom:1px solid var(--line)}.studio-inspector-tabs button{flex:1;text-align:center;font-size:12.5px;padding:7px 0;border-radius:8px;border:0;color:var(--muted);background:transparent;cursor:pointer}.studio-inspector-tabs button:hover{color:var(--text);background:var(--surface-soft)}.studio-inspector-tabs button.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.studio-inspector-tabs .studio-inspector-collapse{flex:none;width:30px;padding:0;display:grid;place-items:center;color:var(--muted)}.studio-inspector-tabs .studio-inspector-collapse:hover{color:var(--text-strong);background:var(--surface-soft)}.studio-inspector-body{min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column}.studio-inspector-pane{flex:1 0 auto;min-height:0;display:flex;flex-direction:column;gap:12px;animation:studio-fade-in .15s var(--ease-enter)}.studio-inspector .segmented.compact{flex-wrap:wrap}.studio-inspector .segmented.compact button{flex:1 1 28%;padding:5px 4px;font-size:12px}.studio-inspector .segmented.compact.studio-seg-even{flex-wrap:nowrap}.studio-inspector .segmented.compact.studio-seg-even button{flex:1 1 0}.studio-inspector .segmented.compact.studio-seg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.studio-inspector .segmented.compact.studio-seg-grid button{flex:none;min-width:0}.studio-prompt-grow .prompt-head strong{white-space:normal;text-overflow:clip}.studio-prompt-grow,.studio-prompt-grow .prompt-editor,.studio-prompt-grow .prompt-edit-label{flex:1;min-height:0;display:flex;flex-direction:column}.studio-prompt-grow .prompt-editor .prompt-textarea{flex:1;min-height:150px;max-height:none;height:auto;resize:none}.studio-video-summary{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.studio-video-summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--faint)}.studio-video-summary-head span{font-weight:400;letter-spacing:0}.studio-history-collapse{display:grid;gap:10px;align-content:start}.studio-history-trigger{display:flex;align-items:center;gap:6px;width:100%;border:1px solid var(--line);background:var(--surface-soft);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;font-weight:650;color:var(--muted);cursor:pointer}.studio-history-trigger:hover{color:var(--text);border-color:var(--line-strong)}.studio-history-caret{margin-left:auto;transition:transform .16s var(--ease-enter)}.studio-history-caret.open{transform:rotate(90deg)}.studio-inspector-body::-webkit-scrollbar{width:8px}.studio-inspector-body::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent)}.studio-field{display:grid;gap:7px}.studio-field>label,.studio-field>.studio-field-label{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--faint)}.studio-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.studio-inspector-actions{display:grid;gap:8px;margin-top:auto;padding-top:2px}.studio-history-group{display:grid;gap:8px}.studio-history-group>strong{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--faint)}.studio-dock{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border-radius:var(--radius-md);overflow:hidden}.studio-dock-head{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.studio-dock-dot{width:7px;height:7px;border-radius:50%;background:var(--good);flex:none}.studio-dock-dot.busy{background:var(--warn);animation:studio-dock-pulse 1.2s ease-in-out infinite}@keyframes studio-dock-pulse{50%{opacity:.35}}.studio-dock-head strong{color:var(--text-strong);font-weight:650}.studio-dock-head .icon-button{margin-left:auto}.studio-dock-modes{display:flex;gap:4px;padding:8px 10px 0}.studio-dock-modes button{flex:1;min-width:0;font-size:12px;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-dock-modes button:hover:not(:disabled){color:var(--text);background:var(--surface-soft)}.studio-dock-modes button.active{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 38%,var(--line));font-weight:650}.studio-dock-modes button:disabled{opacity:.5}.studio-dock .assistant-options{padding:8px 10px 0}.studio-dock .message-list,.studio-dock .message-empty{min-height:120px}.studio-dock .composer{padding:10px 12px 12px;border-top:1px solid var(--line)}.studio-dock .composer textarea{min-height:56px}.studio-dock-toggle{position:relative;min-height:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 0;border-radius:var(--radius-md);color:var(--accent);cursor:pointer}.studio-dock-toggle:hover{color:var(--accent-hover)}.studio-dock-toggle-label{writing-mode:vertical-rl;font-size:12px;letter-spacing:.2em;color:var(--muted)}.studio-dock-toggle .studio-dock-dot{position:absolute;top:10px;right:10px}@media (max-width: 980px){.studio-shell,.studio-shell.rail-collapsed{grid-template-columns:56px minmax(0,1fr);gap:8px;padding:8px}.studio-shell .studio-rail-full{display:none}.studio-shell .studio-rail-mini,.studio-shell:not(.rail-collapsed) .studio-rail-mini{display:flex}.studio-main{gap:8px}.studio-topbar{flex-wrap:wrap;row-gap:6px}.studio-stage,.studio-stage.inspector-collapsed,.studio-stage.assistant-collapsed,.studio-stage.inspector-collapsed.assistant-collapsed{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-bottom:84px}.studio-canvas-col{flex:none;display:flex;flex-direction:column;min-height:0}.studio-canvas-zone{flex:none;height:min(52vh,520px)}.studio-canvas-stage{flex-direction:column;height:auto}.studio-hero-card{height:min(34vh,320px);min-height:180px;max-height:none}.studio-hero-card .studio-hero{width:100%;height:100%;align-items:center}.studio-filmstrip{flex:none}.studio-inspector,.studio-inspector.collapsed{flex:none;grid-template-rows:auto minmax(0,1fr);place-items:stretch;max-height:none;padding:0}.studio-inspector.collapsed .studio-inspector-expand{writing-mode:horizontal-tb}.studio-inspector-body{max-height:46vh;overscroll-behavior:contain}.studio-dock{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:20;width:auto;max-height:62vh}.studio-dock-toggle{position:fixed;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;width:46px;height:46px;padding:0;flex-direction:row;justify-content:center;border-radius:14px;box-shadow:var(--shadow)}.studio-dock-toggle .studio-dock-toggle-label{display:none}.studio-dock-toggle .studio-dock-dot{top:8px;right:8px}}@media (max-width: 560px){.studio-canvas-zone{height:min(46vh,440px)}.studio-frame{width:112px}.studio-topbar{flex-wrap:wrap;row-gap:8px;-webkit-backdrop-filter:none;backdrop-filter:none}.studio-topbar-crumb{width:100%}.studio-topbar-right{margin-left:0;max-width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.studio-topbar-right>*{flex:none}.studio-topbar-right::-webkit-scrollbar{display:none}.studio-inspector-collapse,.studio-batch-filter button,.studio-hero-tools button,.studio-inspector-expand{min-height:40px}.studio-batch-filter button{padding:8px 16px}.studio-hero-tools button{padding:8px 12px}}@media (prefers-reduced-motion: reduce){.studio-shell,.studio-stage,.studio-frame,.studio-canvas-thumb,.studio-hero-card,.studio-hero-tools,.studio-batch-filter button,.studio-history-caret{transition:none}.studio-hero img,.studio-canvas-thumb img,.studio-canvas .image-card img,.studio-inspector-pane,.studio-dock-dot.busy{animation:none}}.message-markdown pre:has(>.apply-block-card){background:transparent;border:0;padding:0}.apply-block-card{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--radius-sm);background:var(--surface-solid);overflow:hidden;margin:6px 0}.apply-block-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);font-size:11.5px;font-weight:650;color:var(--muted);background:var(--surface-soft)}.apply-block-action{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;border:0;border-top:1px solid color-mix(in srgb,var(--accent) 34%,transparent);background:var(--accent);color:#fff;font-size:13px;font-weight:650;cursor:pointer;transition:background-color .16s ease}.apply-block-action:hover:not(:disabled){background:var(--accent-hover)}.apply-block-action:disabled{opacity:.7;cursor:wait}.apply-block-card pre{margin:0;padding:10px 12px;font-size:12px;line-height:1.65;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:220px;overflow-y:auto;background:transparent}.studio-thread-note{margin:8px 12px 0;font-size:11px;color:var(--faint);display:flex;align-items:center;gap:8px}.studio-thread-note:after{content:"";flex:1;border-top:1px dashed var(--line)}:root[data-theme=light] .night-grid{opacity:.5;-webkit-mask-image:radial-gradient(circle at 50% 0%,black,transparent 62%);mask-image:radial-gradient(circle at 50% 0%,black,transparent 62%)}:root[data-theme=light] .stage-grid:before,:root[data-theme=light] .primary-button{min-height:38px;padding:0 15px;border-color:transparent;border-radius:var(--radius-sm);background:var(--accent);box-shadow:0 1px 2px #1018281a,inset 0 1px #ffffff24;font-weight:600;letter-spacing:.01em}:root[data-theme=light] .primary-button:hover:not(:disabled){transform:none;border-color:transparent;background:var(--accent-hover);box-shadow:0 2px 6px #2444ba3d}:root[data-theme=light] .primary-button:active:not(:disabled){transform:scale(.985)}:root[data-theme=light] .secondary-button{min-height:36px;padding:0 13px;border-color:var(--line-strong);border-radius:var(--radius-sm);color:var(--text);background:var(--surface-solid);font-weight:550}:root[data-theme=light] .secondary-button:hover:not(:disabled){transform:none;border-color:#1118273d;background:var(--surface-solid)}:root[data-theme=light] .secondary-button:active:not(:disabled){transform:scale(.985)}:root[data-theme=light] .mini-button{min-height:28px;border-color:transparent;border-radius:var(--radius-xs);color:var(--muted);background:transparent;font-weight:550}:root[data-theme=light] .mini-button:hover:not(:disabled){transform:none;border-color:transparent;color:var(--text-strong);background:var(--surface-soft)}:root[data-theme=light] .icon-button{border-color:transparent;border-radius:var(--radius-sm);color:var(--muted);background:transparent}:root[data-theme=light] .icon-button:hover:not(:disabled){transform:none;border-color:transparent;color:var(--text-strong);background:var(--surface-soft)}:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea{border-color:#1118271f;border-radius:var(--radius-sm);background:var(--surface-solid)}:root[data-theme=light] input,:root[data-theme=light] select{min-height:38px}:root[data-theme=light] input:hover,:root[data-theme=light] select:hover,:root[data-theme=light] textarea:hover{border-color:#11182733}:root[data-theme=light] input:focus,:root[data-theme=light] select:focus,:root[data-theme=light] textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}:root[data-theme=light] input::placeholder,:root[data-theme=light] textarea::placeholder{color:var(--faint)}:root[data-theme=light] .rail-head{border-top-color:var(--line)}:root[data-theme=light] .rail-assets{border-bottom-color:var(--line)}:root[data-theme=light] .project-list .project-item{border-radius:10px}:root[data-theme=light] .project-item:hover{background:var(--surface-soft)}:root[data-theme=light] .project-item.active{border-color:transparent;background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}:root[data-theme=light] .project-item.active strong{color:var(--text-strong)}:root[data-theme=light] .option-chip{border:1px solid var(--line);border-radius:8px;color:var(--muted);background:var(--surface-solid);font-weight:550}:root[data-theme=light] .option-chip:hover{border-color:#11182733;color:var(--text-strong);background:var(--surface-solid)}:root[data-theme=light] .message{border:1px solid var(--line);border-radius:12px;background:var(--surface-solid)}:root[data-theme=light] .message.assistant{border-color:transparent;border-left:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:2px 12px 12px 2px;background:transparent}:root[data-theme=light] .message.user{border-color:color-mix(in srgb,var(--accent) 22%,transparent);border-radius:12px;background:var(--accent-soft)}:root[data-theme=light] .message-role{font-size:11px;font-weight:700;letter-spacing:.06em}:root[data-theme=light] .composer{border-color:#11182724;border-radius:14px;background:var(--surface-solid);box-shadow:var(--shadow-soft)}:root[data-theme=light] .composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}:root[data-theme=light] .mention-menu{border-color:var(--line);box-shadow:var(--shadow)}:root[data-theme=light] ::selection{background:color-mix(in srgb,var(--accent) 18%,transparent)}
