.image-animation-container{position:relative;width:100%;height:100%;overflow:hidden;background:#000}.animated-image{width:100%;height:100%;object-fit:cover}@keyframes panRight{0%{transform:scale(1.2) translate(-10%)}to{transform:scale(1.2) translate(0)}}.animate-pan-right{animation:panRight var(--animation-duration, 5s) linear infinite;transform-origin:center center}@keyframes panLeft{0%{transform:scale(1.2) translate(0)}to{transform:scale(1.2) translate(-10%)}}.animate-pan-left{animation:panLeft var(--animation-duration, 5s) linear infinite;transform-origin:center center}@keyframes panDown{0%{transform:scale(1.2) translateY(-10%)}to{transform:scale(1.2) translateY(0)}}.animate-pan-down{animation:panDown var(--animation-duration, 5s) linear infinite;transform-origin:center center}@keyframes panUp{0%{transform:scale(1.2) translateY(0)}to{transform:scale(1.2) translateY(-10%)}}.animate-pan-up{animation:panUp var(--animation-duration, 5s) linear infinite;transform-origin:center center}@keyframes zoomIn{0%{transform:scale(1)}to{transform:scale(1.5)}}.animate-zoom-in{animation:zoomIn var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes zoomOut{0%{transform:scale(1.5)}to{transform:scale(1)}}.animate-zoom-out{animation:zoomOut var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes zoomInPanRight{0%{transform:scale(1) translate(-5%)}to{transform:scale(1.5) translate(0)}}.animate-zoom-in-pan-right{animation:zoomInPanRight var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes zoomInPanLeft{0%{transform:scale(1) translate(5%)}to{transform:scale(1.5) translate(0)}}.animate-zoom-in-pan-left{animation:zoomInPanLeft var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes zoomInPanDown{0%{transform:scale(1) translateY(-8%)}to{transform:scale(1.5) translateY(0)}}.animate-zoom-in-pan-down{animation:zoomInPanDown var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes zoomInPanUp{0%{transform:scale(1) translateY(8%)}to{transform:scale(1.5) translateY(0)}}.animate-zoom-in-pan-up{animation:zoomInPanUp var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes zoomOutPanRight{0%{transform:scale(1.5) translate(-5%)}to{transform:scale(1) translate(0)}}.animate-zoom-out-pan-right{animation:zoomOutPanRight var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes zoomOutPanLeft{0%{transform:scale(1.5) translate(5%)}to{transform:scale(1) translate(0)}}.animate-zoom-out-pan-left{animation:zoomOutPanLeft var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes rotateCw{0%{transform:scale(1.3) rotate(0)}to{transform:scale(1.3) rotate(8deg)}}.animate-rotate-cw{animation:rotateCw var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes rotateCcw{0%{transform:scale(1.3) rotate(0)}to{transform:scale(1.3) rotate(-8deg)}}.animate-rotate-ccw{animation:rotateCcw var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes panDiagonalTlBr{0%{transform:scale(1.3) translate(-8%,-8%)}to{transform:scale(1.3) translate(0)}}.animate-pan-diagonal-tl-br{animation:panDiagonalTlBr var(--animation-duration, 5s) linear infinite;transform-origin:center center}@keyframes panDiagonalTrBl{0%{transform:scale(1.3) translate(8%,-8%)}to{transform:scale(1.3) translate(0)}}.animate-pan-diagonal-tr-bl{animation:panDiagonalTrBl var(--animation-duration, 5s) linear infinite;transform-origin:center center}@keyframes panDiagonalBlTr{0%{transform:scale(1.3) translate(-8%,8%)}to{transform:scale(1.3) translate(0)}}.animate-pan-diagonal-bl-tr{animation:panDiagonalBlTr var(--animation-duration, 5s) linear infinite;transform-origin:center center}@keyframes panDiagonalBrTl{0%{transform:scale(1.3) translate(8%,8%)}to{transform:scale(1.3) translate(0)}}.animate-pan-diagonal-br-tl{animation:panDiagonalBrTl var(--animation-duration, 5s) linear infinite;transform-origin:center center}@keyframes zoomPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.animate-zoom-pulse{animation:zoomPulse var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes driftRight{0%{transform:scale(1.2) translate(-3%) translateY(-2%)}50%{transform:scale(1.2) translate(0) translateY(2%)}to{transform:scale(1.2) translate(-3%) translateY(-2%)}}.animate-drift-right{animation:driftRight var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}@keyframes driftLeft{0%{transform:scale(1.2) translate(3%) translateY(-2%)}50%{transform:scale(1.2) translate(0) translateY(2%)}to{transform:scale(1.2) translate(3%) translateY(-2%)}}.animate-drift-left{animation:driftLeft var(--animation-duration, 5s) ease-in-out infinite;transform-origin:center center}.animation-preview-badge{position:absolute;bottom:8px;left:8px;background:#8b5cf6e6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:4px;z-index:10;box-shadow:0 2px 8px #0000004d}.animation-preview-icon{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes highlightPulse{0%,to{opacity:.95;filter:brightness(1)}50%{opacity:.55;filter:brightness(1.25)}}.animation-controls{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:10;opacity:0;transition:opacity .2s}.image-animation-container:hover .animation-controls{opacity:1}.animation-control-button{background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border:1px solid rgba(255,255,255,.2);padding:4px 8px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.animation-control-button:hover{background:#000000e6;transform:scale(1.05)}.animated-image.paused{animation-play-state:paused}.animate-none{animation:none;transform:none}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes segTransFadeIn{0%{opacity:0}to{opacity:1}}@keyframes segTransSlideIn{0%{transform:translate(100%);opacity:.3}to{transform:translate(0);opacity:1}}@keyframes segTransWipeIn{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes segTransZoomIn{0%{transform:scale(1.3);opacity:0}to{transform:scale(1);opacity:1}}@keyframes segTransDissolveIn{0%{opacity:0;filter:blur(12px) brightness(1.2)}50%{opacity:.7;filter:blur(4px) brightness(1.05)}to{opacity:1;filter:blur(0) brightness(1)}}.source-home{--source-accent: #67e8f9;width:100%;max-width:1024px;margin:0 auto}.source-entry-grid{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:12px}.source-entry-grid>button{min-width:0}@media(max-width:639px){.source-entry-grid{grid-auto-flow:row;grid-template-columns:1fr}}.source-home-theater{--source-accent: #f0abfc}.source-composer{position:relative;border:1px solid #47556999;background:#1e293b;border-radius:28px;padding:12px;box-shadow:0 12px 40px #02061726;transition:border-color .2s,box-shadow .2s}.source-composer:focus-within,.source-composer-dragging{border-color:var(--source-accent);box-shadow:0 0 0 3px #94a3b812}.source-composer-row{display:flex;align-items:flex-end;gap:10px}.source-composer textarea{flex:1;min-width:0;background:transparent;color:#f1f5f9;border:0;outline:none;resize:none;padding:10px 0;font-size:17px;line-height:24px;max-height:180px}.source-composer textarea::placeholder{color:#94a3b8}.source-add{position:relative;flex-shrink:0}.source-plus,.source-send{display:flex;justify-content:center;align-items:center;width:44px;height:44px;border-radius:50%;flex-shrink:0}.source-plus{color:#cbd5e1;font-size:30px;font-weight:300;line-height:1}.source-plus:hover,.source-plus[aria-expanded=true]{background:#334155;color:#fff}.source-send{background:var(--source-accent);color:#0f172a;transition:opacity .2s,transform .2s}.source-send:hover:not(:disabled){transform:translateY(-1px)}.source-send:disabled{background:#334155;color:#64748b;cursor:not-allowed}.source-home button:focus-visible,.source-options summary:focus-visible{outline:2px solid var(--source-accent);outline-offset:3px}.source-add-menu{position:absolute;top:calc(100% + 16px);left:0;z-index:40;width:280px;padding:6px;border:1px solid #475569;border-radius:16px;background:#1e293b;box-shadow:0 16px 48px #02061788}.source-add-menu button{display:flex;width:100%;align-items:center;gap:12px;padding:12px;border-radius:10px;text-align:left;color:#e2e8f0;font-size:14px}.source-add-menu button:hover,.source-add-menu button:focus-visible{background:#334155}.source-add-menu small{display:block;margin-top:3px;color:#94a3b8;font-size:11px}.source-hint{margin:12px 12px 0;color:#94a3b8;font-size:12px;line-height:1.8;text-align:center}.source-hint span{display:block;color:#64748b;font-size:11px}.source-attachments{display:flex;flex-wrap:wrap;gap:8px;padding:2px 6px 12px}.source-attachment{display:flex;align-items:center;gap:8px;max-width:100%;border:1px solid #475569;background:#33415580;border-radius:12px;padding:6px 8px 6px 12px;color:#cbd5e1;font-size:12px}.source-attachment>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-attachment button{width:28px;height:28px;border-radius:50%;flex-shrink:0;font-size:20px}.source-attachment button:hover{background:#475569}.source-options{margin-top:20px;padding:16px;border:1px solid #334155;border-radius:16px;background:#1e293b80}.source-options summary{cursor:pointer;color:#cbd5e1;font-size:13px}.source-options summary>span{margin-left:8px;color:#64748b;font-size:12px}@media(max-width:480px){.source-composer{padding:8px;border-radius:25px}.source-composer-row{gap:4px}.source-composer textarea{font-size:15px}.source-plus,.source-send{width:40px;height:44px}.source-send{height:40px;margin-bottom:2px}.source-add-menu{width:min(280px,calc(100vw - 64px))}}@media(prefers-reduced-motion:reduce){.source-home *{transition:none!important}}.script-writing-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;width:min(520px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:36px;color:#f8fafc;background:#334155c7;border:1px solid rgba(203,213,225,.18);border-radius:24px;box-shadow:0 24px 80px #02061766,0 12px 40px #22d3ee18;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.script-writing-dialog::backdrop{background:#0f172a9e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.script-writing-heading{display:flex;align-items:center;justify-content:center;gap:16px}.script-writing-heading h2{margin:0;font-size:clamp(24px,5vw,30px);font-weight:700}.script-writing-spinner{width:38px;height:38px;flex-shrink:0;border:3px solid #22d3ee26;border-top-color:#22d3ee;border-right-color:#22d3ee;border-radius:50%;animation:script-writing-spin 1s linear infinite}.script-writing-label{margin-top:30px;color:#67e8f9;font-size:12px;letter-spacing:.12em}.script-writing-message{min-height:112px;padding:16px 0;font-size:18px;line-height:1.8;overflow-wrap:anywhere}.script-writing-message p{margin:0;animation:script-writing-appear .45s ease-out both}.script-writing-description{margin:8px 0 0;padding-top:18px;border-top:1px solid #cbd5e11a;color:#cbd5e1;font-size:12px;line-height:1.7}@keyframes script-writing-spin{to{transform:rotate(360deg)}}@keyframes script-writing-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:480px){.script-writing-dialog{padding:28px 24px}}@media(prefers-reduced-motion:reduce){.script-writing-spinner,.script-writing-message p{animation:none}}
