.auth-wrap{background:var(--surface);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:380px;padding:32px}.brand-lg{letter-spacing:-.02em;font-size:22px;font-weight:700}.brand-mark{--hama-mark:#5b5fef;background:var(--hama-mark);border-radius:8px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.brand-mark>span{border-left:9px solid var(--bg);border-top:6px solid #0000;border-bottom:6px solid #0000;width:0;height:0;margin-left:2px}a.brand-lg{color:var(--text);align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.sidebar a.brand{letter-spacing:-.02em;color:var(--text);align-items:center;gap:8px;padding:0 20px 16px;font-size:16px;font-weight:800;display:flex}.sidebar a.brand:hover{background:0 0}.sidebar .brand .brand-mark{border-radius:6px;width:22px;height:22px}.sidebar .brand .brand-mark>span{border-top-width:4.5px;border-bottom-width:4.5px;border-left-width:7px;margin-left:1.5px}.field{margin-top:16px;display:block}.field>span{color:var(--text-muted);margin-bottom:6px;font-size:13px;display:block}.btn.block{width:100%;margin-top:20px}.notice.sm{margin-top:14px;padding:10px 12px;font-size:13px}.hint.mt{margin-top:18px}.dropzone{border:1.5px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface);margin-top:12px;padding:36px 20px;transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--accent);background:var(--accent-weak)}.dropzone.has-file{border-style:solid;border-color:var(--accent);background:var(--accent-weak)}.dropzone .hint{margin-top:4px}.compare{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.pane-title{margin:0 0 10px;font-size:14px}.summary-body{white-space:pre-wrap;margin:0;font-size:14px;line-height:1.75}.paper-text{max-height:320px;font-family:var(--mono);color:var(--text-muted);white-space:pre-wrap;margin:0;font-size:11.5px;line-height:1.6;overflow:auto}.correct-box{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}@media (width<=900px){.compare{grid-template-columns:1fr}}.ask-row{gap:8px;margin-top:10px;display:flex}.ask-row .input{flex:1}.card.seg{padding-top:14px}.card.seg-changed{border-color:var(--accent);background:var(--accent-weak)}.seg-no{font-family:var(--mono);color:var(--text-muted);margin-bottom:10px;font-size:12px}.seg-count{float:right}label.sub{color:var(--text-muted);margin:10px 0 4px;font-size:12px;display:block}.notice.sm{padding:10px 12px;font-size:13px}.scene-grid{gap:var(--gap);grid-template-columns:repeat(2,1fr);display:grid}.card.scene-card{padding:0;overflow:hidden}.card.scene-stale{border-color:var(--warn)}.scene-card img{aspect-ratio:16/9;object-fit:cover;background:var(--surface-alt);width:100%;display:block}.scene-body{padding:14px}.scene-line{margin:0 0 4px;font-size:13px;line-height:1.65}.stale-tag{color:var(--warn);margin-top:8px;font-size:12px;display:inline-block}@media (width<=1000px){.scene-grid{grid-template-columns:1fr}}.card.job-row{justify-content:space-between;align-items:center;gap:16px;display:flex}:root{--bg:#fff;--surface:#f7f8fa;--surface-alt:#eef0f4;--border:#d9dde5;--text:#1a1d23;--text-muted:#6b7280;--accent:#2f6df6;--accent-weak:#e8effe;--success:#12805c;--warn:#b45309;--danger:#c2334d;--danger-weak:#fdecef;--radius:8px;--gap:16px;--font:Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--video-aspect:16 / 9}*{box-sizing:border-box}body{font-family:var(--font);color:var(--text);background:var(--bg);margin:0;font-size:14px;line-height:1.6}.app{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.app.no-sidebar{grid-template-columns:1fr}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;padding:20px 0;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{border-bottom:1px solid var(--border);margin-bottom:12px;padding:0 20px 16px;font-size:16px;font-weight:700}.sidebar .nav-group-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;padding:12px 20px 4px;font-size:11px}.sidebar a{color:var(--text);padding:8px 20px;font-size:13px;text-decoration:none;display:block}.sidebar a:hover{background:var(--surface-alt)}.sidebar a.active{background:var(--accent-weak);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.main{max-width:1080px;padding:28px 32px}.main.main-wide{width:100%;min-width:0;max-width:none}.scene-workspace.grid-2{grid-template-columns:minmax(360px,1.2fr) minmax(0,1.4fr);align-items:start}.scene-workspace>div{min-width:0}.sequence-editor{min-width:0;margin-bottom:14px}.scene-planning-below{border-top:1px solid var(--border);min-width:0;margin-top:20px;padding-top:20px}.sequence-editor-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.sequence-editor-fields{min-width:0}.sequence-editor-fields>.field-label{margin-top:12px}.sequence-editor-fields>.field-label:first-child{margin-top:0}.sequence-editor-prompt{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt);padding:16px;position:static}.sequence-editor-prompt .btn-row{align-items:stretch}.sequence-object-scroll{margin:8px 0 12px;overflow-x:auto}.sequence-object-table{table-layout:fixed;width:100%;min-width:1000px}.sequence-object-table th,.sequence-object-table td{vertical-align:top;padding:8px}.sequence-object-table .textarea,.sequence-object-table .input{width:100%;min-width:0;font-size:14px;line-height:1.6}.sequence-object-table .input{margin-top:6px}.sequence-object-table .hint{overflow-wrap:anywhere}.sequence-object-table .btn{white-space:nowrap;padding:5px}@media (width<=1200px){.scene-workspace.grid-2{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.sequence-editor-grid{grid-template-columns:minmax(0,1fr)}.sequence-editor-prompt{position:static}}.screen-head{margin-bottom:24px}.screen-head h1{margin:0 0 4px;font-size:20px}.screen-head .meta{color:var(--text-muted);font-size:12px;font-family:var(--mono)}.step-rail{flex-wrap:wrap;gap:4px;margin:16px 0 24px;display:flex}.step-rail .step{background:var(--surface-alt);color:var(--text-muted);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px}.step-rail .step.done{background:var(--accent-weak);color:var(--accent)}.step-rail .step.current{background:var(--accent);color:var(--bg);font-weight:600}.step-rail button.step,.step-rail a.step{font-family:var(--font);cursor:pointer;border:1px solid #0000}.step-rail button.step:hover,.step-rail a.step:hover{border-color:var(--accent)}.sidebar .step-rail{flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0}.sidebar .step-rail .step{text-align:left;color:var(--text-muted);background:0 0;border-radius:0;padding:6px 20px 6px 32px;font-size:12px;position:relative}.sidebar .step-rail .step.done{color:var(--text);background:0 0}.sidebar .step-rail .step.current{background:var(--accent-weak);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.sidebar .step-rail .step:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:21px}.sidebar .step-rail .step:first-child:before{top:50%}.sidebar .step-rail .step:last-child:before{bottom:50%}.sidebar .step-rail .step:after{content:"";background:var(--surface);border:1px solid var(--border);border-radius:50%;width:7px;height:7px;margin-top:-3.5px;position:absolute;top:50%;left:18px}.sidebar .step-rail .step.done:after{background:var(--accent-weak);border-color:var(--accent)}.sidebar .step-rail .step.current:after{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-weak)}.sidebar .step-rail button.step,.sidebar .step-rail a.step{cursor:pointer;border:0;width:100%}.sidebar .step-rail button.step:hover,.sidebar .step-rail a.step:hover{background:var(--surface-alt)}.sidebar .step-rail button.step.current:hover{background:var(--accent-weak)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--gap);padding:20px}.card h2{margin:0 0 12px;font-size:15px}.card.plain{background:var(--bg)}.grid-2{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--gap);grid-template-columns:repeat(3,1fr);display:grid}.field{margin-bottom:var(--gap)}.field label,label.field>span{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field .hint{color:var(--text-muted);margin-top:4px;font-size:12px}.field-label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.concept-fields .field-label{margin-top:18px}.scene-prompts{flex-direction:column;gap:10px;display:flex}.sp-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px}.sp-no{color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:600}.input,.textarea,.select{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-family:var(--font);background:var(--bg);color:var(--text);padding:9px 12px;font-size:14px}.textarea{resize:vertical;min-height:96px}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-muted);background:var(--bg);padding:32px}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;font-family:var(--font);cursor:pointer;padding:9px 16px;text-decoration:none;display:inline-block}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--bg)}.btn.ghost{background:0 0}.btn[disabled],.btn.disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:5px 10px;font-size:12px}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spinner{vertical-align:-1px;border:2px solid;border-top-color:#0000;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.spinner.lg{width:28px;height:28px;color:var(--accent);border-width:3px;margin:0}.spinner.lg.modal-spin{margin:4px auto 14px;display:block}.loading-box{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 16px;font-size:13px;display:flex}.badge{background:var(--surface-alt);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.badge.ok{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success)}.badge.warn{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn)}.badge.danger{background:var(--danger-weak);color:var(--danger)}.badge.accent{background:var(--accent-weak);color:var(--accent)}.notice{border:1px solid var(--border);border-left:3px solid var(--text-muted);border-radius:var(--radius);margin-bottom:var(--gap);background:var(--bg);padding:12px 16px;font-size:13px}.notice.warn{border-left-color:var(--warn);background:color-mix(in srgb, var(--warn) 6%, var(--bg))}.notice.danger{border-left-color:var(--danger);background:var(--danger-weak)}.notice.accent{border-left-color:var(--accent);background:var(--accent-weak)}.notice strong{margin-bottom:2px;display:block}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.table th{background:var(--surface-alt);color:var(--text-muted);font-size:12px;font-weight:600}.list{margin:0;padding:0;list-style:none}.list-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px;display:flex}.list-item .thumb{background:var(--surface-alt);width:96px;height:54px;color:var(--text-muted);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.list-item .body{flex:1;min-width:0}.list-item .title{margin-bottom:2px;font-size:14px;font-weight:600}.list-item .sub{color:var(--text-muted);font-size:12px}.scene-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px;display:flex}.scene-row .no{background:var(--surface-alt);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:flex}.slide-preview{aspect-ratio:var(--video-aspect);background:var(--surface-alt);border:1px solid var(--border);color:var(--text-muted);text-align:center;border-radius:4px;justify-content:center;align-items:center;padding:12px;font-size:12px;display:flex}.progress{background:var(--surface-alt);border-radius:999px;height:6px;overflow:hidden}.progress>span{background:var(--accent);height:100%;display:block}.progress-label{color:var(--text-muted);margin-top:6px;font-size:12px}.player{aspect-ratio:var(--video-aspect);background:var(--text);border-radius:var(--radius);color:var(--surface-alt);justify-content:center;align-items:center;font-size:13px;display:flex}.empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius);padding:48px 24px}.empty .empty-title{color:var(--text);margin-bottom:6px;font-size:15px;font-weight:600}.state-label{font-family:var(--mono);color:var(--text-muted);border:1px dashed var(--border);border-radius:4px;margin-bottom:8px;padding:2px 8px;font-size:11px;display:inline-block}[data-callout]{position:relative}[data-callout]:after{content:attr(data-callout);z-index:5;background:var(--danger);width:20px;height:20px;color:var(--bg);font-size:11px;font-weight:700;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-8px;right:-8px}.refs{border-top:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:var(--mono);margin-top:28px;padding-top:16px}.refs code{background:var(--surface-alt);border-radius:3px;padding:1px 5px}.modal-demo{border:2px solid var(--border);border-radius:var(--radius);margin-bottom:var(--gap);background:var(--bg);max-width:460px;padding:0;box-shadow:0 2px 8px #0000000f}.modal-demo .modal-body{padding:20px}.modal-demo .modal-title{margin-bottom:8px;font-size:15px;font-weight:700}.modal-demo .modal-text{color:var(--text-muted);font-size:13px;line-height:1.6}.modal-demo .modal-foot{border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 var(--radius) var(--radius);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.modal-demo.danger{border-color:var(--danger)}.modal-demo.danger .modal-title{color:var(--danger)}.toast{border:1px solid var(--border);border-left:3px solid var(--success);border-radius:var(--radius);margin-bottom:var(--gap);background:var(--bg);align-items:center;gap:12px;max-width:460px;padding:12px 16px;font-size:13px;display:flex}.toast.danger{border-left-color:var(--danger)}.toast.warn{border-left-color:var(--warn)}.toast .toast-text{flex:1}.toast .toast-action{flex-shrink:0}.sum-layout{align-items:stretch;gap:20px;display:flex}.sum-layout>.card{flex:1 0 520px;margin-bottom:0}.sum-layout>:not(.card){flex-direction:column;flex:0 320px;min-width:220px;display:flex}.sum-layout>*>.card{flex:1;margin-bottom:0}@media (width<=1000px){.sum-layout{flex-direction:column}.sum-layout>.card,.sum-layout>:not(.card){flex:auto;min-width:0}}.sum-pane{grid-template-columns:1fr;gap:14px;display:grid}.sum-pane.open{grid-template-columns:1fr 1fr}.sent{cursor:text;border-radius:4px;margin:0 -7px 4px;padding:5px 7px;font-size:14px;line-height:1.85;display:block}.sent:hover{background:var(--accent-weak)}.pager{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.pager .dots{gap:5px;margin:0 auto;display:flex}.pager .dot{background:var(--border);cursor:pointer;border-radius:50%;width:7px;height:7px}.pager .dot.on{background:var(--accent)}.src{color:var(--text-muted);max-height:420px;font-size:13px;line-height:1.75;overflow-y:auto}.scene-row .no.with-time{border-radius:8px;flex-direction:column;gap:2px;width:58px;height:auto;padding:6px 4px;line-height:1.3}.scene-row .no.with-time b{font-size:13px}.scene-row .no.with-time small{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:9px;font-weight:400}.scene-row .sec-field{align-items:stretch;gap:2px;width:100%;display:flex}.scene-row .sec-field input{text-align:center;font-variant-numeric:tabular-nums;border:1px solid var(--border);-moz-appearance:textfield;border-radius:4px;flex:1;min-width:0;padding:1px 2px;font-size:12px}.scene-row .sec-field input:focus{border-color:var(--accent);outline:none}.scene-row .sec-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.scene-row .sec-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.scene-row .sec-spin{flex-direction:column;gap:1px;display:flex}.scene-row .sec-spin button{cursor:pointer;border:1px solid var(--border);background:var(--bg);width:14px;height:11px;color:var(--accent);font-family:var(--font);border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:7px;line-height:1;display:flex}.scene-row .sec-spin button:hover{background:var(--accent-weak);border-color:var(--accent)}.scene-row .sec-spin button:disabled{color:var(--text-muted);cursor:default;opacity:.45}.scene-row .sec-spin button:disabled:hover{background:var(--bg);border-color:var(--border)}.modal-overlay{z-index:100;background:#1a1d2373;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-overlay .modal-demo{width:100%;max-width:480px;margin:0;box-shadow:0 8px 32px #0000002e}.job-cols{grid-template-columns:minmax(0,1fr) 96px 64px 150px 80px 150px;align-items:center;gap:12px;display:grid}.job-cols>*{min-width:0;font-size:13px}.job-cols>strong{font-size:14px}.job-cols .cut{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-cols .none{color:var(--text-muted)}.job-head{color:var(--text-muted);padding:0 17px 6px}.job-head>*{font-size:12px}.card.job-line{margin-bottom:8px;padding:12px 16px}.job-acts{flex-wrap:nowrap;justify-content:flex-end}.job-cols .dot{white-space:nowrap}.job-cols .dot:before{content:"";vertical-align:1px;background:var(--text-muted);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.job-cols .dot.ok:before{background:var(--success)}.job-cols .dot.accent:before{background:var(--accent)}.job-cols .dot.danger:before{background:var(--danger)}.job-acts>.btn{text-align:center;justify-content:center;min-width:100px}.more{position:relative}.more-menu{z-index:20;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:140px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #0000001a}.more-menu button,.more-menu a{text-align:left;font:inherit;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:8px 10px;font-size:13px;text-decoration:none}.more-menu button:hover,.more-menu a:hover{background:var(--surface-alt)}.more-menu button.danger{color:var(--danger)}.model-row{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--bg);align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex}.model-row:hover{background:var(--surface-alt)}.model-row:has(input:checked){border-color:var(--accent);background:var(--accent-weak)}.cap-stage{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#000;border-radius:6px;width:100%;position:relative;overflow:hidden}.cap-stage:active{cursor:grabbing}.cap-stage>img{pointer-events:none;width:100%;display:block}.cap-chip{color:#fff;text-align:center;white-space:pre-wrap;text-shadow:0 0 2px #000,0 0 2px #000,0 0 2px #000;pointer-events:none;border-radius:3px;line-height:1.35;position:absolute;transform:translate(-50%,-50%)}.cap-chip.dragging{outline:2px dashed #ffffffb3}.cap-spots{align-items:center;gap:8px;margin-top:10px;display:flex}.cap-spots>span{color:var(--text-muted);font-size:12px}.cap-spot-grid{grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.cap-spot{font-family:var(--font);white-space:nowrap;border:1px solid var(--border);background:var(--surface);min-width:62px;color:var(--text-muted);cursor:pointer;border-radius:6px;padding:5px 6px;font-size:11px;line-height:1}.cap-spot:hover{border-color:var(--accent);color:var(--accent)}.cap-spot.on{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.cap-controls{flex-wrap:wrap;gap:16px;margin-top:8px;display:flex}.cap-controls label{align-items:center;gap:8px;font-size:12px;display:flex}.cap-controls span{color:var(--text-muted)}.cap-controls input[type=range]{width:120px}.cap-controls b{font-variant-numeric:tabular-nums;min-width:48px}.cap-grip{cursor:ew-resize;pointer-events:auto;touch-action:none;justify-content:center;align-items:center;width:14px;display:flex;position:absolute;top:0;bottom:0}.cap-grip:before{content:"";background:#ffffffd9;border-radius:2px;width:3px;height:60%;box-shadow:0 0 3px #000c}.cap-grip.left{left:-7px}.cap-grip.right{right:-7px}.cue-list{flex-direction:column;gap:3px;max-width:480px;margin-top:8px;display:flex}.cue-row{border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:3px 6px;display:flex}.cue-row.live{background:var(--accent-weak);border-color:var(--accent)}.cue-time{flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:flex}.cue-time input{text-align:right;font-variant-numeric:tabular-nums;border:1px solid var(--border);background:var(--bg);border-radius:3px;width:48px;padding:1px 3px;font-size:11px}.cue-time button{cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--accent);border-radius:3px;padding:1px 4px;font-size:10px}.cue-time button:hover{border-color:var(--accent);background:var(--accent-weak)}.cue-text{text-align:left;min-width:0;font-size:12px;font-family:var(--font);cursor:pointer;color:var(--text);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;padding:0;overflow:hidden}.cue-text:hover{color:var(--accent)}.seq-head{border-left:3px solid var(--accent);color:var(--text);margin:18px 0 8px;padding-left:10px;font-size:13px;font-weight:700}.seq-head:first-child{margin-top:4px}.review-box{border:1px solid var(--border);background:var(--surface,#fff);border-radius:8px;margin-top:14px;padding:12px 14px}.review-head{align-items:center;gap:6px;margin-bottom:8px;font-size:13px;display:flex}.review-item{border-top:1px dashed var(--border);padding:10px 0;font-size:13px}.review-item.done{opacity:.5}.review-quote{margin-left:6px;font-weight:600}.review-fix{align-items:center;gap:10px;margin-top:6px;display:flex}.review-fix .hint{flex:1}.reading-row{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.reading-row.done{opacity:.5}.reading-row .input{flex:90px;min-width:0;padding:5px 8px;font-size:13px}.studio-steps{z-index:5;background:var(--bg);flex-wrap:wrap;gap:6px;margin-bottom:8px;padding:8px 0 10px;display:flex;position:sticky;top:0}.studio-steps button{border:1px solid var(--border);background:var(--surface,#fff);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:12px}.studio-steps button.on{border-color:var(--accent);color:var(--accent);font-weight:600}.studio-steps button:disabled{cursor:default;opacity:.5}.studio-sec{scroll-margin-top:56px}.studio-sec+.studio-sec{border-top:2px solid var(--border);margin-top:28px;padding-top:22px}.studio-sec .screen-head h1{font-size:17px}.seq-head.seq-big{border-left-width:4px;margin:26px 0 10px;padding:4px 0 4px 12px;font-size:15px}.seq-select{width:auto;height:auto;padding:4px 8px;font-size:12px}.studio-more{border-top:2px solid var(--border);margin-top:28px;padding-top:14px}.studio-more-head{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;padding:10px 2px;font-size:14px;font-weight:600;display:block}.studio-more-head.on{color:var(--accent)}.studio-more-body{padding:4px 0 16px}.studio-more-body .screen-head h1{font-size:16px}.textarea.grow{field-sizing:content;resize:vertical;line-height:1.65}.cap-pager{align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.cap-pager button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:11px}.cap-pager button:disabled{opacity:.4;cursor:default}.cap-pager .hint{margin-left:4px}.final-prompt{margin-top:6px;font-size:12px}.final-prompt summary{cursor:pointer;color:var(--text-muted)}.final-prompt>div{border:1px solid var(--border);background:var(--bg);white-space:pre-wrap;border-radius:6px;margin-top:6px;padding:8px 10px;line-height:1.6}.build-steps{text-align:left;margin:14px auto 12px;padding:0;list-style:none;display:inline-block}.build-steps li{color:var(--text-muted);padding:4px 0;font-size:14px}.build-steps li .mark{width:22px;display:inline-block}.build-steps li.done .mark{color:#16a34a}.build-steps li.now{color:var(--text);font-weight:700}.build-steps li.now .mark{color:var(--accent)}.cue-tl{-webkit-user-select:none;user-select:none;margin-top:12px}.cue-tl-deck{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px 12px}.cue-tl-head{color:var(--text);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.cue-tl-head .hint{font-size:11px;font-weight:400}.cue-tl-ruler{border-bottom:1px solid var(--border);cursor:pointer;height:16px;position:relative}.cue-tl-ruler .tick{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10px;position:absolute;bottom:2px;transform:translate(-50%)}.cue-tl-ruler .tick:after{content:"";background:var(--border);width:1px;height:4px;position:absolute;bottom:-3px;left:50%}.cue-tl-track{background:var(--surface-alt);cursor:pointer;border-radius:6px;height:40px;margin-top:6px;position:relative}.cue-bar{cursor:grab;background:var(--accent);opacity:.72;color:#fff;border-radius:6px;align-items:center;min-width:8px;padding:0 12px;font-size:11px;font-weight:600;transition:opacity .15s,box-shadow .15s;display:flex;position:absolute;top:6px;bottom:6px;overflow:hidden}.cue-bar:hover,.cue-bar.dragging{opacity:.9}.cue-bar.dragging{cursor:grabbing}.cue-bar .label{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;overflow:hidden}.cue-bar.live{opacity:1;background:#1d4ed8}.cue-bar.live:after{content:"";background:#ffffffe6;border-radius:1px;height:2px;position:absolute;bottom:3px;left:8px;right:8px}.cue-bar.edited:before{content:"";background:#f59e0b;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:5px;box-shadow:0 0 0 1.5px #fff}.cue-bar .grip{cursor:ew-resize;width:10px;position:absolute;top:0;bottom:0}.cue-bar .grip.l{left:0}.cue-bar .grip.r{right:0}.cue-bar .grip:after{content:"";opacity:0;background:#ffffffbf;border-radius:1px;width:2px;transition:opacity .12s;position:absolute;top:28%;bottom:28%;left:4px}.cue-bar:hover .grip:after,.cue-bar.dragging .grip:after{opacity:1}@keyframes cue-bump{0%{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}to{transform:translate(0)}}.cue-bar.bump{animation:.24s ease-out cue-bump}.cue-bar.touch-l{opacity:1;box-shadow:inset 3px 0 #ef4444,-2px 0 8px #ef444499}.cue-bar.touch-r{opacity:1;box-shadow:inset -3px 0 #ef4444,2px 0 8px #ef444499}@media (prefers-reduced-motion:reduce){.cue-bar.bump{animation:none}}.cue-tl-head-line{background:var(--text);pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:-24px;bottom:-3px}.cue-tl-head-line:before{content:"";background:var(--text);border-radius:2px 2px 50% 50%;width:10px;height:10px;position:absolute;top:0;left:-4px}.cue-items{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.cue-items li{border:1px solid var(--border);background:var(--bg);border-radius:6px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.cue-items li.live{border-color:var(--accent);background:var(--accent-weak)}.cue-no{text-align:right;width:18px;color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:13px;font-weight:700;line-height:1.55}.cue-nums button.play{border-color:var(--accent);color:var(--accent);margin-left:8px;font-weight:600}.cue-nums button.play:hover{background:var(--accent-weak)}.cue-body{flex:1;min-width:0}.cue-full{white-space:normal;word-break:keep-all;font-size:13px;line-height:1.55}.cue-nums{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;font-size:11px;display:flex}.cue-nums input{border:1px solid var(--border);text-align:right;border-radius:4px;width:62px;padding:3px 5px;font-size:12px}.cue-nums button{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:4px;margin-left:4px;padding:3px 7px;font-size:11px}.cue-nums button:hover{border-color:var(--accent);color:var(--accent)}.seq-meaning{color:var(--text-muted);margin-top:3px;font-size:13px;font-weight:400;line-height:1.5}.check-row{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.check-row input{width:16px;height:16px}.badge.presenter{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.seq-select+.seq-select{margin-left:6px}.presenter-card{align-items:flex-start;gap:16px;display:flex}.presenter-card img,.presenter-ph{width:180px;aspect-ratio:var(--video-aspect);object-fit:cover;border:1px solid var(--border);background:var(--surface-alt);border-radius:8px;flex-shrink:0}.presenter-ph{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;padding:10px;font-size:12px;display:flex}.motion-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:10px;padding:10px 12px}.motion-head{align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.motion-cont{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.motion-lines{margin:0 0 8px;padding:0;font-size:12px;list-style:none}.motion-lines li{margin:2px 0}.motion-num{min-width:18px;color:var(--accent);font-weight:700;display:inline-block}.motion-table{background:var(--bg);font-size:12px}.motion-table th,.motion-table td{vertical-align:top;padding:6px 8px}.motion-cell{min-height:40px;padding:4px 6px;font-size:12px}@media (width<=720px){.motion-table thead{display:none}.motion-table tr{border-bottom:1px solid var(--border);padding:6px 0;display:block}.motion-table td{border:0;padding:2px 4px;display:block}}.frame-pair{grid-template-columns:1fr 1fr;align-items:start;gap:10px;display:grid}.frame-pair>:only-child{grid-column:1/-1}.frame-title{white-space:nowrap;align-items:center;height:22px;margin-bottom:4px;font-weight:600;display:flex;overflow:hidden}@media (width<=720px){.frame-pair{grid-template-columns:1fr}}.step-title{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:14px;font-weight:700;display:flex}.step-no{background:var(--accent);width:20px;height:20px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.voice-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.voice-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:8px}.voice-card.on{border:2px solid var(--accent);background:var(--accent-weak)}.voice-card.taken{opacity:.45}.voice-name{font-size:13px;font-weight:600}.object-table{border-collapse:collapse;width:100%;margin-bottom:8px;font-size:13px}.object-table th,.object-table td{border-bottom:1px solid var(--line,#e3e3e8);text-align:left;vertical-align:top;padding:6px 8px}.object-table th{white-space:nowrap;color:var(--muted,#666);font-weight:600}.scene-fold{border:1px solid var(--line,#e3e3e8);background:var(--card,#fff);cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin:6px 0 0;padding:8px 10px;display:flex}.scene-fold:hover{background:var(--surface-alt)}.scene-fold.open{border-color:var(--accent);background:var(--accent-weak);border-bottom-right-radius:0;border-bottom-left-radius:0}.scene-fold.open .fold-mark{color:var(--accent)}.scene-open-card{border-color:var(--accent);border-top:none;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.fold-name{white-space:nowrap;flex:none;align-items:baseline;gap:6px;width:96px;display:inline-flex}.scene-fold,.scene-open-card{margin-left:20px}.fold-mark{width:14px;color:var(--muted,#888);flex:none;font-size:11px}.fold-thumb{object-fit:cover;background:#ddd;border-radius:4px;flex:none;width:64px;height:36px}.fold-thumb-placeholder{display:inline-block}.fold-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted,#666);flex:1;font-size:13px;overflow:hidden}.scene-fold .badge.warn{color:#b3261e;background:#fde8e6}.seq-head .fold-mark{margin-right:4px}.seq-head.seq-big{background:var(--surface-alt);border-radius:0 8px 8px 0;margin:28px 0 8px;padding:10px 12px}.seq-head.seq-big:hover{background:var(--accent-weak)}:root{--hama-color-bg-soft:#f6f6ff;--hama-color-main:#5b5fef;--hama-color-main-dark:#484bd1;--hama-color-text:#202330;--hama-color-border:#cdd1dc;--hama-color-text-soft:#707585;--hama-color-success:#15803d;--hama-color-warning:#b45309;--hama-color-danger:#d92d20;--hama-color-white:#fff;--hama-color-placeholder:#969ba8;--hama-color-table-head-bg:#f1f2f7;--hama-color-yellow:#fc0;--hama-space-0:0px;--hama-space-3:3px;--hama-space-4:4px;--hama-space-8:8px;--hama-space-12:12px;--hama-space-16:16px;--hama-space-20:20px;--hama-space-24:24px;--hama-space-28:28px;--hama-space-32:32px;--hama-space-40:40px;--hama-radius-8:8px;--hama-radius-12:12px;--hama-border-width:1px;--hama-shadow-popup:0 4px 10px #0000001a;--hama-font-family:"Pretendard", sans-serif;--hama-text-title-page-size:32px;--hama-text-title-page-line:40px;--hama-text-title-page-weight:700;--hama-text-title-section-size:20px;--hama-text-title-section-line:28px;--hama-text-title-section-weight:700;--hama-text-body-size:16px;--hama-text-body-line:24px;--hama-text-body-weight:400;--hama-text-body-strong-size:16px;--hama-text-body-strong-line:24px;--hama-text-body-strong-weight:500;--hama-text-note-size:14px;--hama-text-note-line:22px;--hama-text-note-weight:400;--hama-text-label-size:14px;--hama-text-label-line:20px;--hama-text-label-weight:500}:root[data-theme=hama]{--accent:var(--hama-color-main);--accent-weak:var(--hama-color-bg-soft);--border:var(--hama-color-border);--text:var(--hama-color-text);--text-muted:var(--hama-color-text-soft);--surface-alt:var(--hama-color-table-head-bg);--radius:var(--hama-radius-8);--font:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}:root[data-theme=hama] :is(.badge,.job-cols .dot,.sidebar,.step-rail,.auth-card){--accent:#2f6df6;--accent-weak:#e8effe;--border:#d9dde5;--text:#1a1d23;--text-muted:#6b7280;--surface-alt:#eef0f4}:root[data-theme=hama] .auth-card{--font:Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;font-family:var(--font);color:var(--text)}:root[data-theme=hama] .input:not(.auth-card *),:root[data-theme=hama] .select:not(.auth-card *),:root[data-theme=hama] .textarea:not(.auth-card *){border:var(--hama-border-width) solid var(--hama-color-border);border-radius:var(--hama-radius-8);color:var(--hama-color-text)}:root[data-theme=hama] .input:not(:is(.auth-card,.sequence-object-table,.reading-row) *),:root[data-theme=hama] .select:not(:is(.auth-card,.sequence-object-table,.reading-row) *){min-height:44px;padding:0 12px;font-size:16px}:root[data-theme=hama] .textarea:not(:is(.auth-card,.sequence-object-table,.reading-row) *){min-height:96px;padding:10px 12px;font-size:16px}:root[data-theme=hama] .input:not(.auth-card *)::placeholder,:root[data-theme=hama] .textarea:not(.auth-card *)::placeholder{color:var(--hama-color-placeholder)}:root[data-theme=hama] .input:not(.auth-card *):focus,:root[data-theme=hama] .textarea:not(.auth-card *):focus,:root[data-theme=hama] .select:not(.auth-card *):focus{border-color:var(--hama-color-main);outline:none}:root[data-theme=hama] .btn:not(.auth-card *){border:var(--hama-border-width) solid var(--hama-color-border);border-radius:var(--hama-radius-8);background:var(--hama-color-white);color:var(--hama-color-text)}:root[data-theme=hama] .btn:not(:is(.auth-card,.sequence-object-table,.reading-row) *){justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-size:16px;line-height:1;display:inline-flex}:root[data-theme=hama] .btn.small:not(:is(.auth-card,.sequence-object-table,.reading-row) *){min-height:36px;padding:0 12px;font-size:14px}:root[data-theme=hama] .btn.ghost:not(.auth-card *){background:0 0}:root[data-theme=hama] .btn.primary:not(.auth-card *){background:var(--hama-color-main);border-color:var(--hama-color-main);color:var(--hama-color-white)}:root[data-theme=hama] .btn.primary:not(.auth-card *):not([disabled]):not(.disabled):hover,:root[data-theme=hama] .btn.primary:not(.auth-card *):not([disabled]):not(.disabled):active{background:var(--hama-color-main-dark);border-color:var(--hama-color-main-dark)}:root[data-theme=hama] .btn.danger:not(.auth-card *){background:var(--hama-color-danger);border-color:var(--hama-color-danger);color:var(--hama-color-white)}:root[data-theme=hama] .table th{background:var(--hama-color-table-head-bg);color:var(--hama-color-text-soft)}:root[data-theme=hama] .modal-demo{border-radius:var(--hama-radius-12);box-shadow:var(--hama-shadow-popup)}:root[data-theme=hama] .modal-demo .modal-foot{border-radius:0 0 var(--hama-radius-12) var(--hama-radius-12)}:root[data-theme=hama] .modal-overlay .modal-demo{box-shadow:var(--hama-shadow-popup)}html:lang(ja) body,html:lang(ja) .auth-card{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,Noto Sans JP,sans-serif}html:lang(zh) body,html:lang(zh) .auth-card{font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif}.mobile-bar,.mobile-rail,.sidebar-scrim{display:none}@media (width<=1024px){.app{display:block}.mobile-bar{z-index:40;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;height:52px;padding:0 12px;display:flex;position:sticky;top:0}.mobile-bar .brand{letter-spacing:-.02em;color:var(--text);align-items:center;gap:8px;font-size:16px;font-weight:800;text-decoration:none;display:flex}.mobile-bar .brand .brand-mark{border-radius:6px;width:22px;height:22px}.mobile-bar .brand .brand-mark>span{border-top-width:4.5px;border-bottom-width:4.5px;border-left-width:7px;margin-left:1.5px}.menu-toggle{cursor:pointer;border-radius:var(--radius);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;padding:0;display:inline-flex}.menu-toggle:hover{background:var(--surface-alt)}.menu-toggle>span{background:var(--text);border-radius:1px;width:20px;height:2px;transition:transform .2s,opacity .2s;display:block}.menu-open .menu-toggle>span:first-child{transform:translateY(6px)rotate(45deg)}.menu-open .menu-toggle>span:nth-child(2){opacity:0}.menu-open .menu-toggle>span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.mobile-rail{z-index:30;background:var(--bg);border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:8px 12px;display:block;position:sticky;top:52px;overflow-x:auto}.mobile-rail::-webkit-scrollbar{display:none}.mobile-rail .step-rail{flex-wrap:nowrap;margin:0}.mobile-rail .step-rail .step{flex:none;padding:6px 12px;font-size:12px;text-decoration:none}.sidebar .step-rail{display:none}.sidebar{z-index:60;width:min(280px,84vw);height:100%;box-shadow:none;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.menu-open .sidebar{transform:none;box-shadow:0 0 24px #0000002e}.sidebar a{padding:12px 20px;font-size:14px}.sidebar-scrim{z-index:50;opacity:0;pointer-events:none;background:#1a1d2366;transition:opacity .2s;display:block;position:fixed;inset:0}.menu-open .sidebar-scrim{opacity:1;pointer-events:auto}.main{min-width:0;max-width:none;padding:20px 20px 40px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2>*,.grid-3>*{min-width:0}.scene-workspace.grid-2{grid-template-columns:minmax(0,1fr)}.job-cols{grid-template-columns:minmax(0,1fr) 96px 64px 64px 160px}.job-cols>:nth-child(4){display:none}.sequence-object-table{min-width:0}.sequence-object-table col:last-child{width:60px!important}.more-menu button,.more-menu a{padding:12px 14px;font-size:14px}}@media (width<=760px){body{font-size:15px}.main{padding:16px 16px 40px}.screen-head h1{font-size:18px}.card{padding:16px}.grid-2,.grid-3,.sum-pane.open{grid-template-columns:minmax(0,1fr)}.library-search{flex:100%!important}.btn-row{flex-wrap:wrap}.job-head{display:none}.job-cols{grid-template-columns:auto auto 1fr;gap:6px 14px}.job-cols>:first-child{grid-column:1/-1}.job-cols>:nth-child(4){display:none}.job-cols>:nth-child(5){justify-self:start}.job-cols>.job-acts{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start;margin-top:4px}.job-acts>.btn{flex:auto}.sequence-object-scroll{overflow-x:visible}.sequence-object-table{table-layout:auto;min-width:0}.sequence-object-table,.sequence-object-table tbody{width:100%;display:block}.sequence-object-table colgroup,.sequence-object-table thead{display:none}.sequence-object-table td[data-label]:before{content:attr(data-label);color:var(--text-muted);margin-bottom:2px;font-size:12px;font-weight:600;display:block}.sequence-object-table td:last-child{text-align:right}.sequence-object-table tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:8px;padding:8px;display:block}.sequence-object-table td{border:0;padding:4px 0;display:block;width:auto!important}.scene-fold,.scene-open-card{margin-left:0}.fold-name{width:auto}.fold-thumb{width:48px;height:27px}.presenter-card{flex-direction:column}.presenter-card img,.presenter-ph{width:100%;max-width:240px}.modal-overlay{align-items:flex-end;padding:12px}.modal-demo,.toast,.cue-list{max-width:none}.modal-demo .modal-foot{flex-wrap:wrap}.modal-demo .modal-foot .btn{flex:auto}.cap-controls input[type=range]{flex:120px;width:100%}.table:not(.motion-table),.object-table:not(.sequence-object-table){display:block;overflow-x:auto}}@media (pointer:coarse){.btn{min-height:40px}.btn.small{min-height:36px}.input,.select{min-height:40px}.input,.select,.textarea{font-size:16px}}
