@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/camera-move-lab/assets/newsreader-latin-600-normal-30OJ_TG_.woff2) format("woff2"),url(/camera-move-lab/assets/newsreader-latin-600-normal-DUnT2r2g.woff) format("woff")}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:600;src:url(/camera-move-lab/assets/newsreader-latin-600-italic-BXGU4hd9.woff2) format("woff2"),url(/camera-move-lab/assets/newsreader-latin-600-italic-QBRrDGPr.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/camera-move-lab/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/camera-move-lab/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/camera-move-lab/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/camera-move-lab/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/camera-move-lab/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/camera-move-lab/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/camera-move-lab/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/camera-move-lab/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/camera-move-lab/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/camera-move-lab/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}:root{color-scheme:dark;--bg: #0c0d11;--bg-2: #14161c;--ink: #f3efe6;--muted: #a39c90;--faint: #746e66;--line: rgba(232, 220, 196, .14);--amber: #e6a15a;--amber-2: #ffd7a8;--steel: #8eb0d8;--paper: #191b22;--danger: #e07a62;--shadow: 0 18px 50px rgba(0, 0, 0, .35);--sans: Inter, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", "Droid Sans Fallback", sans-serif;--serif: Newsreader, "Liberation Serif", Georgia, serif;--mono: "JetBrains Mono", "Cascadia Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:radial-gradient(1200px 500px at 10% -10%,rgba(230,161,90,.08),transparent 50%),var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.4}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}::selection{background:#e6a15a59}.app{height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;padding:14px 18px 12px;border-bottom:1px solid var(--line);background:#0c0d11f0}.eyebrow,.count,.section-label,.idx,.hud-kicker,.hud-meter,.rec,.hint,.telemetry,.val{font-family:var(--mono)}.eyebrow{margin:0;letter-spacing:.18em;text-transform:uppercase;font-size:11px;color:var(--amber)}h1{margin:1px 0 0;font-family:var(--serif);font-weight:600;font-style:italic;font-size:clamp(26px,3vw,34px);letter-spacing:-.03em;line-height:1}.sub{margin:6px 0 0;color:var(--muted);font-size:13px}.count{margin:0;color:var(--faint);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.count span{display:block;color:var(--ink);font-family:var(--serif);font-style:italic;font-size:28px;letter-spacing:0;text-transform:none}.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);min-height:0}.stage{position:relative;min-height:0;background:#090a0d;overflow:hidden}.stage canvas#view{position:absolute;inset:0;width:100%;height:100%;display:block}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.42) 100%)}.brackets{position:absolute;inset:12px;pointer-events:none}.brackets i{position:absolute;width:18px;height:18px;border:1.5px solid rgba(230,161,90,.85)}.brackets i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.brackets i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}.brackets i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}.brackets i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}.hud{position:absolute;inset:22px 24px 18px;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start}.hud-kicker{margin:0;color:var(--amber-2);font-size:11px;letter-spacing:.08em}#hud-name{margin:2px 0 0;font-family:var(--serif);font-weight:600;font-style:italic;font-size:28px;line-height:1;text-shadow:0 8px 24px rgba(0,0,0,.45)}.hud-meter{display:flex;gap:8px;font-size:12px;color:var(--ink)}.hud-meter span{background:#08090c8c;border:1px solid var(--line);border-radius:999px;padding:4px 8px}.rec{position:absolute;left:0;bottom:10px;margin:0;display:flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.14em;color:var(--muted)}.rec i{width:8px;height:8px;border-radius:50%;background:var(--faint)}.rec.is-live{color:var(--danger)}.rec.is-live i{background:var(--danger);box-shadow:0 0 10px var(--danger)}.progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#f3efe629}.progress span{display:block;height:100%;width:0;background:var(--amber)}.stage-error{position:absolute;left:16px;right:16px;bottom:16px;margin:0;padding:10px 12px;background:#3a1612;border:1px solid var(--danger);border-radius:10px}.panel{overflow:auto;overscroll-behavior:contain;background:var(--bg-2);border-left:1px solid var(--line);min-height:0}.block{padding:14px 14px 16px}.block+.block{border-top:1px solid var(--line)}.section-label{display:flex;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.section-label span:last-child{letter-spacing:0;text-transform:none;font-family:var(--sans);color:var(--muted)}.section-label.gap{margin-top:16px}.now-line{display:flex;justify-content:space-between;gap:8px;align-items:baseline}#now-name{margin:0;font-size:16px;font-weight:600}#timecode{margin:0;color:var(--amber-2);font-family:var(--mono);font-size:12px}.now-ko{margin:2px 0 0;color:var(--steel);font-size:13px}.blurb{margin:6px 0 0;color:var(--muted);font-size:13px}.transport{display:flex;align-items:center;gap:8px;margin:12px 0 10px}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#101218;display:grid;place-items:center;padding:0}.icon-btn svg{width:16px;height:16px;fill:var(--ink)}.icon-btn.play{background:var(--amber);border-color:transparent}.icon-btn.play svg{fill:#1a120c}.loop{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}#scrub{width:100%;accent-color:var(--amber)}.hint{margin:8px 0 0;color:var(--faint);font-size:11px}.cat{margin:12px 0 6px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.cat span{margin-left:6px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--muted)}.move{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;text-align:left;padding:8px;margin:0 0 4px;border:1px solid transparent;border-radius:10px;background:transparent;min-height:52px;touch-action:manipulation}.move:hover{background:#f3efe60a}.move[aria-current=true]{background:linear-gradient(90deg,#e6a15a2e,#e6a15a08);box-shadow:inset 2px 0 0 var(--amber)}.idx{color:var(--amber);font-size:12px;padding-top:2px}.move-copy{display:flex;flex-direction:column;min-width:0}.move-name{font-weight:600;font-size:14px}.move-name em{margin-left:8px;font-style:normal;font-weight:500;color:var(--steel);font-size:12px}.move-blurb{color:var(--muted);font-size:12px;line-height:1.35}.easing{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.easing button{flex:1 1 30%;border:1px solid var(--line);background:#101218;border-radius:999px;padding:7px 8px 6px;font-size:12px;line-height:1.15}.easing button small{display:block;color:var(--faint);font-size:10px}.easing button[aria-pressed=true]{background:var(--amber);color:#1a120c;border-color:transparent}.easing button[aria-pressed=true] small{color:#1a120cb3}.curve,.diagram{width:100%;display:block;border-radius:10px;border:1px solid var(--line);background:#0e1016}.curve{height:84px;margin-bottom:8px}.diagram{height:176px}.bezier{margin-bottom:4px}.slider-row{display:grid;grid-template-columns:92px minmax(0,1fr) 58px;gap:8px;align-items:center;margin:8px 0;font-size:13px}.slider-row input[type=range]{width:100%;accent-color:var(--amber)}.val{font-size:11px;color:var(--amber-2);text-align:right}.switch{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:14px}.switch small{display:block;color:var(--faint);font-size:11px}.telemetry{margin:8px 0 0;white-space:pre-line;color:var(--muted);font-size:11px;line-height:1.55}.prompt-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.prompt-head .section-label{margin:0}.langs{display:flex;gap:4px}.langs button{border:1px solid var(--line);background:#101218;border-radius:999px;padding:4px 8px;font-size:12px}.langs button[aria-pressed=true]{background:var(--ink);color:#14120e;border-color:transparent}#shot-prompt{width:100%;min-height:96px;margin:10px 0;resize:vertical;background:#0e1016;border:1px solid var(--line);border-radius:10px;padding:10px 12px;line-height:1.45;font-size:16px}.copy{width:100%;border:0;border-radius:999px;background:var(--amber);color:#1a120c;font-weight:600;padding:11px 14px;touch-action:manipulation}.copy:hover{filter:brightness(1.05)}.copy-status{min-height:1.2em;margin:8px 0 0;color:var(--steel);font-size:12px}@media(max-width:900px){.app{height:auto;min-height:100dvh;overflow:visible}.workspace{display:flex;flex-direction:column}.stage{position:sticky;top:0;z-index:3;height:48dvh;min-height:240px}.panel{overflow:visible;border-left:0;border-top:1px solid var(--line)}.topbar{align-items:flex-start}h1{font-size:26px}.count span{font-size:22px}}@media(max-width:420px){.slider-row{grid-template-columns:76px minmax(0,1fr) 52px}.topbar{padding:12px}.hud{inset:16px 14px 14px}#hud-name{font-size:22px}}
