:root{color:#f4eddf;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#f4eddf;--muted:#a89b84;--faint:#706653;--ocean:#15120d;--ocean-deep:#080705;--panel:#12100c;--panel-raised:#1d1911;--accent:#c8a45c;--accent-hot:#e0bd76;--accent-soft:#edd39a;--line:#cdae6933;--line-strong:#d8b76f66;--danger:#d47a68;--success:#b9c79d;background:#050504;font-family:Avenir Next,SF Pro Display,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html{background:#050504;min-width:320px;min-height:100%}body{min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.45}#root{min-height:100dvh}.app-shell{background:radial-gradient(circle at 18% 8%,#28767338,#0000 34%),radial-gradient(circle at 84% 82%,#ff763621,#0000 32%),#030d11;grid-template-columns:minmax(0,1fr);place-items:stretch center;min-height:100dvh;display:grid}.mobile-app{isolation:isolate;background:linear-gradient(165deg, #1140444d, transparent 46%), var(--ocean-deep);flex-direction:column;width:100%;min-width:0;max-width:560px;height:100dvh;display:flex;position:relative;overflow:hidden}.eyebrow{color:var(--accent-soft);letter-spacing:.16em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:700}.action-button,.icon-button,.tool-button,.record-button,.gyro-button,.recenter-button,.cancel-button,.confirm-button,.generation-screen__back{touch-action:manipulation}.action-button{min-height:40px;color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:#06222be0;border:1px solid #ffb4838f;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 8px 24px #0003}.action-button svg{width:17px;height:17px}.action-button--primary{border-color:var(--accent);color:#1b0d06;background:linear-gradient(135deg,#ff914f,#ed6631)}.icon-button{border:1px solid var(--line-strong);width:40px;height:40px;color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:#06222bcc;border-radius:11px;place-items:center;text-decoration:none;display:grid}.icon-button svg{width:19px;height:19px}.video-stage{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 0 max(10px, env(safe-area-inset-left));background:linear-gradient(180deg, #083340fa, #05232efa), var(--panel);border-bottom:1px solid var(--line);flex:none;position:relative}.video-stage__header{z-index:4;top:calc(max(10px, env(safe-area-inset-top)) + 8px);left:calc(max(10px, env(safe-area-inset-left)) + 8px);right:calc(max(10px, env(safe-area-inset-right)) + 8px);pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute}.video-stage__header>*{pointer-events:auto}.video-stage--android .video-stage__header{min-height:40px;margin-bottom:6px;position:relative;inset:auto}.video-stage__header-actions{align-items:center;gap:6px;display:flex}.restart-button{color:#e9d8b4;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:#0a0907d6;border:1px solid #cdaa606b;border-radius:2px;justify-content:center;align-items:center;gap:5px;height:40px;padding:0 10px;font-size:9px;font-weight:700;display:inline-flex}.restart-button svg{width:14px;height:14px}.video-stage__version{border:1px solid var(--line);color:#e9f8f29e;letter-spacing:.16em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#03141b8f;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800}.video-stage__frame{border:1px solid var(--line-strong);background:linear-gradient(#327e800f 1px,#0000 1px) 0 0/32px 32px,linear-gradient(90deg,#327e800f 1px,#0000 1px) 0 0/32px 32px,radial-gradient(circle at 50% 52%,#105160 0%,#072d3a 44%,#041b24 80%);border-radius:17px;height:min(min(100vw,560px)/1.73333 - 11.5385px,max(80px,100dvh - 320px));position:relative;overflow:hidden}.video-stage__frame:after{pointer-events:none;content:"";background:linear-gradient(#03141b1f,#0000 28% 74%,#03141b61),radial-gradient(circle at 50% 40%,#0000 22%,#03111633 100%);position:absolute;inset:0}.video-stage--android .video-stage__frame{height:max(80px,min(min(100vw,560px)/1.73333 - 57.5385px,100dvh - 366px))}.video-stage__frame video{object-fit:contain;pointer-events:none;background:#02090c;width:100%;height:100%;display:block}.video-stage__surface{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.video-stage__surface:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.video-stage__frame video::-webkit-media-controls{display:none!important}.empty-video{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:58px 34px 28px;display:flex;position:absolute;inset:0}.empty-video h2{letter-spacing:.02em;margin:4px 0 7px;font-family:Didot,Songti SC,serif;font-size:clamp(22px,6vw,32px);font-weight:500}.empty-video>p:last-child{max-width:330px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.empty-video__orb{border:1px solid #ff975b47;border-radius:50%;width:72px;height:72px;margin-bottom:11px;animation:4s ease-in-out infinite breathe;position:relative}.empty-video__orb:before,.empty-video__orb:after{content:"";border:1px solid #ff975b33;border-radius:50%;position:absolute}.empty-video__orb:before{inset:9px}.empty-video__orb:after{background:radial-gradient(circle at 38% 34%,#ffb17c,#ff7131 48%,#9e3519);inset:20px;box-shadow:0 0 32px #ff6e317a}.empty-video__orb span{transform-origin:50%;background:linear-gradient(#0000,#ff945861,#0000);width:1px;height:94px;position:absolute;top:50%;left:50%}.empty-video__orb span:nth-child(2){transform:rotate(60deg)}.empty-video__orb span:nth-child(3){transform:rotate(120deg)}.video-stage__processing{z-index:3;color:#ffd7be;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;touch-action:manipulation;white-space:nowrap;background:#04181ec2;border:1px solid #ffaa7640;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:11px;display:flex;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.loading-pulse{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1.5s infinite pulse;box-shadow:0 0 #ff8243b3}.video-stage__badge{z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#031218b8;border-radius:8px;align-items:baseline;gap:5px;padding:6px 9px;display:flex;position:absolute;bottom:12px;right:12px}.video-stage__badge span{color:var(--muted);letter-spacing:.14em;font-size:8px;font-weight:700}.video-stage__badge strong{color:var(--accent-soft);font-family:SFMono-Regular,Consolas,monospace;font-size:16px}.video-stage__timeline{align-items:center;gap:12px;height:47px;display:flex}.timeline-play{color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:11px;font-weight:700;display:inline-flex}.timeline-play svg{border:1px solid var(--line-strong);border-radius:50%;width:17px;height:17px;padding:3px}.timeline-track{flex:1;grid-template-columns:1fr auto auto;align-items:center;gap:8px;min-width:0;display:grid}.timeline-track input[type=range]{appearance:none;width:100%;height:14px;accent-color:var(--accent);background:0 0;margin:0}.timeline-track input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--video-progress), var(--line-strong) var(--video-progress));border-radius:2px;height:4px}.timeline-track input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:0;border-radius:50%;width:14px;height:14px;margin-top:-5px}.timeline-track input[type=range]::-moz-range-track{background:var(--line-strong);border-radius:2px;height:4px}.timeline-track input[type=range]::-moz-range-progress{background:var(--accent);height:4px}.timeline-track input[type=range]::-moz-range-thumb{background:var(--accent);border:0;border-radius:50%;width:14px;height:14px}.timeline-track span{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.camera-deck{isolation:isolate;min-width:0;min-height:0;padding:14px 15px max(5px, env(safe-area-inset-bottom));padding-left:max(15px, env(safe-area-inset-left));padding-right:max(15px, env(safe-area-inset-right));background:radial-gradient(circle at 84% 78%,#ff793a12,#0000 32%),linear-gradient(#082b36,#051e27);flex-direction:column;flex:auto;gap:12px;display:flex;position:relative;overflow:hidden auto}.camera-deck:before{z-index:1;pointer-events:none;content:"";background:linear-gradient(#070605f5 0,#070605b8 58px,#07060514 132px,#0000 62%),linear-gradient(0deg,#050504e6 0,#05050461 68px,#0000 148px);position:absolute;inset:0}.camera-deck>:not(.camera-viewport){z-index:2;position:relative}.camera-deck__toolbar{text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 8px;min-width:0;min-height:34px;display:grid}.camera-deck__title{text-transform:none;flex-direction:column;flex:none;align-items:flex-start;gap:3px;display:flex}.camera-deck__title span{color:var(--accent-soft);letter-spacing:.13em;font-size:8px;font-weight:800}.camera-deck__title h1{color:var(--ink);margin:0;font-family:Didot,Songti SC,serif;font-size:clamp(15px,2.5vw,20px);font-weight:500}.camera-deck__actions{grid-area:2/1/auto/-1;grid-template-columns:repeat(3,minmax(0,1fr));justify-self:center;align-items:center;gap:8px;width:min(100%,360px);min-width:0;display:grid}.compact-action{border:1px solid var(--line);min-width:0;height:36px;color:var(--muted);letter-spacing:.02em;white-space:nowrap;cursor:pointer;background:#ffffff06;border-radius:1px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.compact-action svg{width:14px;height:14px}.compact-action--record{color:var(--accent-soft);background:#b7893d1a;border-color:#d8b46875}.compact-action--record.is-recording{color:#e8b09e;background:#6f271d4d;border-color:#cd7058a6}.compact-clock{min-width:60px;color:var(--muted);white-space:nowrap;grid-area:1/2;justify-content:flex-end;align-items:center;gap:2px;margin-left:auto;font-family:SFMono-Regular,Consolas,monospace;font-size:8px;display:flex}.compact-clock svg{width:11px;height:11px;margin-right:1px}.compact-clock strong{color:var(--ink);font-size:11px;font-weight:600}.compact-clock.is-live,.compact-clock.is-live strong{color:#e1a998}.camera-deck__header{justify-content:space-between;align-items:flex-start;display:flex}.camera-deck__header h2{margin:0;font-family:Didot,Songti SC,serif;font-size:24px;font-weight:500}.recording-clock{border:1px solid var(--line);color:var(--muted);background:#ffffff06;border-radius:9px;align-items:baseline;gap:4px;padding:7px 9px;font-size:10px;display:flex}.recording-clock svg{width:13px;height:13px;margin-right:2px}.recording-clock strong{color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:15px}.camera-deck__tools{grid-template-columns:1.35fr 1fr .82fr;gap:8px;min-width:0;display:grid}.record-button,.tool-button{border:1px solid var(--line-strong);min-width:0;min-height:42px;color:var(--ink);cursor:pointer;background:#ffffff09;border-radius:10px;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.record-button.is-recording{color:#faa;background:#ff474729;border-color:#ff5c5ca3;animation:1.6s ease-in-out infinite recordGlow}.tool-button svg,.record-button svg{width:15px;height:15px}.recorded-strip{border:1px solid var(--line);background:#ffffff06;border-radius:13px;grid-template-columns:118px 1fr;align-items:center;gap:12px;padding:9px;display:grid}.recorded-strip>div:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.recorded-strip span,.camera-summary-card span{color:var(--accent-soft);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:700}.recorded-strip strong,.camera-summary-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.recorded-strip small,.camera-summary-card small{color:var(--muted);font-size:9px}.camera-viewport{background:#0c2229;border:1px solid #b1d9d233;border-radius:14px;width:100%;height:clamp(134px,19svh,174px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05,0 12px 32px #00000029}.camera-viewport canvas{width:100%;height:100%;display:block}.camera-viewport:after{pointer-events:none;content:"";border-radius:inherit;position:absolute;inset:0;box-shadow:inset 0 0 35px #010b0f47}.camera-viewport__hud{z-index:2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#021016a6;border:1px solid #d1ebe41c;border-radius:7px;align-items:center;gap:8px;padding:5px 7px;font-family:SFMono-Regular,Consolas,monospace;display:flex;position:absolute;top:8px;left:8px}.camera-viewport__hud span{color:#71cfd2;letter-spacing:.1em;font-size:7px;font-weight:800}.camera-viewport__hud span.is-recording:before{content:"";background:#ff6d61;border-radius:50%;width:5px;height:5px;margin-right:4px;animation:1.4s infinite pulse;display:inline-block;box-shadow:0 0 8px #ff5d4fb8}.camera-viewport__hud strong{color:#ebf7f2b8;letter-spacing:.07em;font-size:7px;font-weight:600}.camera-viewport__map{z-index:2;background:#031217b8;border:1px solid #d5eee82e;border-radius:8px;width:91px;position:absolute;top:8px;right:8px;overflow:hidden;box-shadow:0 8px 22px #0000002e}.camera-viewport__map .camera-map{background:0 0;border:0;border-radius:0;width:100%}.camera-viewport__ground{z-index:2;color:#c9e1dd57;letter-spacing:.08em;font-family:SFMono-Regular,Consolas,monospace;font-size:6px;position:absolute;bottom:9px;right:9px}.camera-viewport--expanded{border-radius:16px;height:min(54svh,430px)}.camera-viewport--expanded .camera-viewport__map{width:116px}.camera-viewport--background{z-index:0;width:100%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;position:absolute;inset:0}.camera-viewport--background canvas{opacity:1}.camera-viewport--background:after{box-shadow:none}.camera-viewport--background .camera-viewport__hud{display:none}.camera-viewport--background .camera-viewport__map{opacity:1;width:72px;top:100px;right:13px}.camera-viewport--background .camera-viewport__ground{display:none}.camera-deck__controls{flex:1 0 auto;grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-content:end;align-items:end;gap:8px 24px;min-width:0;margin-top:116px;padding:8px 0 0;display:grid}.camera-deck__joysticks{display:contents}.camera-deck__joysticks>.joystick:first-child{grid-area:1/1/3}.camera-deck__joysticks>.joystick:last-child{grid-area:1/3/3}.camera-deck__joysticks .joystick__pad{aspect-ratio:1;width:min(100%,102px);height:auto}.camera-deck__joysticks .pitch-controls{flex-direction:column;gap:10px}.camera-deck__joysticks .pitch-button{width:72px;height:36px;font-size:10px}.camera-deck__settings{grid-area:2/1/auto/-1;justify-content:center;align-items:center;gap:10px;display:flex}.camera-deck__settings button{white-space:nowrap;flex:none;min-width:0;min-height:32px;padding-inline:10px;font-size:9px}.camera-deck__center{flex-direction:column;grid-area:1/2;align-items:center;gap:8px;min-width:0;display:flex}.camera-deck__controls--gyro .camera-deck__joysticks>.joystick:last-child{display:none}.camera-deck__controls--gyro .camera-deck__center{grid-column:3;justify-content:center;justify-self:center;min-height:102px}.mode-chip{color:var(--muted);align-items:center;gap:5px;font-size:9px;font-weight:700;display:inline-flex}.mode-chip svg{width:14px;height:14px}.mode-chip.is-on{color:var(--success)}.pitch-controls{align-items:center;gap:8px;display:flex}.pitch-button{border:1px solid var(--line);width:54px;height:40px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#ffffff09;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:0;font-size:8px;display:flex}.pitch-button svg{width:19px;height:19px}.pitch-button,.pitch-button *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.pitch-button>span{pointer-events:none}.pitch-button.is-active{color:#e2d3a7;background:#aa864133;border-color:#d8bc7494}.gyro-button,.recenter-button{border:1px solid var(--line);min-height:29px;color:var(--muted);cursor:pointer;background:#ffffff06;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:9px;font-weight:700;display:inline-flex}.gyro-button.is-on{color:var(--success);background:#5cc9941a;border-color:#8ce1b666}.gyro-button svg,.recenter-button svg{width:13px;height:13px}.gyro-control{min-height:34px;padding-inline:16px}.recenter-button{min-height:24px;color:var(--muted)}.camera-reset-button{min-height:32px;padding-inline:12px}.camera-deck__hint{color:var(--faint);text-align:center;margin:0;font-size:9px}.joystick{flex-direction:column;align-items:center;gap:3px;min-width:0;display:flex}.joystick__pad{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:50%;width:min(25vw,102px);height:min(25vw,102px);position:relative;overflow:hidden}.joystick__face{pointer-events:none;background:radial-gradient(circle,#ff854821 0 18%,#0000 19%),radial-gradient(circle at 50% 46%,#1d5b5fb3,#051d25f0 72%);border:1px solid #afd9d02e;border-radius:50%;position:absolute;inset:0;transform:scale(.75);box-shadow:inset 0 0 0 8px #ffffff06,inset 0 10px 30px #00000040}.joystick__pad.is-active{cursor:grabbing}.joystick__cross{background:#ceebe414;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.joystick__cross--horizontal{width:64%;height:1px}.joystick__cross--vertical{width:1px;height:64%}.joystick__thumb{background:radial-gradient(circle at 36% 30%, #ffc095, var(--accent) 55%, #cb4f20);border:1px solid #ffcfb0b8;border-radius:50%;width:32px;height:32px;transition:transform 70ms linear;position:absolute;top:50%;left:50%;box-shadow:0 5px 18px #ff5b204d,inset 0 0 0 4px #ffffff14}.joystick__pad.is-active .joystick__thumb{transition:none}.joystick>strong{color:var(--ink);margin-top:2px;font-size:11px}.joystick>span{color:var(--faint);font-size:8px}.joystick--disabled{opacity:.5}.joystick--disabled .joystick__pad{cursor:default}.camera-map{border:1px solid var(--line);background:#010d1252;border-radius:15px;width:100%;height:auto;display:block}.camera-map--compact{width:118px}.sheet-backdrop,.preview-backdrop,.confirm-backdrop{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#01090cbd;justify-content:center;align-items:flex-end;padding:0;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0}.confirm-backdrop{align-items:center;padding:20px}.confirm-dialog{background:radial-gradient(circle at 88% 9%,#b88e4321,#0000 32%),linear-gradient(165deg,#15120c,#090806);border:1px solid #d4b16757;border-radius:5px;width:min(100%,360px);padding:20px;animation:.22s ease-out modalIn;box-shadow:0 28px 80px #0000009e}.confirm-dialog h2{margin:0 0 9px;font-family:Didot,Songti SC,serif;font-size:27px;font-weight:500}.confirm-dialog>p:not(.eyebrow){color:var(--muted);margin:0;font-size:11px;line-height:1.7}.confirm-dialog__actions{grid-template-columns:.8fr 1.2fr;gap:9px;margin-top:18px;display:grid}.confirm-dialog__actions button{min-height:42px}.setup-sheet__trajectory{color:var(--accent-soft);margin:0 0 14px;font-size:12px}.setup-sheet{border:1px solid var(--line-strong);background:radial-gradient(circle at 90% 10%,#ff804017,#0000 34%),#082731;border-bottom:0;border-radius:25px 25px 0 0;flex-direction:column;width:min(100%,560px);max-height:92svh;animation:.26s cubic-bezier(.2,.8,.2,1) sheetUp;display:flex;overflow:hidden;box-shadow:0 -24px 80px #00000073}.sheet-handle{background:#def1ec33;border-radius:999px;flex:none;width:38px;height:4px;margin:9px auto 2px}.setup-sheet__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:12px 18px 10px;display:flex}.setup-sheet__header h2{margin:0;font-family:Didot,Songti SC,serif;font-size:23px;font-weight:500}.setup-sheet__brandline{text-transform:none;letter-spacing:.12em}.setup-sheet__body{overscroll-behavior:contain;flex-direction:column;gap:13px;padding:14px 18px;display:flex;overflow:auto}.mobile-app.mobile-app--setup{max-width:none}.setup-loading{color:var(--muted);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.sheet-backdrop.sheet-backdrop--full{align-items:stretch;padding:0}.sheet-backdrop--full .setup-sheet{border:0;border-radius:0;width:100%;height:100%;max-height:none;animation:none}.setup-sheet--full>.setup-sheet__header,.setup-sheet--full>.setup-sheet__body,.setup-sheet--full>.setup-sheet__footer{width:100%;max-width:680px;margin-inline:auto}.setup-sheet--full>.setup-sheet__header{padding:max(24px, env(safe-area-inset-top)) 24px 20px;flex:none}.setup-sheet--full>.setup-sheet__body{flex:1;min-height:0;padding-inline:24px}.setup-sheet--full>.setup-sheet__footer{padding:16px 24px max(20px, env(safe-area-inset-bottom));flex:none;grid-template-columns:1fr}.setup-sheet--continue .field{flex:1}.setup-sheet--continue .field textarea{resize:none;flex:1;min-height:180px}.setup-sheet--continue>.setup-sheet__footer{grid-template-columns:.8fr 1.4fr}.upload-zone{min-height:108px;color:var(--ink);cursor:pointer;background:linear-gradient(135deg,#ff844314,#ffffff04),#ffffff04;border:1px dashed #ffa36a5e;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex;position:relative;overflow:hidden}.upload-zone.is-dragging{border-color:var(--accent);background:#ff82431f}.upload-zone svg{width:25px;height:25px;color:var(--accent-soft)}.upload-zone strong{font-size:13px}.upload-zone span{color:var(--muted);font-size:9px}.upload-zone.has-image{border-style:solid;justify-content:flex-end}.upload-zone img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.upload-zone.has-image:after{content:"";background:linear-gradient(#0000 52%,#031319d1);position:absolute;inset:0}.upload-zone__replace{z-index:1;position:relative;color:var(--ink)!important}.field{min-width:0;color:var(--ink);flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.field>span{padding-left:1px}.field textarea,.field input{border:1px solid var(--line);width:100%;color:var(--ink);background:#0213198f;border-radius:11px;outline:none;font-size:12px;font-weight:400;line-height:1.65;transition:border-color .16s}.field textarea{resize:vertical;min-height:92px;padding:11px 12px}.field .scene-input{min-height:190px}.field input{height:40px;padding:0 11px}.field small{color:var(--faint);align-self:flex-end;font-size:8px;font-weight:500}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.style-options{gap:7px;display:flex}.style-options button{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;flex:1;font-size:10px;font-weight:700}.resolution-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.resolution-options button{min-height:50px;color:var(--muted);text-align:left;cursor:pointer;background:#08070580;border:1px solid #cca95e3d;border-radius:2px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;padding:0 12px;display:flex}.resolution-options button strong{color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:600}.resolution-options button small{color:var(--faint);font-size:8px}.resolution-options button.is-selected{background:#b3893f29;border-color:#e5c174a3}.resolution-options button.is-selected strong{color:#ead19a}.camera-summary-card{border:1px solid var(--line);background:#ffffff06;border-radius:13px;grid-template-columns:118px 1fr;align-items:center;gap:11px;padding:9px;display:grid}.camera-summary-card>div{flex-direction:column;gap:3px;min-width:0;display:flex}.setup-sheet__footer{padding:12px 18px max(14px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#07242d;grid-template-columns:.8fr 1.4fr;gap:10px;display:grid}.cancel-button,.confirm-button{cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-size:12px;font-weight:800;display:inline-flex}.cancel-button{border:1px solid var(--line);color:var(--muted);background:0 0}.confirm-button{color:#1b0d06;background:linear-gradient(135deg,#ff995c,#ef6a30);border:1px solid #ff9c62;box-shadow:0 9px 22px #de4e1833}.button-spinner{border:2px solid #1b0d0640;border-top-color:#1b0d06;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.generation-screen{z-index:30;text-align:center;background:radial-gradient(circle at 50% 36%,#155b5e7a,#0000 31%),radial-gradient(circle at 50% 92%,#ff743521,#0000 35%),#041a22;flex-direction:column;justify-content:center;align-items:center;padding:28px;animation:.22s ease-out fadeIn;display:flex;position:absolute;inset:0;overflow:hidden}.generation-screen:before{content:"";opacity:.3;background-color:#0000;background-image:linear-gradient(#70b5ac0f 1px,#0000 1px),linear-gradient(90deg,#70b5ac0f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 70%);mask-image:radial-gradient(circle,#000,#0000 70%)}.generation-screen__halo{border:1px solid #ff91543b;border-radius:50%;place-items:center;width:132px;height:132px;margin-bottom:26px;display:grid;position:relative}.generation-screen__halo>span{border:1px solid #ff8f522b;border-radius:50%;animation:8s linear infinite haloSpin;position:absolute}.generation-screen__halo>span:first-child{border-top-color:var(--accent);inset:14px}.generation-screen__halo>span:nth-child(2){border-right-color:var(--accent-soft);animation-duration:5s;animation-direction:reverse;inset:29px}.generation-screen__halo>span:nth-child(3){background:radial-gradient(circle at 35% 30%,#ffc19f,#f36b32 56%,#8a2c12);border:0;inset:43px;box-shadow:0 0 34px #ff6e3061}.generation-screen__halo svg{z-index:1;color:#fff4e9;width:22px;height:22px;position:relative}.generation-screen h2{margin:4px 0 10px;font-family:Didot,Songti SC,serif;font-size:clamp(29px,8vw,40px);font-weight:500;position:relative}.generation-screen>p:not(.eyebrow){max-width:330px;color:var(--muted);margin:0;font-size:12px;line-height:1.75;position:relative}.generation-progress{flex:0 0 28px;justify-content:space-between;align-items:center;width:50px;height:28px;min-height:28px;margin:28px 0 22px;display:flex;position:relative}.generation-progress span{background:var(--accent);border-radius:99px;flex:0 0 6px;width:6px;height:28px;animation:1.2s ease-in-out infinite equalizer;display:block}.generation-progress span:nth-child(2){animation-delay:.1s}.generation-progress span:nth-child(3){animation-delay:.2s}.generation-progress span:nth-child(4){animation-delay:.3s}.generation-progress span:nth-child(5){animation-delay:.4s}.generation-screen__back{border:1px solid var(--line-strong);min-height:43px;color:var(--ink);cursor:pointer;background:#ffffff0b;border-radius:11px;padding:0 18px;font-size:11px;font-weight:700;position:relative}.generation-screen>small{color:var(--faint);margin-top:11px;font-size:9px;position:relative}.preview-backdrop{align-items:center;padding:18px}.path-preview{border:1px solid var(--line-strong);background:radial-gradient(circle at 88% 12%,#ff814217,#0000 30%),#082833;border-radius:22px;width:min(100%,430px);padding:16px;animation:.22s ease-out modalIn;box-shadow:0 28px 80px #00000085}.path-preview header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.path-preview h2{margin:0;font-family:Didot,Songti SC,serif;font-size:24px;font-weight:500}.path-preview__metrics{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.path-preview__metrics span{border:1px solid var(--line);border-radius:11px;flex-direction:column;gap:3px;padding:10px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;display:flex}.path-preview__metrics small{color:var(--faint);text-transform:uppercase;font-family:inherit;font-size:8px}.path-preview>p{color:var(--muted);margin:11px 2px 0;font-size:10px;line-height:1.6}.toast{z-index:80;left:50%;bottom:max(20px, env(safe-area-inset-bottom));border:1px solid var(--line-strong);width:max-content;max-width:min(88vw,430px);color:var(--ink);text-align:left;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;background:#08262ff5;border-radius:12px;padding:11px 15px;font-size:11px;line-height:1.5;animation:.22s ease-out toastIn;position:fixed;transform:translate(-50%);box-shadow:0 12px 38px #0000005c}@keyframes breathe{0%,to{opacity:.78;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes pulse{70%{box-shadow:0 0 0 9px #d8b56c00}to{box-shadow:0 0 #d8b56c00}}@keyframes recordGlow{50%{box-shadow:0 0 16px #c76f5629}}@keyframes fadeIn{0%{opacity:0}}@keyframes sheetUp{0%{opacity:0;transform:translateY(38px)}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}}@keyframes haloSpin{to{transform:rotate(360deg)}}@keyframes equalizer{0%,to{opacity:.4;transform:scaleY(.43)}50%{opacity:1;transform:scaleY(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=720px){.sheet-backdrop{align-items:center;padding:20px}.setup-sheet{border-bottom:1px solid var(--line-strong);border-radius:25px;max-height:min(820px,100svh - 40px)}}@media (width<=370px){.camera-deck{padding-inline:11px}.camera-deck__tools{grid-template-columns:1.3fr 1fr .75fr;gap:5px}.record-button,.tool-button{gap:3px;font-size:9px}.camera-deck__controls{column-gap:14px}.joystick__pad{width:84px;height:84px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.generation-progress span{animation-duration:2.4s!important;animation-iteration-count:infinite!important}.generation-screen__halo>span{animation-duration:12s!important;animation-iteration-count:infinite!important}.generation-screen__halo>span:nth-child(2){animation-duration:10s!important}}.app-shell{background:radial-gradient(circle at 76% 4%,#cda65829,#0000 30%),radial-gradient(circle at 14% 88%,#7d5c241a,#0000 32%),linear-gradient(145deg,#090806,#030302 62%)}.mobile-app{background:linear-gradient(165deg,#8867311c,#0000 38%),#070605}.eyebrow{color:#d8b76f;letter-spacing:.19em}.action-button,.icon-button,.tool-button,.record-button,.gyro-button,.recenter-button,.cancel-button,.confirm-button,.generation-screen__back,.style-options button{border-radius:2px}.action-button{color:#f2e7d2;background:#0a0907e6;border-color:#d9b56c8f;box-shadow:0 8px 24px #00000061}.action-button--primary{color:#130f08;background:linear-gradient(135deg,#ecd291,#bd9149);border-color:#d8b76f;box-shadow:0 8px 26px #7a561f47,inset 0 1px #fff7de6b}.icon-button{color:#e9d8b4;background:#0a0907d6;border-color:#cdaa606b}.video-stage{background:linear-gradient(#100e0afc,#080706fc),#0a0907;border-color:#caa9602e}.video-stage__version{color:#eeddbba6;background:#080706b8;border-color:#cfab604d;border-radius:2px}.video-stage__frame{background:linear-gradient(#be9a520e 1px,#0000 1px),linear-gradient(90deg,#be9a520e 1px,#0000 1px),radial-gradient(circle at 50% 52%,#2b2519 0%,#14120d 46%,#070706 82%);border-color:#d3b16857;border-radius:4px}.video-stage__frame:after{background:linear-gradient(#03030233,#0000 28% 74%,#03030280),radial-gradient(circle at 50% 40%,#0000 22%,#00000052 100%)}.video-stage__frame video{background:#030302}.empty-video__orb{border-color:#ddb76947}.empty-video__orb:before{border-color:#ddb76933}.empty-video__orb:after{background:radial-gradient(circle at 34% 28%,#f4dfa8,#c8a45c 48%,#5f451c);box-shadow:0 0 36px #cfa14d59}.empty-video__orb span{background:linear-gradient(#0000,#e0bc6f5c,#0000)}.video-stage__processing{color:#ecd8b1;background:#080705d6;border-color:#dbb66e4d;border-radius:2px}.loading-pulse{background:#d9b66f;box-shadow:0 0 #d9b66fa6}.video-stage__badge{background:#070605cc;border-color:#d2ae6347;border-radius:2px}.video-stage__badge strong{color:#e7cab0}.timeline-play svg{border-radius:2px}.timeline-track input[type=range]{accent-color:#c8a45c}.camera-deck{background:radial-gradient(circle at 82% 74%,#b28a4114,#0000 34%),linear-gradient(#0d0b08,#050504)}.camera-deck:before{background:linear-gradient(#070605f5 0,#070605b8 58px,#07060514 132px,#0000 62%),linear-gradient(0deg,#050504e6 0,#05050461 68px,#0000 148px)}.recording-clock{background:#14110cb8;border-color:#cba85c3b;border-radius:2px}.recording-clock.is-live{color:#dfab9c;border-color:#cd6f568c}.recording-clock.is-live strong{color:#e5b29e}.record-button,.tool-button{background:#0c0a07ad;border-color:#cca95e4d;border-radius:2px}.record-button{color:#e4c27e;background:#b2853c1f;border-color:#dab56994}.record-button.is-recording{color:#efb1a0;background:#6f271d57;border-color:#cd755cb8}.tool-button--quiet{color:#92836b}.mode-chip svg,.recording-clock svg{color:#c9a55e}.mode-chip.is-on,.gyro-button.is-on{color:#d7c88f}.pitch-button{background:#0e0c08b3;border-color:#cfac6040;border-radius:2px}.gyro-button,.recenter-button{background:#0c0a07b8;border-color:#ceac6245;border-radius:2px}.gyro-button.is-on{background:#aa864124;border-color:#d6bc7580}.camera-deck__hint{color:#786d5b}.camera-deck__hint.is-live{color:#dcb477}.camera-viewport{background:#090806;border-color:#d6b36840;border-radius:3px}.camera-viewport__hud,.camera-viewport__map{background:#070605c7;border-color:#d1af6533;border-radius:2px}.camera-viewport__hud span{color:#79d9f4}.camera-viewport__hud span.is-recording{color:#ff7771}.camera-viewport__hud span.is-recording:before{background:#ff625a;box-shadow:0 0 8px #ff625aa8}.camera-viewport__ground{color:#c0d2dc6b}.camera-map{background:#0c10148f;border-color:#a0b8c73d;border-radius:2px}.camera-viewport__hud,.camera-viewport__map{background:#0c1014cc;border-color:#a3b9c83d}.camera-viewport__map{background:#0c101459;border-color:#a3b9c824;box-shadow:0 4px 12px #00000014}.joystick__face{background:radial-gradient(circle,#c7a15621 0 18%,#0000 19%),radial-gradient(circle at 50% 46%,#372e1eb8,#080705f5 72%);border-color:#d3b06440;box-shadow:inset 0 0 0 8px #debe7a06,inset 0 10px 30px #00000061}.joystick__pad.is-active .joystick__face{border-color:#e5c37a8c}.joystick__cross{background:#dec38b1a}.joystick__thumb{background:radial-gradient(circle at 34% 28%,#f3dfac,#c6a159 54%,#6e5122);border-color:#f8e2b3ad;box-shadow:0 5px 18px #9f712a45,inset 0 0 0 4px #ffffff12}.sheet-backdrop,.preview-backdrop,.confirm-backdrop{background:#020201d1}.sheet-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.setup-sheet,.path-preview{background:radial-gradient(circle at 88% 9%,#b88e4321,#0000 32%),linear-gradient(165deg,#13110c,#090806);border-color:#d4b16757}.setup-sheet{border-radius:6px 6px 0 0}.sheet-handle{background:#ddc18740;border-radius:1px}.upload-zone{background:linear-gradient(135deg,#b2873d1a,#ffffff03),#ffffff03;border-color:#d6b3686b;border-radius:3px}.upload-zone.is-dragging{background:#b88d4224;border-color:#c8a45c}.upload-zone.has-image:after{background:linear-gradient(#0000 52%,#050504e6)}.field textarea,.field input{background:#060504b8;border-color:#cdab623b;border-radius:2px}.field textarea:focus,.field input:focus{border-color:#e2bf76ad}.style-options button{background:#08070580;border-color:#cca95e3d}.style-options button.is-selected{color:#ead19a;background:#b3893f29;border-color:#e5c174a3}.camera-summary-card{background:#0e0c08b3;border-color:#ccaa6033;border-radius:3px}.setup-sheet__footer{background:#0c0a07}.cancel-button,.confirm-button{border-radius:2px}.confirm-button{color:#110e08;background:linear-gradient(135deg,#ead08f,#b98b45);border-color:#d7b56c;box-shadow:0 9px 22px #6f4e1b3d}.button-spinner{border-color:#110e08 #110e0840 #110e0840}.generation-screen{background:radial-gradient(circle at 50% 36%,#68563461,#0000 31%),radial-gradient(circle at 50% 92%,#ad82361f,#0000 35%),#070605}.generation-screen:before{background:linear-gradient(#d0b06b0e 1px,#0000 1px),linear-gradient(90deg,#d0b06b0e 1px,#0000 1px)}.generation-screen__halo{border-color:#dcb96e42}.generation-screen__halo>span{border-color:#dcb96e2b}.generation-screen__halo>span:first-child{border-top-color:#c8a45c}.generation-screen__halo>span:nth-child(2){border-right-color:#ead39a}.generation-screen__halo>span:nth-child(3){background:radial-gradient(circle at 35% 30%,#f5e3b8,#c59b4f 56%,#654719);box-shadow:0 0 38px #bf903b57}.generation-progress span{background:#c8a45c}.generation-screen__back{background:#15110bc2;border-color:#d6b36852}.path-preview{border-radius:5px}.path-preview__metrics span{border-color:#ccaa6033;border-radius:2px}.toast{color:#f0e2c8;background:#110e09f7;border-color:#d2af6452;border-radius:2px}.toast--error{color:#dfa696;border-color:#cd715b80}.toast--success{color:#dfcf9d;border-color:#d2bc7d75}@media (width>=720px){.setup-sheet{border-bottom-color:#d4b16757;border-radius:6px}}
