@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";
:root,[data-theme=dark]{--bg:#090b10;--surface:#0f121d;--surface-card:#151a26;--surface-hover:#1e2536;--ink:#f8fafc;--muted:#858eac;--faint:#262c3f;--line:#ffffff0d;--blue:#2b66ff;--teal:#10b981;--amber:#f59e0b;--red:#ef4444;--shadow:0 24px 64px #0009, 0 4px 16px #0006;--card-shadow:0 4px 20px #00000040, inset 0 1px 0 #ffffff08;--blue-glow:#2b66ff26;--teal-glow:#10b9811a;--overlay-bg:#0f121de0;--overlay-border:#ffffff0d;--logo-bg:#2b66ff;--button-hover:#1e2536}[data-theme=light]{--bg:#f8fafc;--surface:#fff;--surface-card:#fff;--surface-hover:#f1f5f9;--ink:#0f172a;--muted:#64748b;--faint:#eaedf1;--line:#eaedf1;--blue:#1677ff;--teal:#0d9488;--amber:#d97706;--red:#ea580c;--shadow:0 24px 64px #0f172a0f, 0 4px 16px #0f172a08;--card-shadow:0 4px 20px #00000005, inset 0 1px 0 #fff9;--blue-glow:#1677ff14;--teal-glow:#0d948814;--overlay-bg:#ffffffe6;--overlay-border:#0000000d;--logo-bg:#1677ff;--button-hover:#f1f5f9}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:background-color .3s,color .3s;overflow:hidden}h1,h2,h3,h4,h5,h6,strong,.brand-lockup strong,.usage-pill strong,.send-button,.specs-section strong,.model-grid button strong,.aspect-grid button strong,.detail-summary strong,.detail-grid strong,.dock-head strong,.section-title{font-family:Outfit,sans-serif}button,input,textarea,select{font:inherit;color:inherit;background:0 0;border:0;transition:all .2s cubic-bezier(.16,1,.3,1)}button{cursor:pointer;outline:none}button:active{transform:scale(.96)}a{color:var(--blue);text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#80808033;border-radius:999px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#80808066}::selection{color:#fff;background:#2b66ff40}.app-shell{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-main{flex:1;width:100%;height:100%;display:flex;overflow:hidden}.left-sidebar{border-right:1px solid var(--line);background:var(--surface);height:100%;box-shadow:var(--shadow);z-index:10;flex-direction:column;flex:0 0 390px;gap:18px;padding:22px;transition:background-color .3s,border-color .3s;display:flex;overflow-y:auto}.right-canvas{background:0 0;flex-direction:column;flex:1;gap:28px;height:100%;padding:24px 32px;display:flex;overflow-y:auto}.brand-header{justify-content:space-between;align-items:center;width:100%;display:flex}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-dot{background:var(--logo-bg);width:38px;height:38px;box-shadow:var(--blue-glow) 0 0 12px;border-radius:12px;transition:background-color .3s;display:block;position:relative}.brand-dot:after{content:"";border:2px solid #fff;border-radius:4px;position:absolute;inset:11px 9px}.brand-lockup strong{letter-spacing:.05em;color:var(--ink);font-size:18px;font-weight:900;display:block}.brand-lockup small{color:var(--muted);font-size:11px;font-weight:700;display:block}.theme-toggle-btn{background:var(--surface-card);border:1px solid var(--line);width:36px;height:36px;color:var(--ink);box-shadow:var(--card-shadow);border-radius:10px;place-items:center;font-size:16px;transition:all .2s cubic-bezier(.16,1,.3,1);display:grid}.theme-toggle-btn:hover{background:var(--surface-hover);border-color:var(--blue);color:var(--blue);transform:translateY(-1px)}.theme-toggle-btn:active{transform:scale(.95)}.promo-ticker{border:1px solid var(--line);background:var(--surface-card);border-radius:8px;overflow:hidden}.ticker-track{align-items:center;gap:24px;width:max-content;padding:6px 0;animation:28s linear infinite tickerMove;display:flex}.ticker-track span{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:700}.ticker-track span:before{background:var(--teal);content:"";border-radius:50%;width:5px;height:5px;margin:0 8px 1px 0;display:inline-block}@keyframes tickerMove{0%{transform:translate(0)}to{transform:translate(-50%)}}.auth-section{background:var(--surface-card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex}.usage-pill{justify-content:space-between;align-items:center;padding:4px 6px;display:flex}.usage-pill span{color:var(--muted);font-size:12px;font-weight:700}.usage-pill strong{color:var(--teal);font-size:16px;font-weight:800}.usage-pill small{color:var(--muted);margin-left:2px;font-size:11px}.session-pill{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding-top:10px;display:flex}.session-pill span{color:var(--muted);font-size:11px}.session-pill strong{font-family:monospace;font-size:12px}.session-pill button{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1)}.session-pill button:hover{background:var(--surface-hover);border-color:var(--blue);color:var(--blue)}.session-pill button:active{transform:scale(.95)}.login-trigger{text-align:center;background:var(--blue);border:1px solid var(--blue);color:#fff;width:100%;box-shadow:var(--blue-glow) 0 4px 12px;border-radius:10px;padding:11px;font-size:13px;font-weight:800;transition:all .2s cubic-bezier(.16,1,.3,1)}.login-trigger:hover{filter:brightness(1.08);box-shadow:var(--blue-glow) 0 6px 16px;transform:translateY(-1px)}.login-trigger:active{transform:translateY(0)scale(.98)}.creation-form{flex-direction:column;gap:16px;display:flex}.form-head{justify-content:space-between;align-items:center;margin-bottom:-4px;display:flex}.form-title-wrap{align-items:center;gap:8px;display:flex}.form-badge{background:var(--surface-card);color:var(--blue);text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:900}.form-head strong{color:var(--ink);font-size:14px;font-weight:800}.form-head small{color:var(--muted);font-size:11px}.prompt-box{border:1px solid var(--line);background:var(--surface-card);width:100%;min-height:100px;color:var(--ink);resize:vertical;border-radius:10px;outline:none;padding:12px 14px;font-size:14px;line-height:1.5;transition:all .2s}.prompt-box:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}.asset-row{background:var(--surface-card);border:1px dashed var(--line);border-radius:10px;align-items:center;gap:12px;padding:10px 14px;transition:all .2s;display:flex}.asset-row:hover{border-color:var(--blue);background:var(--surface-hover)}.asset-row input{display:none}.asset-tile{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:72px;height:62px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.asset-tile:hover{border-color:var(--blue);background:var(--surface-hover);transform:scale(1.02)}.asset-tile:active{transform:scale(.96)}.asset-tile b{font-size:18px;line-height:1}.asset-tile span{margin-top:2px;font-size:10px;font-weight:700}.asset-tile small{color:var(--muted);font-size:8px}.asset-row p{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.upload-status{background:var(--surface-card);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.upload-status span{border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;width:10px;height:10px;animation:.6s linear infinite uploadSpin}.upload-status strong{color:var(--teal);font-size:11px}@keyframes uploadSpin{to{transform:rotate(360deg)}}.reference-strip{flex-wrap:wrap;gap:8px;display:flex}.reference-chip{border:1px solid var(--line);background:var(--surface-card);border-radius:6px;align-items:center;gap:6px;padding:4px;animation:.2s ease-out chipIn;display:flex}@keyframes chipIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.reference-chip img{object-fit:cover;border-radius:4px;width:32px;height:24px}.reference-chip span{color:var(--blue);font-size:10px;font-weight:800}.reference-chip button{color:var(--muted);padding:0 4px;font-size:14px;line-height:1;transition:color .2s}.reference-chip button:hover{color:var(--ink)}.url-row{flex-direction:column;gap:8px;display:flex}.url-row textarea{border:1px solid var(--line);background:var(--surface-card);width:100%;min-height:60px;color:var(--ink);resize:vertical;border-radius:8px;outline:none;padding:10px;font-size:12px;transition:all .2s}.url-row textarea:focus{border-color:var(--blue)}.storage-note{color:var(--muted);margin:0;font-size:11px}.storage-note.r2{color:var(--teal)}.storage-note.direct{color:var(--amber)}.uploaded-url-panel{border:1px solid var(--line);background:var(--surface-card);border-radius:8px;padding:8px 10px}.uploaded-url-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.uploaded-url-head span{color:var(--teal);font-size:11px;font-weight:700}.uploaded-url-head button{background:var(--surface-hover);border:1px solid var(--line);color:var(--ink);border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700;transition:all .2s}.uploaded-url-head button:hover{background:var(--surface)}.uploaded-url-list{flex-direction:column;gap:4px;max-height:100px;display:flex;overflow-y:auto}.uploaded-url-list button{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:4px;justify-content:space-between;align-items:center;padding:5px 6px;font-size:10px;transition:all .2s;display:flex}.uploaded-url-list button:hover{background:var(--surface-hover)}.uploaded-url-list span{color:var(--blue);font-weight:800}.uploaded-url-list strong{text-overflow:ellipsis;white-space:nowrap;max-width:200px;color:var(--muted);overflow:hidden}.specs-section{border-top:1px solid var(--line);flex-direction:column;gap:12px;margin-top:4px;padding-top:16px;display:flex}.specs-section p{color:var(--muted);margin:0;font-size:12px;font-weight:800}.model-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.model-grid button{border:1px solid var(--line);background:var(--surface-card);text-align:left;border-radius:10px;flex-direction:column;padding:12px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.model-grid button:hover{border-color:var(--blue);background:var(--surface-hover);transform:translateY(-1px)}.model-grid button.selected{background:var(--surface-card);color:var(--ink);border-color:var(--blue);box-shadow:var(--blue-glow) 0 0 0 1px, var(--card-shadow)}.model-grid button:active{transform:scale(.97)}.model-grid span{text-transform:uppercase;opacity:.6;font-size:8px;font-weight:800}.model-grid strong{margin:2px 0;font-size:13px}.model-grid small{opacity:.8;font-size:10px}.model-grid .model-price{color:var(--blue);margin-top:6px;font-size:12px;font-style:normal;font-weight:800}.aspect-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.aspect-grid button{border:1px solid var(--line);background:var(--surface-card);border-radius:10px;flex-direction:column;align-items:center;padding:14px 6px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.aspect-grid button:hover{border-color:var(--blue);background:var(--surface-hover);transform:translateY(-1px)}.aspect-grid button.selected{border-color:var(--blue);background:var(--surface-hover);box-shadow:var(--blue-glow) 0 0 0 1px, var(--card-shadow)}.aspect-grid button:active{transform:scale(.97)}.aspect-preview{background:var(--surface);border-radius:4px;place-items:center;width:32px;height:24px;margin-bottom:6px;display:grid}.aspect-preview:after{border:1.5px solid var(--muted);content:"";border-radius:2px;display:block}.aspect-grid button.selected .aspect-preview:after{border-color:var(--blue)}.aspect-preview[data-aspect="16:9"]:after{width:22px;height:12px}.aspect-preview[data-aspect="9:16"]:after{width:11px;height:20px}.aspect-preview[data-aspect="1:1"]:after{width:15px;height:15px}.aspect-preview[data-aspect="4:3"]:after{width:18px;height:14px}.aspect-preview[data-aspect="3:4"]:after{width:14px;height:18px}.aspect-preview[data-aspect="21:9"]:after{width:24px;height:10px}.aspect-grid strong{font-size:12px}.aspect-grid small{color:var(--muted);margin-top:1px;font-size:9px}.duration-grid,.resolution-grid,.batch-grid{border:1px solid var(--line);background:var(--surface-hover);border-radius:10px;padding:2px;display:flex}.duration-grid button,.resolution-grid button,.batch-grid button{text-align:center;border-radius:8px;flex:1;padding:5px 6px;font-size:12px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1)}.duration-grid button:hover,.resolution-grid button:hover,.batch-grid button:hover{background:#8080800d}.duration-grid button.selected,.resolution-grid button.selected,.batch-grid button.selected{background:var(--surface-card);color:var(--blue);box-shadow:var(--card-shadow), 0 1px 3px #0000000d;font-weight:800}.duration-grid button:active,.resolution-grid button:active,.batch-grid button:active{transform:scale(.96)}.send-button{background:var(--blue);color:#fff;letter-spacing:.03em;width:100%;height:50px;box-shadow:var(--blue-glow) 0 8px 20px;border-radius:10px;justify-content:center;align-items:center;margin-top:8px;font-size:15px;font-weight:800;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.send-button:not(:disabled):hover{filter:brightness(1.05);box-shadow:var(--blue-glow) 0 12px 24px, var(--blue-glow) 0 2px 6px;transform:translateY(-2px)}.send-button:active{transform:translateY(0)scale(.98)}.send-button:disabled{opacity:.5;box-shadow:none;cursor:not-allowed;transform:none!important}.app-footer{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:auto;padding-top:16px;display:flex}.footer-brand{align-items:center;gap:8px;display:flex}.footer-mark{background:var(--ink);width:26px;height:26px;color:var(--surface);border-radius:6px;place-items:center;font-size:12px;font-weight:950;transition:background-color .3s,color .3s;display:grid}.footer-brand strong{font-size:11px}.footer-brand small,.footer-legal{color:var(--muted);font-size:10px}.preview-dock{background:var(--surface-card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:16px;padding:24px;transition:background-color .3s,border-color .3s;display:flex}.empty-monitor{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:360px;padding:48px 24px;display:flex}.empty-monitor strong{color:var(--ink);margin-bottom:8px;font-size:18px}.empty-monitor span{color:var(--muted);max-width:380px;font-size:13px;line-height:1.6}.dock-head{justify-content:space-between;align-items:center;display:flex}.dock-head-title{flex-direction:column;display:flex}.dock-head-title span{color:var(--muted);font-size:11px;font-weight:700}.dock-head-title strong{margin-top:2px;font-size:20px;font-weight:900}.video-stage{aspect-ratio:16/9;background:#000;border-radius:12px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.video-stage video{object-fit:contain;width:100%;height:100%}.stage-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex;position:absolute;inset:0}.render-suite{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:500px;display:flex}.render-animation{width:120px;height:120px;box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}.lens-ring-outer{border:1.5px solid #ffffff1a;border-top-color:var(--teal);border-bottom-color:var(--teal);opacity:.9;border-radius:50%;width:110px;height:110px;animation:6s linear infinite spin-counter-clockwise;position:absolute}.lens-ring-middle{border:2px dashed #2b66ff33;border-top-color:var(--blue);border-bottom-color:var(--blue);opacity:.95;border-radius:50%;width:80px;height:80px;animation:3s linear infinite spin-clockwise;position:absolute}.lens-ring-inner{background:#2b66ff0d;border:1.5px solid #2b66ff66;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;animation:2s ease-in-out infinite breathe;display:flex;position:absolute}.core-dot{background:var(--blue);width:8px;height:8px;box-shadow:0 0 16px 4px var(--blue), 0 0 6px 1px var(--blue);border-radius:50%;display:block}.camera-bracket{border:1.5px solid var(--blue);opacity:.7;width:10px;height:10px;position:absolute}.camera-bracket.tl{border-bottom:0;border-right:0;top:-10px;left:-10px}.camera-bracket.tr{border-bottom:0;border-left:0;top:-10px;right:-10px}.camera-bracket.bl{border-top:0;border-right:0;bottom:-10px;left:-10px}.camera-bracket.br{border-top:0;border-left:0;bottom:-10px;right:-10px}.scanner-line{background:var(--teal);height:2px;box-shadow:0 0 12px var(--teal), 0 0 4px var(--teal);opacity:0;animation:2.5s cubic-bezier(.4,0,.2,1) infinite scan-vertical;position:absolute;left:-12px;right:-12px}@keyframes spin-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-counter-clockwise{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes breathe{0%,to{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@keyframes scan-vertical{0%{opacity:0;top:-10px}10%,90%{opacity:1}to{opacity:0;top:130px}}.render-meta{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;display:grid}.render-meta div{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px}.render-meta span{color:var(--muted);font-size:10px;font-weight:700;display:block}.render-meta strong{margin-top:2px;font-size:14px;display:block}.render-steps{border-top:1px solid var(--line);justify-content:space-between;gap:6px;width:100%;padding-top:14px;display:flex}.render-steps span{text-align:center;background:var(--surface);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:4px;flex:1;padding:6px;font-size:10px;font-weight:700}.render-steps span.active{background:var(--teal-glow);border-color:var(--teal);color:var(--teal)}.task-metrics{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.task-metrics span{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:4px 10px;font-size:11px;font-weight:700}.dock-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-top:16px;display:flex}.dock-actions button,.dock-actions a{background:var(--surface-card);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-size:12px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.dock-actions button:hover,.dock-actions a:hover:not(.download-action){background:var(--surface-hover);border-color:var(--blue);color:var(--blue)}.dock-actions button:active,.dock-actions a:active{transform:scale(.96)}.dock-actions a.download-action{background:var(--blue);color:#fff;box-shadow:var(--blue-glow) 0 4px 12px;border:0}.dock-actions a.download-action:hover{filter:brightness(1.05);box-shadow:var(--blue-glow) 0 8px 16px;transform:translateY(-2px)}.dock-actions a.download-action:active{transform:translateY(0)scale(.98)}.dock-actions button:disabled{opacity:.4;cursor:not-allowed;background:var(--surface-card);border-color:var(--line);color:var(--muted)!important;transform:none!important}.task-error{color:var(--red);background:#dd3b3b0d;border:1px solid #dd3b3b33;border-radius:8px;margin:0;padding:10px 14px;font-size:12px}.workspace-section{flex-direction:column;gap:16px;display:flex}.section-title{color:var(--ink);justify-content:space-between;align-items:center;margin:0;font-size:18px;font-weight:900;display:flex}.section-title small{color:var(--muted);font-size:11px;font-weight:700}.workspace-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.workspace-card{background:var(--surface-card);border:1px solid var(--line);cursor:pointer;box-shadow:var(--card-shadow);border-radius:12px;flex-direction:column;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.workspace-card:hover{border-color:var(--blue);transform:translateY(-2px)}.workspace-card.active{border-color:var(--blue);box-shadow:var(--blue-glow) 0 0 12px}.card-media{aspect-ratio:16/9;background:#000;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.card-media video{object-fit:cover;pointer-events:none;width:100%;height:100%}.card-placeholder{color:var(--muted);background:#8080800d;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:absolute;inset:0}.card-placeholder.in_progress,.card-placeholder.queued{color:var(--amber)}.card-placeholder.failed{color:var(--red)}.card-badge{color:var(--muted);text-transform:uppercase;background:#0009;border-radius:4px;padding:3px 6px;font-size:8px;font-weight:900;position:absolute;top:8px;left:8px}.card-badge.completed{color:var(--teal)}.card-badge.in_progress,.card-badge.queued{color:var(--amber)}.card-badge.failed{color:var(--red)}.card-info{flex-direction:column;gap:6px;padding:10px;display:flex}.card-prompt{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.8em;margin:0;font-size:12px;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.card-meta{color:var(--muted);align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.empty-workspace{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:12px;margin:0;padding:48px;font-size:13px}.history-overlay,.detail-overlay,.login-overlay{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0006;place-items:center;padding:16px;animation:.2s overlayIn;display:grid;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.login-card,.detail-card,.history-drawer{background:var(--overlay-bg);border:1px solid var(--overlay-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:16px;animation:.25s cubic-bezier(.34,1.56,.64,1) modalIn}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.login-card{width:min(420px,100%);padding:24px;position:relative}.login-close{background:var(--surface-card);border:1px solid var(--line);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;font-size:18px;transition:all .2s;display:grid;position:absolute;top:16px;right:16px}.login-close:hover{background:var(--surface-hover);color:var(--ink)}.login-card h2{margin:0 0 18px;font-size:22px;font-weight:900}.login-field{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.login-field span{color:var(--muted);font-size:11px;font-weight:700}.login-field input{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:8px;outline:none;padding:12px 14px;font-size:13px;transition:all .2s}.login-field input:focus{border-color:var(--blue)}.login-actions{justify-content:flex-end;gap:10px;display:flex}.login-actions button{border-radius:10px;padding:10px 18px;font-size:12px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1)}.login-actions button:first-child{background:var(--surface-card);border:1px solid var(--line)}.login-actions button:first-child:hover{background:var(--surface-hover);border-color:var(--blue);color:var(--blue)}.login-actions button:active{transform:scale(.96)}.login-actions button.primary{background:var(--blue);color:#fff;box-shadow:var(--blue-glow) 0 4px 12px}.login-actions button.primary:hover{filter:brightness(1.05);box-shadow:var(--blue-glow) 0 8px 16px;transform:translateY(-2px)}.login-actions button.primary:active{transform:translateY(0)scale(.98)}.detail-card{width:min(640px,100%);max-height:calc(100vh - 40px);padding:24px;overflow-y:auto}.detail-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;display:flex}.detail-head-title span{color:var(--muted);font-size:11px}.detail-head h2{margin:2px 0 0;font-size:20px}.detail-head button{background:var(--surface-card);border:1px solid var(--line);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;font-size:18px;transition:all .2s;display:grid}.detail-head button:hover{background:var(--surface-hover);color:var(--ink)}.detail-summary,.detail-grid{gap:8px;display:grid}.detail-summary{grid-template-columns:repeat(4,1fr);margin-bottom:8px}.detail-grid{grid-template-columns:repeat(2,1fr)}.detail-summary div,.detail-grid div{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px}.detail-summary span,.detail-grid span,.detail-prompt span,.media-link-list span,.detail-error span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700;display:block}.detail-summary strong,.detail-grid strong{overflow-wrap:anywhere;margin-top:4px;font-size:13px;display:block}.detail-prompt,.media-link-list,.detail-error{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-top:8px;padding:10px}.detail-prompt p,.detail-error p{white-space:pre-wrap;margin:6px 0 0;font-size:12px;line-height:1.5}.detail-error{background:#dd3b3b08;border-color:#dd3b3b40}.detail-error p{color:var(--red)}.media-link-list{flex-direction:column;gap:6px;display:flex}.media-link-list a{text-overflow:ellipsis;white-space:nowrap;background:var(--surface-card);border:1px solid var(--line);border-radius:4px;padding:6px 8px;font-size:11px;display:block;overflow:hidden}.detail-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.detail-actions button,.detail-actions a{background:var(--surface-card);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;font-size:11px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.detail-actions button:hover,.detail-actions a:hover:not(.download-action){background:var(--surface-hover);border-color:var(--blue);color:var(--blue)}.detail-actions button:active,.detail-actions a:active{transform:scale(.96)}.detail-actions a.download-action{background:var(--blue);color:#fff;border:0}.detail-actions a.download-action:hover{filter:brightness(1.05);box-shadow:var(--blue-glow) 0 8px 16px;transform:translateY(-2px)}.detail-actions a.download-action:active{transform:translateY(0)scale(.98)}.toast-error{z-index:120;background:var(--red);color:#fff;border-radius:99px;max-width:min(500px,100% - 32px);padding:10px 18px;font-size:12px;font-weight:700;animation:.2s both toastIn;position:fixed;bottom:86px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #dd3b3b4d}.toast-notice{z-index:120;background:var(--teal);color:#fff;border-radius:99px;max-width:min(500px,100% - 32px);padding:10px 18px;font-size:12px;font-weight:800;animation:.2s both toastIn;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00b88440}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.history-drawer{width:min(440px,100%);max-height:calc(100vh - 40px);padding:24px;position:relative;overflow-y:auto}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;padding-right:36px;display:flex}.drawer-head h2{margin:0;font-size:20px}.drawer-close-btn{background:var(--surface-card);border:1px solid var(--line);width:28px;height:28px;color:var(--muted);border-radius:50%;place-items:center;font-size:14px;transition:all .2s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:20px;right:20px}.drawer-close-btn:hover{background:var(--surface-hover);border-color:var(--blue);color:var(--blue);transform:scale(1.05)}.drawer-close-btn:active{transform:scale(.95)}.drawer-refresh-btn{background:var(--surface-card);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:6px 14px;font-size:11px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1)}.drawer-refresh-btn:hover{background:var(--surface-hover);border-color:var(--blue);color:var(--blue)}.drawer-refresh-btn:active{transform:scale(.96)}.history-list{flex-direction:column;gap:10px;display:flex}.history-item{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.history-item-top{justify-content:space-between;align-items:center;display:flex}.history-cost{color:var(--amber);background:#f2a9001a;border-radius:4px;padding:3px 6px;font-size:9px;font-weight:800}.history-item strong{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.history-item small{color:var(--muted);font-size:10px}.history-actions{justify-content:flex-end;gap:6px;display:flex}.history-actions button,.history-actions a{background:var(--surface-card);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1)}.history-actions button:hover,.history-actions a:hover{background:var(--surface-hover);border-color:var(--blue);color:var(--blue)}.history-actions button:active,.history-actions a:active{transform:scale(.96)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (max-width:1023px){html,body{height:auto;overflow:auto}.app-shell{height:auto;overflow:visible}.app-main{flex-direction:column;height:auto;overflow:visible}.left-sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;box-shadow:none;flex:auto;overflow-y:visible}.right-canvas{width:100%;height:auto;padding:16px;overflow-y:visible}.aspect-grid{grid-template-columns:repeat(3,1fr)}.workspace-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}}@media (max-width:480px){.aspect-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.detail-summary{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-delay:0s!important}}
