:root{
  --bg:#0d0e11;--panel:#17191f;--panel2:#20232b;--text:#f5f6f7;
  --muted:#a7abb5;--accent:#f1b642;--green:#2fc46d;--border:#30343f;
  --danger:#ff6b6b;--blue:#79a8ff
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans Telugu","Segoe UI",sans-serif}
body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
button,input{font:inherit}.app-shell{max-width:800px;margin:auto;min-height:100vh;padding-bottom:34px}
.topbar{position:sticky;top:0;z-index:20;background:rgba(13,14,17,.95);backdrop-filter:blur(18px);padding:14px 16px 12px;border-bottom:1px solid var(--border)}
.brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.brand{font-size:20px;font-weight:850}.subtitle{font-size:12px;color:var(--muted);margin-top:2px}.overall-count{font-size:13px;color:var(--muted);font-weight:800;background:var(--panel2);padding:6px 10px;border-radius:999px}
.progress-row{display:flex;gap:10px;align-items:center;margin-top:10px}.progress{height:8px;background:#272a32;border-radius:999px;overflow:hidden;flex:1}.progress>span{display:block;height:100%;background:var(--green);transition:width .25s}.percent{font-size:12px;color:var(--muted);min-width:38px;text-align:right}
.order-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding:4px;background:#111318;border:1px solid var(--border);border-radius:14px}.order-tab{border:0;border-radius:10px;padding:11px 8px;background:transparent;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.3px}.order-tab.active{background:var(--accent);color:#1a1202;box-shadow:0 3px 10px rgba(241,182,66,.22)}
.content{padding:16px}.card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:16px;margin-bottom:14px;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.scene-card,.location-card{cursor:pointer}.scene-card.done,.location-card.done{border-color:rgba(47,196,109,.55)}.scene-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.scene-title{font-weight:850;font-size:17px;line-height:1.35}.badge{border-radius:999px;padding:6px 10px;font-size:12px;background:var(--panel2);color:var(--muted);white-space:nowrap}.badge.done{background:rgba(47,196,109,.15);color:#7ee5a7}.meta{color:var(--muted);font-size:13px;line-height:1.55;margin-top:8px}.meta.lead{margin:4px 0 16px}.scene-progress{margin-top:12px}
.screen-title{font-size:22px;font-weight:900;margin:3px 0 5px}.screen-kicker{font-size:12px;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.5px}.shot-count{color:var(--muted);font-size:13px;margin-top:4px}
.notice{background:rgba(241,182,66,.1);border:1px solid rgba(241,182,66,.35);padding:13px;border-radius:13px;color:#f4d998;font-size:14px;line-height:1.5;margin-bottom:14px}
.shot-list-card{padding:2px 16px}.list-shot{display:flex;gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--border);cursor:pointer}.list-shot:last-child{border-bottom:0}.list-shot.done{opacity:.78}.list-main{flex:1;min-width:0}.list-name{font-weight:800;font-size:13px;line-height:1.4}.list-sub{font-size:12px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:62vw}
.shot-check{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:14px;padding:13px 14px;display:flex;align-items:center;gap:10px;cursor:pointer;width:100%;margin-top:20px}.shot-check span{width:28px;height:28px;border:2px solid #777d8b;border-radius:8px;display:grid;place-items:center;font-weight:950}.shot-check.checked{background:rgba(47,196,109,.12);border-color:rgba(47,196,109,.7)}.shot-check.checked span{background:var(--green);border-color:var(--green);color:#07130c}.shot-check.compact{width:36px;height:36px;padding:0;margin:0;border-radius:10px;flex:none;display:grid;place-items:center}.shot-check.compact span{width:22px;height:22px;border-radius:6px;font-size:13px}
.frame-help-btn{border:1px solid rgba(121,168,255,.38);background:rgba(121,168,255,.10);color:#bdd2ff;border-radius:13px;padding:9px 10px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:850;cursor:pointer;flex:none}.frame-help-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.frame-help-btn.compact{width:40px;height:40px;padding:8px;border-radius:11px}.frame-help-btn.compact svg{width:23px;height:23px}
.shot-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.shot-type{font-size:20px;font-weight:950;line-height:1.25;margin-top:5px}.subject{color:var(--accent);font-weight:750;margin-top:7px}.section{margin-top:18px}.section-label{font-size:12px;color:var(--muted);font-weight:850;letter-spacing:.7px;margin-bottom:7px}.section-body{font-size:17px;line-height:1.72;white-space:pre-wrap}.dialogue{background:#111318;border-left:4px solid var(--accent);padding:13px 14px;border-radius:4px 12px 12px 4px;font-weight:650}.empty-dialogue{color:var(--muted);font-style:italic}.guidance{font-size:14px;color:#d1d4da;background:var(--panel2);padding:12px;border-radius:12px;line-height:1.55}
.setup-group{margin-top:18px;border-top:1px solid var(--border);padding-top:15px}.setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:2px}.setup-title{font-size:15px;font-weight:900}.setup-note{font-size:12px;color:var(--muted);margin-top:3px}.setup-head>span{font-size:12px;color:var(--muted);background:var(--panel2);padding:5px 8px;border-radius:999px}.shoot-scene-block{padding-bottom:5px}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.btn{border:0;border-radius:13px;padding:14px 12px;font-weight:850;background:var(--panel2);color:var(--text);cursor:pointer}.btn.primary{background:var(--accent);color:#1b1303}.btn:disabled{opacity:.35}.btn.full{grid-column:1/-1;width:100%}.btn.danger{color:#ff9c9c}.small-link{background:none;border:0;color:var(--accent);padding:4px 0 9px;font-weight:750}
.toast{position:fixed;z-index:70;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#edfdf3;color:#083b1d;border:1px solid #82e2a8;box-shadow:0 10px 30px rgba(0,0,0,.35);padding:11px 15px;border-radius:999px;font-size:13px;font-weight:850;white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis;transition:.25s}.toast.hide{opacity:0;transform:translate(-50%,10px)}
.modal-backdrop{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;padding-top:30px}.guide-modal{width:min(760px,100%);max-height:94vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:24px 24px 0 0;padding:18px 16px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px rgba(0,0,0,.45)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.modal-head h2{font-size:20px;margin:3px 0 0}.modal-close{width:40px;height:40px;border:0;border-radius:12px;background:var(--panel2);color:var(--text);font-size:27px;line-height:1}.frame-example{background:#f5f1e8;border-radius:16px;padding:8px;margin:16px 0 12px}.frame-example svg{display:block;width:100%;height:auto;max-height:310px}.frame-example svg text{font:700 19px -apple-system,BlinkMacSystemFont,sans-serif;text-anchor:middle;fill:#343943}.frame-example .frame{fill:none;stroke:#343943;stroke-width:6}.frame-example .room{fill:none;stroke:#a1a5ad;stroke-width:5}.frame-example .person{fill:none;stroke:#343943;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.frame-example .fill{fill:#8b92a1;stroke:#343943;stroke-width:5}.frame-example .foreground{fill:#4e5563;stroke:#343943;stroke-width:5}.frame-example .eye{fill:#343943}.frame-example .face{fill:none;stroke:#343943;stroke-width:7;stroke-linecap:round}.frame-example .cut{stroke:#e05d5d;stroke-width:5;stroke-dasharray:12 9}.frame-example .object{fill:none;stroke:#343943;stroke-width:7}.frame-example .focus-line{stroke:#e05d5d;stroke-width:5;stroke-dasharray:10 8}.frame-example .eye-shape{fill:none;stroke:#343943;stroke-width:7}.frame-example .move{fill:none;stroke:#e05d5d;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.frame-example .camera{fill:none;stroke:#343943;stroke-width:6}.guide-text{font-size:16px;line-height:1.6;margin:8px 0}.guide-placement{background:var(--panel2);padding:13px;border-radius:13px;font-size:14px;line-height:1.55}.guide-tips{margin:14px 0 18px;padding-left:22px;color:#d5d8de;line-height:1.7;font-size:14px}
@media(min-width:700px){.content{padding:22px}.card{padding:22px}.section-body{font-size:18px}.guide-modal{border-radius:24px;margin-bottom:20px}.modal-backdrop{align-items:center;padding:20px}.list-sub{max-width:520px}}
