:root{--ks-font:Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--ks-ink:#16202b;--ks-ink-soft:#46525f;--ks-muted:#6b7785;--ks-placeholder:#aab3bd;--ks-disabled:#a3adb8;--ks-surface:#fff;--ks-line:#e3e6ea;--ks-line-hover:#c4ccd6;--ks-board:#f3efe7;--ks-board-grid:#e7e0d4;--ks-point:#1f3a5f;--ks-point-soft:#9aabbe;--ks-on-point:#fff;--ks-warn:#a8323f;--ks-warn-line:#e4c2c7;--ks-glyph:#9aa5b1;--ks-glyph-back:#cfd6de;--ks-radius:3px;--ks-fs-xs:.75rem;--ks-fs-sm:.8125rem;--ks-fs-md:.875rem;--ks-fs-base:.9375rem;--ks-fs-lg:1rem;--ks-fs-xl:1.0625rem;--ks-fs-title:1.875rem;--ks-fs-hero:2.25rem;--ks-sp-1:.5rem;--ks-sp-2:.75rem;--ks-sp-3:1rem;--ks-sp-4:1.25rem;--ks-sp-5:1.75rem;--ks-sp-6:2.5rem;--ks-sp-7:3.5rem;font-family:var(--ks-font);color:var(--ks-ink);-webkit-font-smoothing:antialiased;line-height:1.6}*{box-sizing:border-box}html,body,#root{height:100%}html{font-size:clamp(13px,.52vw + 9.3px,19px)}body{background:var(--ks-surface);word-break:keep-all;overflow-wrap:break-word;margin:0}h1,h2,h3,p{margin:0}button{font:inherit;cursor:pointer}.ks-steps{align-items:center;gap:var(--ks-sp-2,8px);padding:var(--ks-sp-3,12px) 0 var(--ks-sp-4,16px);margin-bottom:var(--ks-sp-4,16px);border-bottom:1px solid var(--ks-line,#dce1e8);font-family:var(--ks-font,inherit);font-size:var(--ks-fs-xs,12px);flex-wrap:wrap;display:flex}.ks-step{color:var(--ks-muted,#6b7280);white-space:nowrap;padding:2px 0;text-decoration:none}.ks-step:hover{color:var(--ks-point,#1f3a5f)}.ks-step.is-now{color:var(--ks-point,#1f3a5f);font-weight:700}.ks-steps-sep{color:var(--ks-line,#dce1e8)}.ks-steps-gap{min-width:var(--ks-sp-4,16px);flex:1}.ks-step-out{font-size:var(--ks-fs-xs,12px)}.ks-shell{flex-direction:column;min-height:100vh;display:flex}.ks-shell-bar{align-items:center;gap:var(--ks-sp-4);height:52px;padding:0 var(--ks-sp-4);border-bottom:1px solid var(--ks-line);flex:none;display:flex}.ks-shell-left{align-items:center;gap:var(--ks-sp-2);flex:none;display:flex}.ks-shell-brand{font-size:var(--ks-fs-sm);letter-spacing:.12em;color:var(--ks-point);white-space:nowrap;cursor:pointer;font-weight:700;text-decoration:none}.ks-shell-brand:hover{opacity:.8}.ks-shell-project{font-size:var(--ks-fs-xs);color:var(--ks-muted);padding:2px 0;text-decoration:none}.ks-shell-project:hover{color:var(--ks-point)}button.ks-shell-project{cursor:pointer;font:inherit;background:0 0;border:none}.ks-shell-right{align-items:center;gap:var(--ks-sp-2);font-size:var(--ks-fs-xs);color:var(--ks-muted);flex:none;display:flex}.ks-shell-balance{border:1px solid var(--ks-line);font-size:var(--ks-fs-xs);color:var(--ks-point);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-weight:600;text-decoration:none;display:inline-flex}.ks-shell-balance:hover{background:var(--ks-surface-2,#f7f8fa)}.ks-shell-bar .ks-steps{border-bottom:0;flex-wrap:nowrap;flex:1;min-width:0;margin:0;padding:0;overflow:hidden}.ks-shell-body{flex:1;min-height:0}.ks-shell.is-wide .ks-shell-body{flex-direction:column;display:flex}@media (width<=900px){.ks-shell-bar{height:auto;padding:var(--ks-sp-2) var(--ks-sp-3);flex-wrap:wrap}.ks-shell-bar .ks-steps{padding-top:var(--ks-sp-1);flex-wrap:wrap;flex-basis:100%;order:3}}.ks-start{--ks-ink:#16202b;--ks-muted:#6b7785;--ks-line:#e3e6ea;--ks-point:#1f3a5f;box-sizing:border-box;max-width:62rem;color:var(--ks-ink);-webkit-font-smoothing:antialiased;margin:0 auto;padding:5.5rem 2rem 4rem;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}.ks-start *,.ks-start :before,.ks-start :after{box-sizing:inherit}.ks-start-head{max-width:34rem}.ks-start-brand{letter-spacing:.14em;color:var(--ks-point);margin:0 0 1.75rem;font-size:.875rem;font-weight:600}.ks-start-title{letter-spacing:-.02em;margin:0 0 1rem;font-size:2.25rem;font-weight:700;line-height:1.32}.ks-start-lead{color:var(--ks-muted);word-break:keep-all;margin:0;font-size:1rem;line-height:1.75}.ks-track-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:3.5rem 0 3rem;display:grid}.ks-card{border:1px solid var(--ks-line);text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border-radius:3px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.75rem 1.75rem 1.875rem;transition:border-color .15s;display:flex}.ks-card:hover{border-color:#c4ccd6}.ks-card:focus-visible{outline:2px solid var(--ks-point);outline-offset:3px}.ks-card.is-selected{border-color:var(--ks-point);box-shadow:inset 3px 0 0 var(--ks-point)}.ks-glyph{margin-bottom:1.25rem;display:block}.ks-glyph-frame,.ks-glyph-axis,.ks-glyph-link{fill:none;stroke:#9aa5b1;stroke-width:1px}.ks-glyph-back{stroke:#cfd6de}.ks-glyph-axis{stroke-dasharray:3 3}.ks-glyph-link{stroke-width:1px}.ks-glyph-marker{fill:#9aa5b1}.ks-card.is-selected .ks-glyph-frame,.ks-card.is-selected .ks-glyph-axis,.ks-card.is-selected .ks-glyph-link{stroke:var(--ks-point)}.ks-card.is-selected .ks-glyph-back{stroke:#9aabbe}.ks-card.is-selected .ks-glyph-marker{fill:var(--ks-point)}.ks-card-title{align-items:baseline;gap:.5rem;font-size:1.0625rem;font-weight:600;line-height:1.5;display:flex}.ks-card-state{color:var(--ks-muted);font-size:.75rem;font-weight:500}.ks-card-summary{color:#46525f;word-break:keep-all;font-size:.9375rem;line-height:1.7}.ks-card-detail{border-top:1px solid var(--ks-line);width:100%;color:var(--ks-muted);word-break:keep-all;margin-top:.375rem;padding-top:.75rem;font-size:.8125rem;line-height:1.65}.ks-card.is-pending .ks-card-title,.ks-card.is-pending .ks-card-summary{color:#6b7785}.ks-start-foot{border-top:1px solid var(--ks-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.75rem;display:flex}.ks-start-note{color:var(--ks-muted);word-break:keep-all;margin:0;font-size:.875rem;line-height:1.7}.ks-start-go{border:1px solid var(--ks-point);background:var(--ks-point);color:#fff;font:inherit;cursor:pointer;border-radius:3px;flex:none;padding:.8125rem 2rem;font-size:.9375rem;font-weight:600}.ks-start-go:focus-visible{outline:2px solid var(--ks-point);outline-offset:3px}.ks-start-go:disabled{border-color:var(--ks-line);color:#a3adb8;cursor:default;background:0 0}@media (width<=720px){.ks-start{padding:3rem 1.25rem}.ks-start-title{font-size:1.75rem}.ks-track-grid{grid-template-columns:minmax(0,1fr);gap:1rem;margin:2.5rem 0 2.25rem}.ks-card{padding:1.5rem}.ks-start-go{width:100%}}@media (prefers-reduced-motion:reduce){.ks-card{transition:none}}.ks-cast{padding:var(--ks-sp-4,16px) 0;border-top:1px solid var(--ks-line,#dce1e8);border-bottom:1px solid var(--ks-line,#dce1e8);margin-bottom:var(--ks-sp-5,24px)}.ks-cast-title{font-size:var(--ks-fs-xs,12px);letter-spacing:.04em;color:var(--ks-muted,#6b7280);margin:0 0 4px;font-weight:700}.ks-cast-lead{margin:0 0 var(--ks-sp-3,12px);font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);line-height:1.7}.ks-cast-list{gap:var(--ks-sp-2,8px);flex-direction:column;display:flex}.ks-cast-row{align-items:center;gap:var(--ks-sp-2,8px);flex-wrap:wrap;display:flex}.ks-cast-name{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;padding:4px 11px;font-weight:700}.ks-cast-name:hover{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-cast-count{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280)}.ks-cast-input{border:1px solid var(--ks-point,#1f3a5f);border-radius:var(--ks-radius,3px);width:160px;color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);background:0 0;padding:4px 9px}.ks-cast-btn{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;padding:4px 11px}.ks-cast-btn.is-go{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-edit-scene{padding:var(--ks-sp-5,24px) 0;border-bottom:1px solid var(--ks-line,#dce1e8)}.ks-edit-head{align-items:center;gap:var(--ks-sp-2,8px);flex-wrap:wrap;display:flex}.ks-edit-no{font-size:var(--ks-fs-xs,12px);color:var(--ks-point,#1f3a5f);white-space:nowrap;font-weight:700}.ks-edit-place{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);min-width:140px;color:inherit;font:inherit;background:0 0;flex:1;padding:5px 9px;font-weight:700}.ks-edit-toggles{gap:4px;display:flex}.ks-edit-tog{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:var(--ks-muted,#6b7280);font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;padding:5px 10px}.ks-edit-tog.is-on{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-edit-cast{margin:var(--ks-sp-2,8px) 0 0;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280)}.ks-edit-lines{margin-top:var(--ks-sp-3,12px);flex-direction:column;gap:6px;display:flex}.ks-edit-line{align-items:flex-start;gap:6px;display:flex}.ks-edit-kind{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);width:46px;color:var(--ks-muted,#6b7280);font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;flex:none;padding:5px 0}.ks-edit-line.is-dialogue .ks-edit-kind{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-edit-speaker{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);width:90px;color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);background:0 0;flex:none;padding:5px 9px}.ks-edit-text{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);min-width:0;color:inherit;font:inherit;resize:vertical;background:0 0;flex:1;padding:5px 9px;line-height:1.6}.ks-edit-del{border-radius:var(--ks-radius,3px);color:var(--ks-muted,#6b7280);font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;padding:5px 9px}.ks-edit-del:hover{border-color:var(--ks-warn,#b03a5b);color:var(--ks-warn,#b03a5b)}.ks-edit-adds{margin-top:var(--ks-sp-2,8px);gap:6px;display:flex}.ks-edit-add{border:1px dashed var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:var(--ks-muted,#6b7280);font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;padding:4px 11px}.ks-edit-add:hover{border-style:solid;border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-mode{align-items:center;gap:var(--ks-sp-2,8px);margin-bottom:var(--ks-sp-3,12px);display:flex}.ks-mode-note{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);flex:1;margin:0}.ks-mode-btn{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;padding:5px 13px}.ks-mode-btn:hover{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-mode-btn.is-on{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-idea{--ks-ink:#16202b;--ks-muted:#6b7785;--ks-line:#e3e6ea;--ks-point:#1f3a5f;--ks-warn:#a8323f;box-sizing:border-box;max-width:48rem;color:var(--ks-ink);-webkit-font-smoothing:antialiased;margin:0 auto;padding:4.5rem 2rem 5rem;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}.ks-idea *,.ks-idea :before,.ks-idea :after{box-sizing:inherit}.ks-idea-head{margin-bottom:3rem}.ks-idea-step{letter-spacing:.08em;color:var(--ks-point);margin:0 0 1.25rem;font-size:.8125rem;font-weight:600}.ks-idea-title{letter-spacing:-.02em;margin:0 0 .875rem;font-size:1.875rem;font-weight:700;line-height:1.35}.ks-idea-lead{color:var(--ks-muted);word-break:keep-all;margin:0;font-size:.9375rem;line-height:1.75}.ks-field{margin-bottom:2.5rem;display:block}.ks-field-label{margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:block}.ks-textarea{border:1px solid var(--ks-line);width:100%;color:inherit;font:inherit;resize:vertical;background:0 0;border-radius:3px;padding:1rem 1.125rem;font-size:.9375rem;line-height:1.8;display:block}.ks-textarea:focus{border-color:var(--ks-point);outline:none}.ks-textarea:disabled{color:var(--ks-muted)}.ks-textarea::placeholder{color:#aab3bd}.ks-field-hint{color:var(--ks-muted);word-break:keep-all;margin-top:.625rem;font-size:.8125rem;line-height:1.65;display:block}.ks-count-row{flex-wrap:wrap;gap:.5rem;display:flex}.ks-count{border:1px solid var(--ks-line);color:var(--ks-muted);font:inherit;cursor:pointer;background:0 0;border-radius:3px;padding:.625rem 1.25rem;font-size:.875rem}.ks-count:hover:not(:disabled){border-color:#c4ccd6}.ks-count:focus-visible{outline:2px solid var(--ks-point);outline-offset:2px}.ks-count.is-on{border-color:var(--ks-point);color:var(--ks-point);font-weight:600}.ks-count:disabled{cursor:default}.ks-scene-list{margin-bottom:3rem}.ks-scene{border-top:1px solid var(--ks-line);padding:1.75rem 0}.ks-scene:last-child{border-bottom:1px solid var(--ks-line)}.ks-scene-head{flex-wrap:wrap;align-items:baseline;gap:.625rem;margin:0 0 .5rem;font-size:.9375rem;font-weight:600;line-height:1.5;display:flex}.ks-scene-no{color:var(--ks-point)}.ks-scene-meta{color:var(--ks-muted);font-size:.8125rem;font-weight:400}.ks-scene-cast{color:var(--ks-muted);margin:0 0 1.25rem;font-size:.8125rem}.ks-scene-body{font-size:.9375rem;line-height:1.85}.ks-line-action{word-break:keep-all;margin:0 0 .75rem}.ks-line-dialogue{word-break:keep-all;gap:.875rem;margin:0 0 .75rem 2.5rem;display:flex}.ks-speaker{min-width:4rem;color:var(--ks-point);flex:none;font-weight:600}.ks-dialogue-text{flex:1}.ks-idea-foot{border-top:1px solid var(--ks-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.75rem;display:flex}.ks-foot-left{gap:.5rem;display:flex}.ks-idea-note{color:var(--ks-muted);word-break:keep-all;margin:0;font-size:.875rem;line-height:1.7}.ks-btn-go{border:1px solid var(--ks-point);background:var(--ks-point);color:#fff;font:inherit;cursor:pointer;border-radius:3px;flex:none;padding:.8125rem 2rem;font-size:.9375rem;font-weight:600}.ks-btn-go:focus-visible{outline:2px solid var(--ks-point);outline-offset:3px}.ks-btn-go:disabled{border-color:var(--ks-line);color:#a3adb8;cursor:default;background:0 0}.ks-btn-quiet{border:1px solid var(--ks-line);color:var(--ks-ink);font:inherit;cursor:pointer;background:0 0;border-radius:3px;padding:.8125rem 1.25rem;font-size:.9375rem}.ks-btn-quiet:hover:not(:disabled){border-color:#c4ccd6}.ks-btn-quiet:focus-visible{outline:2px solid var(--ks-point);outline-offset:2px}.ks-btn-quiet:disabled{color:var(--ks-muted);cursor:default}.ks-idea-error{color:var(--ks-warn);word-break:keep-all;border:1px solid #e4c2c7;border-radius:3px;margin:0 0 2rem;padding:.875rem 1.125rem;font-size:.875rem;line-height:1.7}@media (width<=720px){.ks-idea{padding:3rem 1.25rem 3.5rem}.ks-idea-title{font-size:1.5rem}.ks-line-dialogue{margin-left:1rem}.ks-idea-foot{flex-direction:column;align-items:stretch}.ks-btn-go{width:100%}.ks-foot-left{justify-content:space-between}.ks-foot-left .ks-btn-quiet{flex:1}}.ks-input-line{resize:none;height:auto;min-height:0;line-height:1.4}.genbar-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.genbar-actions-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.genbar-aspect{align-self:flex-end}.genbar-camera-hint{text-align:right;opacity:.75;max-width:320px;margin:0;font-size:12px;line-height:1.4}.genbar-presets{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.genbar-preset{border:1px solid var(--ks-line,#dce1e8);font:inherit;color:var(--ks-muted,#6b7280);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:11px}.genbar-preset:hover{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.genbar-preset:disabled{opacity:.5;cursor:default}.ks-lightbox{z-index:1000;background:#000000b8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ks-lightbox-box{flex-direction:column;gap:10px;max-width:96vw;max-height:94vh;display:flex}.ks-lightbox-head{color:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex}.ks-lightbox-title{font-size:14px}.ks-lightbox-actions{gap:8px;display:flex}.ks-lightbox-body{justify-content:center;min-height:0;display:flex}.ks-lightbox-img{object-fit:contain;max-width:96vw;max-height:calc(94vh - 56px)}.gen-result-frame.is-clickable{cursor:zoom-in}.gen-result-tools{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.gen-result-meta{opacity:.8;margin:6px 0 0;font-size:12px;line-height:1.5}.gen-version-cam{opacity:.7;margin-left:4px;font-size:10px}.gen-version-mark{margin-left:4px;font-size:10px;font-weight:600}.ks-lightbox .btn{color:#fff;background:#ffffff14;border:1px solid #ffffff8c;text-decoration:none}.ks-lightbox .btn:hover{background:#fff3;border-color:#fff}.ks-lightbox .btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.gen-result-time{color:var(--ks-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.video-results{border:1px solid var(--ks-line);border-radius:var(--ks-radius);padding:var(--ks-sp-3);margin-top:var(--ks-sp-3);background:var(--ks-surface)}.video-results-head{align-items:baseline;gap:var(--ks-sp-2);margin-bottom:var(--ks-sp-2);display:flex}.video-results-title{font-size:var(--ks-fs-md);color:var(--ks-ink);font-weight:600}.video-results-note{font-size:var(--ks-fs-xs);color:var(--ks-muted)}.video-results-empty{font-size:var(--ks-fs-sm);color:var(--ks-muted);line-height:1.5}.video-results-msg{font-size:var(--ks-fs-xs);color:var(--ks-muted);margin:4px 0}.video-results-msg.is-error{color:var(--ks-warn)}.video-results-list{gap:var(--ks-sp-3);margin:0;padding:0;list-style:none;display:grid}.video-item{border:1px solid var(--ks-line);border-radius:var(--ks-radius);padding:var(--ks-sp-2)}.video-item-head{align-items:center;gap:var(--ks-sp-2);margin-bottom:var(--ks-sp-1);display:flex}.video-item-ver{font-size:var(--ks-fs-xs);color:var(--ks-point);font-weight:700}.video-item-model{font-size:var(--ks-fs-xs);color:var(--ks-muted)}.video-item-player{border-radius:var(--ks-radius);background:#000;width:100%;display:block}.video-item-dl{font-size:var(--ks-fs-xs);color:var(--ks-point);margin-top:6px;text-decoration:none;display:inline-block}.video-item-dl:hover{text-decoration:underline}.ws-field{border-bottom:1px solid var(--ks-line);align-items:center;gap:10px;min-width:0;margin-bottom:8px;padding:6px 0 8px;display:flex}.ws-field.is-editing{flex-wrap:wrap;align-items:flex-start}.ws-label{color:var(--ks-muted);flex:none;font-size:12px;font-weight:600}.ws-value{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:13px;overflow:hidden}.ws-value.is-muted{color:var(--ks-muted)}.ws-input{box-sizing:border-box;width:100%;font:inherit;border:1px solid var(--ks-line);border-radius:var(--ks-radius);color:inherit;resize:vertical;background:0 0;flex:100%;padding:6px 8px;font-size:13px}.ws-input:focus{border-color:var(--ks-point);outline:none}.ws-actions{flex:100%;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ws-error{color:#c0453b;margin-right:auto;font-size:12px}.shotboard{min-width:1180px;min-height:calc(100vh - 54px);padding-bottom:var(--ks-sp-5);font-family:var(--ks-font);color:var(--ks-ink);flex-direction:column;display:flex}.topbar{align-items:center;gap:var(--ks-sp-3);padding:0 var(--ks-sp-4);border-bottom:1px solid var(--ks-line);flex:none;height:52px;display:flex}.topbar-left{align-items:center;gap:var(--ks-sp-2);display:flex}.topbar-center{justify-content:center;align-items:center;gap:var(--ks-sp-1);flex:1;display:flex}.scene-btn{border:1px solid var(--ks-line);border-radius:var(--ks-radius);width:26px;height:26px;color:var(--ks-ink);cursor:pointer;font-size:var(--ks-fs-sm);background:0 0;flex:none;place-items:center;line-height:1;display:grid}.scene-btn:hover{border-color:var(--ks-line-hover)}.scene-btn:disabled{opacity:.4;cursor:not-allowed}.scene-btn-del:hover:not(:disabled){border-color:var(--ks-warn)}.topbar-right{align-items:center;gap:var(--ks-sp-2);display:flex}.brand{font-size:var(--ks-fs-sm);letter-spacing:.14em;color:var(--ks-point);font-weight:600}.topbar-divider{background:var(--ks-line);width:1px;height:16px}.topbar-project{font-size:var(--ks-fs-md);color:var(--ks-muted)}.save-state{font-size:var(--ks-fs-xs);color:var(--ks-muted)}.save-state.is-dirty{color:var(--ks-point)}.save-state.is-saving,.save-state.is-saved{color:var(--ks-muted)}.save-state.is-failed{color:#c0453b}.board-error{padding:var(--ks-sp-1) var(--ks-sp-4);font-size:var(--ks-fs-xs);color:#c0453b}.shotboard-body{gap:var(--ks-sp-3);padding:var(--ks-sp-3) var(--ks-sp-4);flex:1;grid-template-columns:180px minmax(0,1fr) 300px;min-height:0;display:grid}.stage-column,.side-column{gap:var(--ks-sp-3);flex-direction:column;min-height:0;display:flex}.panel-stage{flex:3}.panel-topdown{flex:1.4}.panel-camera{flex:none;height:230px}.panel-inspector{flex:1;overflow-y:auto}.aspect-tall .canvas-front{max-width:360px;margin:0 auto}.sb-body{align-items:flex-start;gap:var(--ks-sp-3);padding:var(--ks-sp-3) var(--ks-sp-4);min-height:0;display:flex}.sb-left{gap:var(--ks-sp-3);flex-direction:column;flex:0 0 190px;width:190px;display:flex}.sb-left>*{flex:none}.sb-left .panel-inspector{flex:none;overflow:visible}.sb-left .panel-inspector .panel-body{overflow:visible}.sb-center{flex-direction:column;flex:1;align-self:flex-start;min-width:360px;display:flex}.sb-center .panel-stage{flex:none;height:calc(100vh - 230px);min-height:360px}.sb-divider{cursor:col-resize;flex:0 0 6px;align-self:stretch;position:relative}.sb-divider:before{content:"";background:var(--ks-line);border-radius:2px;position:absolute;inset:0 2px}.sb-divider:hover:before{background:var(--ks-line-hover)}.sb-right{gap:var(--ks-sp-2);flex-direction:column;flex:none;height:calc(100vh - 230px);min-height:360px;display:flex;overflow:hidden}.sb-cam-pinned{flex:none}.sb-cam-pinned .panel-camera{flex:none;height:auto}.sb-cam-pinned .gen-result-wrap{padding:10px;overflow:visible}.sb-cam-pinned .gen-result-frame{aspect-ratio:320/170;background:var(--ks-board);justify-content:center;align-items:center;width:100%;display:flex}.sb-cam-pinned .gen-result-img{object-fit:contain;width:100%;height:100%}.sb-right-scroll{gap:var(--ks-sp-2);flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.sb-presets{gap:var(--ks-sp-1);flex:none;display:flex}.sb-preset{border:1px solid var(--ks-line);border-radius:var(--ks-radius);font-size:var(--ks-fs-xs);color:var(--ks-muted);cursor:pointer;background:0 0;flex:1;padding:.3125rem}.sb-preset:hover{border-color:var(--ks-line-hover)}.sb-preset.is-active{background:var(--ks-point);border-color:var(--ks-point);color:var(--ks-on-point)}.sb-sec{border:1px solid var(--ks-line);border-radius:var(--ks-radius);flex:none}.sb-sec-head{align-items:center;gap:var(--ks-sp-1);padding:var(--ks-sp-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.sb-chev{color:var(--ks-muted);text-align:center;width:10px;font-size:10px;transition:transform .12s}.sb-sec.is-collapsed .sb-chev{transform:rotate(-90deg)}.sb-sec-title{font-size:var(--ks-fs-sm);font-weight:600}.sb-sec-sub{font-size:var(--ks-fs-xs);color:var(--ks-muted);margin-left:auto}.sb-sec-right{margin-left:auto}.sb-sec-body{padding:var(--ks-sp-2);border-top:1px solid var(--ks-line)}.sb-right .genbar{border-top:0;padding:0}.sb-right .genbar-foot{align-items:stretch;gap:var(--ks-sp-2);flex-direction:column}.sb-right .genbar-foot .select{width:100%}.sb-right .genbar-spacer{display:none}.sb-right .genbar-actions-row{gap:var(--ks-sp-1);flex-direction:column}.sb-right .genbar-actions-row .btn{width:100%}.sb-right .camera-result-panel,.sb-right .video-results,.sb-right .panel{border:0}.video-gen .select{width:100%}.video-gen-btn{width:100%;margin-top:var(--ks-sp-2)}.panel{border:1px solid var(--ks-line);border-radius:var(--ks-radius);flex-direction:column;min-height:0;display:flex}.panel-head{justify-content:space-between;align-items:center;gap:var(--ks-sp-1);padding:var(--ks-sp-2) var(--ks-sp-2);border-bottom:1px solid var(--ks-line);flex:none;display:flex}.panel-title{font-size:var(--ks-fs-sm);font-weight:600}.panel-body{padding:var(--ks-sp-2);flex:1;min-height:0;overflow:auto}.kind-list{gap:var(--ks-sp-1);flex-direction:column;display:flex}.elem-tiles{gap:var(--ks-sp-1);margin-bottom:var(--ks-sp-2);display:flex}.elem-tile{min-width:0;padding:var(--ks-sp-2) var(--ks-sp-1);border:1px solid var(--ks-line);border-radius:var(--ks-radius);cursor:pointer;color:var(--ks-ink);background:0 0;flex-direction:column;flex:1 1 0;align-items:center;gap:3px;display:flex}.elem-tile:hover{border-color:var(--ks-line-hover)}.elem-tile:focus-visible{outline:2px solid var(--ks-point);outline-offset:2px}.elem-tile-ico{font-size:20px;line-height:1}.elem-tile-nm{font-size:var(--ks-fs-xs);white-space:nowrap}.kind-btn{padding:var(--ks-sp-2);border:1px solid var(--ks-line);border-radius:var(--ks-radius);text-align:left;font-size:var(--ks-fs-md);color:var(--ks-ink);background:0 0}.kind-btn:hover{border-color:var(--ks-line-hover)}.kind-btn:focus-visible{outline:2px solid var(--ks-point);outline-offset:2px}.kind-btn.is-active{border-color:var(--ks-point);color:var(--ks-point);font-weight:600}.example-block{margin-top:var(--ks-sp-3)}.usm-tiles{gap:var(--ks-sp-1);margin-top:var(--ks-sp-2);grid-template-columns:1fr 1fr;display:grid}.usm-tile{align-items:center;gap:var(--ks-sp-1);padding:var(--ks-sp-3) var(--ks-sp-1);border:1px solid var(--ks-line);border-radius:var(--ks-radius);cursor:pointer;color:var(--ks-ink);background:0 0;flex-direction:column;display:flex}.usm-tile:hover{border-color:var(--ks-line-hover)}.usm-tile:focus-visible{outline:2px solid var(--ks-point);outline-offset:2px}.usm-tile-ico{box-sizing:border-box;border:2px solid #e3ac52;width:30px;height:30px}.usm-tile-circle{border-radius:50%}.usm-tile-square{border-radius:3px}.usm-tile-nm{font-size:var(--ks-fs-sm);color:var(--ks-ink)}.chip-list{gap:var(--ks-sp-1);margin-top:var(--ks-sp-1);flex-wrap:wrap;display:flex}.chip{border:1px solid var(--ks-line);font-size:var(--ks-fs-xs);color:var(--ks-ink);background:0 0;border-radius:999px;padding:.25rem .625rem}.chip:hover{border-color:var(--ks-line-hover)}.hint{font-size:var(--ks-fs-xs);color:var(--ks-muted);word-break:keep-all;line-height:1.65}.hint-top{margin-top:var(--ks-sp-3)}.canvas-placeholder{border:1px dashed var(--ks-line);border-radius:var(--ks-radius);height:100%;font-size:var(--ks-fs-sm);color:var(--ks-muted);flex-direction:column;justify-content:center;align-items:center;gap:.375rem;display:flex}.canvas-placeholder .muted{font-size:var(--ks-fs-xs);color:var(--ks-disabled)}.field{margin-bottom:var(--ks-sp-2);flex-direction:column;gap:.25rem;display:flex}.field-inline{align-items:center;gap:var(--ks-sp-1);display:flex}.field-label{font-size:var(--ks-fs-xs);color:var(--ks-muted);font-weight:600}.input,.select{border:1px solid var(--ks-line);border-radius:var(--ks-radius);font:inherit;font-size:var(--ks-fs-sm);color:var(--ks-ink);background:0 0;width:100%;padding:.4375rem .625rem}.input:focus,.select:focus{border-color:var(--ks-point);outline:none}.input::placeholder{color:var(--ks-placeholder)}.field-inline .select{width:auto;min-width:160px}.genbar{border-top:1px solid var(--ks-line);padding:var(--ks-sp-2) var(--ks-sp-4) var(--ks-sp-3);flex:none}.genbar-head{margin-bottom:var(--ks-sp-1);justify-content:space-between;align-items:center;display:flex}.genbar-summary{font-size:var(--ks-fs-xs);color:var(--ks-muted)}.auto-prompt{margin:0 0 var(--ks-sp-1);padding:var(--ks-sp-2);border:1px solid var(--ks-line);border-radius:var(--ks-radius);font-family:var(--ks-font);font-size:var(--ks-fs-xs);color:var(--ks-muted);white-space:pre-wrap;line-height:1.7}.prompt-input{width:100%;padding:var(--ks-sp-2);border:1px solid var(--ks-line);border-radius:var(--ks-radius);font:inherit;font-size:var(--ks-fs-base);color:var(--ks-ink);resize:vertical;background:0 0;line-height:1.8}.prompt-input:focus{border-color:var(--ks-point);outline:none}.prompt-input::placeholder{color:var(--ks-placeholder)}.genbar-foot{align-items:center;gap:var(--ks-sp-2);margin-top:var(--ks-sp-2);display:flex}.genbar-spacer{flex:1}.seg{border:1px solid var(--ks-line);border-radius:var(--ks-radius);display:flex;overflow:hidden}.seg-btn{padding:.375rem var(--ks-sp-2);font-size:var(--ks-fs-sm);color:var(--ks-muted);background:0 0;border:0}.seg-btn.is-active{color:var(--ks-point);font-weight:600}.seg-btn:focus-visible{outline:2px solid var(--ks-point);outline-offset:-2px}.seg-mini .seg-btn{padding:.1875rem var(--ks-sp-1);font-size:var(--ks-fs-xs)}.btn{padding:.5rem var(--ks-sp-3);border:1px solid var(--ks-line);border-radius:var(--ks-radius);font-size:var(--ks-fs-sm);color:var(--ks-ink);background:0 0}.btn:hover:not(:disabled){border-color:var(--ks-line-hover)}.btn:focus-visible{outline:2px solid var(--ks-point);outline-offset:2px}.btn:disabled{color:var(--ks-disabled);border-color:var(--ks-line);cursor:default}.btn-primary{border-color:var(--ks-point);background:var(--ks-point);color:var(--ks-on-point);font-weight:600}.btn-primary:hover:not(:disabled){border-color:var(--ks-point)}.btn-ghost{color:var(--ks-muted);border-color:#0000}.btn-mini{font-size:var(--ks-fs-xs);padding:.1875rem .625rem}.cam-view-body{justify-content:center;align-items:flex-end;gap:var(--ks-sp-3);flex-direction:row}.cam-face{flex-direction:column;align-items:center;display:flex;position:relative}.cam-face-loading{border:1px dashed var(--ks-line);border-radius:var(--ks-radius)}.cam-face-svg{width:100%;height:100%}.cam-face-photo{object-fit:cover;border:1px solid var(--ks-line);border-radius:50%;position:absolute}.cam-face-label{font-size:var(--ks-fs-xs);color:var(--ks-muted);margin-top:.25rem}.cam-frame-wrap{flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}.cam-frame{flex-direction:column;gap:.35rem;width:100%;display:flex}.cam-frame-svg{aspect-ratio:320/170;border:1px solid var(--ks-line);border-radius:var(--ks-radius);background:#f8fbf3;width:100%;overflow:hidden}.cam-frame-svg svg{width:100%;height:100%;display:block}.cam-frame-meta{font-size:var(--ks-fs-xs);color:var(--ks-muted);text-align:right}.cam-fov-demo{position:relative;overflow:hidden}.canvas-ground{justify-content:stretch;align-items:stretch}.stage-wrap{width:100%;height:100%;position:relative}.topdown-overlay{width:calc(280px * var(--ui-scale,1));max-width:calc(100% - 16px);padding:var(--ks-sp-2);background:var(--ks-surface);border:1px solid var(--ks-line);border-radius:var(--ks-radius);z-index:20;position:absolute;top:8px;right:8px;box-shadow:0 6px 20px #0000002e}.inspector-balloon{background:var(--ks-surface);border:1px solid var(--ks-line);border-radius:var(--ks-radius);z-index:30;flex-direction:column;max-height:calc(100% - 16px);display:flex;position:absolute;top:8px;left:8px;box-shadow:0 6px 20px #0000002e}.inspector-balloon .panel-inspector{border:0;flex:auto;min-height:0}.inspector-balloon-close{z-index:2;cursor:pointer;width:22px;height:22px;color:var(--ks-muted);background:0 0;border:0;font-size:13px;line-height:1;position:absolute;top:4px;right:4px}.inspector-balloon-close:hover{color:var(--ks-ink)}.pose-menu{flex-direction:column;gap:3px;display:flex}.pose-cat{width:100%;padding:var(--ks-sp-2);border:1px solid var(--ks-line);border-radius:var(--ks-radius);color:var(--ks-ink);cursor:pointer;font-size:var(--ks-fs-sm);background:0 0;justify-content:space-between;align-items:center;display:flex}.pose-cat:hover{border-color:var(--ks-line-hover)}.pose-cat.is-open{border-color:var(--ks-point-soft)}.pose-arrow{color:var(--ks-muted);font-size:var(--ks-fs-xs)}.pose-sub{padding:3px 0 3px var(--ks-sp-2);flex-direction:column;gap:2px;display:flex}.pose-opt{text-align:left;padding:4px var(--ks-sp-2);border-radius:var(--ks-radius);color:var(--ks-ink-soft);cursor:pointer;font-size:var(--ks-fs-xs);background:0 0;border:1px solid #0000}.pose-opt:hover{background:var(--ks-board-grid);color:var(--ks-ink)}.pose-opt.is-sel{border-color:var(--ks-point);color:var(--ks-point);font-weight:600}.insp-textarea{resize:vertical;min-height:44px;font-family:inherit;line-height:1.35}.insp-range{width:100%}.insp-info{margin-top:var(--ks-sp-2);background:var(--ks-board);border-radius:var(--ks-radius);font-size:var(--ks-fs-xs);color:var(--ks-muted);padding:6px 8px}.insp-info strong{color:var(--ks-point)}.insp-note{margin-top:var(--ks-sp-1);font-size:var(--ks-fs-xs);color:var(--ks-muted)}.insp-delete{width:100%;margin-top:var(--ks-sp-3);padding:var(--ks-sp-2);border:1px solid var(--ks-warn);border-radius:var(--ks-radius);color:var(--ks-warn);cursor:pointer;background:0 0;font-weight:600}.insp-delete:hover{background:var(--ks-warn);color:#fff}.inspector-balloon{--ks-bscale:min(var(--ui-scale,1), 1.15);width:calc(200px * var(--ks-bscale))}.inspector-balloon .panel-head{padding:calc(6px * var(--ks-bscale)) calc(9px * var(--ks-bscale))}.inspector-balloon .panel-title{font-size:calc(11px * var(--ks-bscale))}.inspector-balloon .panel-body{padding:calc(9px * var(--ks-bscale))}.inspector-balloon .field{gap:calc(2px * var(--ks-bscale));margin-bottom:calc(5px * var(--ks-bscale))}.inspector-balloon .field-label{font-size:calc(9px * var(--ks-bscale));font-weight:500}.inspector-balloon .input,.inspector-balloon .select,.inspector-balloon .insp-textarea{font-size:calc(11px * var(--ks-bscale));padding:calc(4px * var(--ks-bscale)) calc(6px * var(--ks-bscale))}.inspector-balloon .insp-textarea{min-height:calc(42px * var(--ks-bscale))}.inspector-balloon .pose-cat{font-size:calc(11px * var(--ks-bscale));padding:calc(5px * var(--ks-bscale)) calc(8px * var(--ks-bscale))}.inspector-balloon .pose-opt{font-size:calc(11px * var(--ks-bscale));padding:calc(4px * var(--ks-bscale)) calc(7px * var(--ks-bscale))}.inspector-balloon .pose-arrow{font-size:calc(9px * var(--ks-bscale))}.inspector-balloon .insp-info{font-size:calc(9px * var(--ks-bscale));padding:calc(4px * var(--ks-bscale)) calc(6px * var(--ks-bscale));margin-top:calc(5px * var(--ks-bscale))}.inspector-balloon .insp-note{font-size:calc(8px * var(--ks-bscale))}.inspector-balloon .insp-ro{font-size:calc(11px * var(--ks-bscale))}.inspector-balloon .insp-delete{margin-top:calc(6px * var(--ks-bscale));padding:calc(4px * var(--ks-bscale));font-size:calc(10px * var(--ks-bscale));font-weight:600}.inspector-balloon-close{font-size:calc(13px * var(--ks-bscale))}.minimap-panel{gap:var(--ks-sp-1);flex-direction:column;width:100%;height:100%;display:flex}#minimap-svg{aspect-ratio:2;touch-action:none;width:100%;height:auto;display:block}.minimap-legend{gap:var(--ks-sp-2);font-size:var(--ks-fs-xs);color:var(--ks-muted);flex-wrap:wrap;display:flex}.minimap-legend .lg{align-items:center;gap:.25rem;display:inline-flex}.minimap-legend .sw{border-radius:2px;width:8px;height:8px;display:inline-block}.shotboard-canvas{border:1px solid var(--ks-line);border-radius:var(--ks-radius);touch-action:none;background-color:var(--ks-board);background-image:linear-gradient(var(--ks-board-grid) 1px, transparent 1px), linear-gradient(90deg, var(--ks-board-grid) 1px, transparent 1px);background-size:24px 24px;width:100%;height:100%;min-height:220px;position:relative;overflow:hidden}.dbg-overlay{pointer-events:none;position:absolute;top:0;left:0}.dbg-line{stroke:var(--ks-line,#dce1e8);stroke-width:1px;opacity:.7}.dbg-line.is-center{stroke:var(--ks-point,#1f3a5f);stroke-dasharray:4 3;opacity:.85}.dbg-zone{fill:var(--ks-point,#1f3a5f);font-size:10px;font-family:var(--ks-font,sans-serif)}.orbit-overlay{pointer-events:none;position:absolute;top:0;left:0}.orbit-ellipse{fill:none;stroke:var(--ks-point,#1f3a5f);stroke-width:1.2px;stroke-dasharray:6 4;opacity:.6}.orbit-dot{fill:var(--ks-point,#1f3a5f);opacity:.85}.orbit-aim{stroke:var(--ks-point,#1f3a5f);stroke-width:.8px;stroke-dasharray:3 3;opacity:.4}.orbit-label{fill:var(--ks-point,#1f3a5f);font-size:9px;font-family:var(--ks-font,monospace);opacity:.8}.tpl-backdrop{z-index:50;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tpl-modal{background:var(--ks-surface,#fff);border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);width:min(520px,92vw);max-height:80vh;padding:var(--ks-sp-4,16px);overflow-y:auto}.tpl-head{justify-content:space-between;align-items:center;display:flex}.tpl-title{font-size:var(--ks-fs-lg,18px);color:var(--ks-ink);margin:0;font-weight:700}.tpl-note{margin:var(--ks-sp-2,8px) 0;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted);line-height:1.7}.tpl-save{gap:var(--ks-sp-2,8px);margin:var(--ks-sp-3,12px) 0;display:flex}.tpl-save .input{flex:1}.tpl-msg{margin:var(--ks-sp-2,8px) 0;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted)}.tpl-msg.is-error{color:var(--ks-warn,#b03a5b)}.tpl-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tpl-row{align-items:center;gap:var(--ks-sp-2,8px);padding:var(--ks-sp-2,8px) 0;border-top:1px solid var(--ks-line,#dce1e8);display:flex}.tpl-row-main{flex-direction:column;flex:1;min-width:0;display:flex}.tpl-row-name{font-size:var(--ks-fs-sm,13px);color:var(--ks-ink)}.tpl-row-meta{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted)}.shotboard-hint{left:50%;bottom:var(--ks-sp-2);font-size:var(--ks-fs-xs);color:var(--ks-muted);pointer-events:none;position:absolute;transform:translate(-50%)}.board-marker{cursor:grab;z-index:2;justify-content:center;align-items:center;display:flex;position:absolute}.board-marker.is-selected{outline:none}.board-marker.is-background{box-sizing:border-box;background:#0f6e5638;border:2px solid #0f6e56e6;border-radius:4px}.board-marker.is-background.is-selected{background:#0f6e564d;border-color:#0f6e56}.board-marker.is-background .board-marker-svg{opacity:.75;flex:none;width:48px;max-width:70%;height:48px;max-height:70%}.board-marker-svg{pointer-events:none;width:100%;height:100%}.board-marker-svg svg{width:100%;height:100%}.board-marker-label{white-space:nowrap;font-size:var(--ks-fs-xs);color:var(--ks-muted);pointer-events:none;display:none;position:absolute;bottom:-1.2em}.shotboard-canvas.is-debug .board-marker-label{display:block}.insp-char{align-items:center;gap:var(--ks-sp-2);margin-bottom:var(--ks-sp-2);padding-bottom:var(--ks-sp-2);border-bottom:1px solid var(--ks-line);display:flex}.insp-char-face{object-fit:cover;border:1px solid var(--ks-line);border-radius:50%;flex:none;width:44px;height:44px}.insp-char-blank{text-align:center;color:var(--ks-muted);justify-content:center;align-items:center;font-size:10px;line-height:1.1;display:flex}.insp-char-meta{min-width:0}.insp-char-name{font-size:var(--ks-fs-md);color:var(--ks-ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.insp-char-role{font-size:var(--ks-fs-xs);color:var(--ks-muted)}.insp-sum-list{margin:var(--ks-sp-1) 0 0;gap:5px;padding:0;list-style:none;display:grid}.insp-sum-list li{font-size:var(--ks-fs-sm);color:var(--ks-ink-soft)}.insp-ro{font-size:var(--ks-fs-sm);color:var(--ks-ink);margin:0}.char-badge{pointer-events:none;z-index:3;font-size:12px;line-height:1;position:absolute;top:-6px;right:-6px}.chip-static{color:var(--ks-muted);cursor:default}.dir-selector{pointer-events:none;z-index:50;width:0;height:0;position:absolute;top:50%;left:50%}.dir-btn{border:1.5px solid var(--ks-line);width:22px;height:22px;color:var(--ks-muted);cursor:pointer;pointer-events:auto;-webkit-user-select:none;user-select:none;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:12px;font-weight:700;line-height:1;transition:transform .12s,border-color .12s,color .12s;display:grid;position:absolute}.dir-btn:hover{border-color:var(--ks-point);color:var(--ks-point);transform:scale(1.25)}.dir-btn.active{background:var(--ks-point);color:var(--ks-on-point);border-color:var(--ks-point);transform:scale(1.15)}.marker-remove-btn{border:1px solid var(--ks-line);width:18px;height:18px;color:var(--ks-muted);cursor:pointer;z-index:60;background:0 0;border-radius:50%;place-items:center;padding:0;font-size:12px;line-height:1;display:grid;position:absolute;top:-10px;left:-10px}.marker-remove-btn:hover{color:#c0453b;border-color:#c0453b}.marker-remove-btn:focus-visible{outline:2px solid var(--ks-point);outline-offset:2px}.gen-result-wrap{box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:12px;display:flex;overflow:auto}.gen-result{flex-direction:column;gap:10px;width:100%;display:flex}.gen-state{padding:16px 4px}.gen-state-title{margin:0 0 6px;font-size:13px;font-weight:600;line-height:1.4}.gen-state-desc{color:var(--ks-muted);margin:0;font-size:12px;line-height:1.6}.gen-state.is-error .gen-state-title{color:#c0453b}.gen-problems{color:var(--ks-muted);margin:8px 0 0;padding-left:18px;font-size:12px;line-height:1.6}.gen-state-note{color:var(--ks-muted);margin:0;font-size:12px}.gen-result-head{align-items:center;gap:8px;display:flex}.gen-result-label{letter-spacing:.02em;font-size:12px;font-weight:600}.gen-result-demo{color:var(--ks-muted);border:1px solid var(--ks-line);border-radius:var(--ks-radius);padding:1px 6px;font-size:11px}.gen-result-frame{border:1px solid var(--ks-line);border-radius:var(--ks-radius);overflow:hidden}.gen-result-img{width:100%;height:auto;display:block}.gen-versions{flex-wrap:wrap;gap:6px;display:flex}.gen-version{min-width:34px;color:var(--ks-muted);border:1px solid var(--ks-line);border-radius:var(--ks-radius);cursor:pointer;background:0 0;padding:3px 8px;font-size:11px;line-height:1.4}.gen-version:hover:not(:disabled){border-color:var(--ks-point);color:var(--ks-point)}.gen-version.is-active{border-color:var(--ks-point);color:var(--ks-point);font-weight:600}.gen-version:disabled{cursor:default;opacity:.5}.gen-version:focus-visible{outline:1px solid var(--ks-point);outline-offset:2px}.gen-status{color:var(--ks-muted);margin:8px 0 0;font-size:12px;line-height:1.5}.gen-status.is-error{color:#c0453b}.ks-sl-wrap{gap:var(--ks-sp-3);padding:var(--ks-sp-3) var(--ks-sp-4);font-family:var(--ks-font);color:var(--ks-ink);flex-direction:column;display:flex}.ks-sl-top{align-items:center;gap:var(--ks-sp-3);padding-bottom:var(--ks-sp-2);border-bottom:1px solid var(--ks-line);display:flex}.ks-sl-title{border:1px solid var(--ks-line);border-radius:var(--ks-radius);font:inherit;font-size:var(--ks-fs-md);color:var(--ks-ink);background:0 0;flex:0 320px;padding:.4375rem .625rem}.ks-sl-title:focus{border-color:var(--ks-point);outline:none}.ks-sl-title::placeholder{color:var(--ks-placeholder)}.ks-sl-meta{font-size:var(--ks-fs-xs);color:var(--ks-muted)}.ks-sl-draft{font-size:var(--ks-fs-xs);color:var(--ks-warn);border:1px solid var(--ks-warn-line);border-radius:999px;padding:.125rem .5rem}.ks-sl-total{font-size:var(--ks-fs-sm);color:var(--ks-muted);margin-left:auto}.ks-sl-save{font-size:var(--ks-fs-xs);color:var(--ks-muted);min-width:3.5em}.ks-sl-savebtn{border:1px solid var(--ks-point);border-radius:var(--ks-radius);color:var(--ks-point);font:inherit;font-size:var(--ks-fs-sm);white-space:nowrap;background:0 0;flex:none;padding:.375rem .75rem;font-weight:600}.ks-sl-savebtn:disabled{opacity:.5}.ks-sl-cols{gap:var(--ks-sp-4);align-items:flex-start;display:flex}.ks-sl-col{gap:var(--ks-sp-2);flex-direction:column;min-width:0;display:flex}.ks-sl-col-pick{flex:0 360px}.ks-sl-col-list{flex:1 1 0}.ks-sl-colhead{padding-bottom:var(--ks-sp-1);border-bottom:1px solid var(--ks-line);font-size:var(--ks-fs-sm);color:var(--ks-muted);margin:0;font-weight:600}@media (width<=1100px){.ks-sl-cols{flex-direction:column}.ks-sl-col-pick,.ks-sl-col-list{flex:auto;width:100%}}.ks-sl-note{font-size:var(--ks-fs-sm);color:var(--ks-muted);padding:var(--ks-sp-3) 0}.ks-sl-err{color:var(--ks-warn)}.ks-sl-list,.ks-pick-list{gap:var(--ks-sp-4);flex-direction:column;display:flex}.ks-sl-snum{font-size:var(--ks-fs-sm);color:var(--ks-point);font-weight:600}.ks-sl-badge{font-size:var(--ks-fs-xs);color:var(--ks-muted);border:1px solid var(--ks-line);white-space:nowrap;border-radius:999px;padding:.125rem .5rem}.ks-sl-sp{color:var(--ks-ink);margin-right:.25rem;font-weight:600}.ks-sl-scene{border:1px solid var(--ks-line);border-radius:var(--ks-radius)}.ks-sl-head{align-items:center;gap:var(--ks-sp-2);padding:var(--ks-sp-2);border-bottom:1px solid var(--ks-line);flex-wrap:wrap;display:flex}.ks-sl-f{border:1px solid var(--ks-line);border-radius:var(--ks-radius);font:inherit;font-size:var(--ks-fs-sm);color:var(--ks-ink);background:0 0;padding:.3125rem .5rem}.ks-sl-f:focus{border-color:var(--ks-point);outline:none}.ks-sl-f::placeholder{color:var(--ks-placeholder)}.ks-sl-music{min-width:160px}.ks-sl-body{padding:var(--ks-sp-2);overflow-x:auto}.ks-sl-table{border-collapse:collapse;width:100%;font-size:var(--ks-fs-sm)}.ks-sl-table th{text-align:left;font-weight:600;font-size:var(--ks-fs-xs);color:var(--ks-muted);border-bottom:1px solid var(--ks-line);white-space:nowrap;padding:.375rem .5rem}.ks-sl-table td{border-bottom:1px solid var(--ks-line);vertical-align:top;padding:.375rem .5rem}.ks-sl-table tr:last-child td{border-bottom:none}.ks-sl-num{color:var(--ks-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.ks-sl-src{min-width:220px;max-width:360px;color:var(--ks-ink)}.ks-sl-line{line-height:1.6;display:block}.ks-sl-ti{border:1px solid var(--ks-line);border-radius:var(--ks-radius);width:100%;min-width:90px;font:inherit;font-size:var(--ks-fs-sm);color:var(--ks-ink);background:0 0;padding:.3125rem .5rem}.ks-sl-ti:focus{border-color:var(--ks-point);outline:none}.ks-sl-ti::placeholder{color:var(--ks-placeholder)}.ks-sl-dur{width:70px;min-width:60px}.ks-sl-plan{border:1px solid var(--ks-line);border-radius:var(--ks-radius);max-width:150px;font:inherit;font-size:var(--ks-fs-sm);color:var(--ks-ink);background:0 0;padding:.3125rem .5rem}.ks-sl-plan:focus{border-color:var(--ks-point);outline:none}.ks-sl-fixed{border:1px solid var(--ks-line);border-radius:var(--ks-radius);font-size:var(--ks-fs-sm);color:var(--ks-muted);white-space:nowrap;padding:.25rem .5rem;display:inline-block}.ks-sl-act{white-space:nowrap}.ks-sl-btn{border:1px solid var(--ks-line);border-radius:var(--ks-radius);font-size:var(--ks-fs-xs);color:var(--ks-ink);background:0 0;padding:.3125rem .625rem}.ks-sl-btn:hover{border-color:var(--ks-line-hover)}.ks-sl-btn:focus-visible{outline:2px solid var(--ks-point);outline-offset:2px}.ks-sl-empty{text-align:center;color:var(--ks-muted);font-size:var(--ks-fs-sm);padding:var(--ks-sp-3)}.ks-pick-scene{border:1px solid var(--ks-line);border-radius:var(--ks-radius)}.ks-pick-head{align-items:center;gap:var(--ks-sp-2);padding:var(--ks-sp-2);border-bottom:1px solid var(--ks-line);flex-wrap:wrap;display:flex}.ks-pick-make{padding:.375rem var(--ks-sp-2);border:1px solid var(--ks-point);border-radius:var(--ks-radius);color:var(--ks-point);font-size:var(--ks-fs-sm);background:0 0;margin-left:auto;font-weight:600}.ks-pick-make:disabled{border-color:var(--ks-line);color:var(--ks-disabled);cursor:default}.ks-pick-make:focus-visible{outline:2px solid var(--ks-point);outline-offset:2px}.ks-pick-lines{padding:var(--ks-sp-1) var(--ks-sp-2);flex-direction:column;gap:.125rem;margin:0;list-style:none;display:flex}.ks-pick-line{align-items:flex-start;gap:var(--ks-sp-1);border-radius:var(--ks-radius);font-size:var(--ks-fs-sm);color:var(--ks-ink);padding:.25rem .375rem;display:flex}.ks-pick-line.is-on{outline:1px solid var(--ks-point);outline-offset:-1px}.ks-pick-label{align-items:flex-start;gap:var(--ks-sp-1);cursor:pointer;flex:1;line-height:1.6;display:flex}.ks-pick-label input{margin-top:.2em}.ks-pick-tag{font-size:var(--ks-fs-xs);color:var(--ks-muted);white-space:nowrap}.ks-status{max-width:860px;padding:0 var(--ks-sp-5,24px) var(--ks-sp-7,64px);font-family:var(--ks-font,inherit);color:var(--ks-ink,#1f2937);margin:0 auto}.ks-status-head{padding-bottom:var(--ks-sp-5,24px)}.ks-status-title{margin:0 0 var(--ks-sp-2,8px);font-size:var(--ks-fs-xl,24px);font-weight:700}.ks-status-lead{color:var(--ks-muted,#6b7280);margin:0;line-height:1.7}.ks-sec-title{margin:0 0 var(--ks-sp-3,12px);font-size:var(--ks-fs-xs,12px);letter-spacing:.04em;color:var(--ks-muted,#6b7280);font-weight:700}.ks-status-note{margin:var(--ks-sp-3,12px) 0 0;color:var(--ks-muted,#6b7280);font-size:var(--ks-fs-xs,12px);line-height:1.7}.ks-status-error{margin:var(--ks-sp-3,12px) 0 0;color:var(--ks-warn,#b03a5b);font-size:var(--ks-fs-xs,12px)}.ks-status-link{color:var(--ks-point,#1f3a5f)}.ks-now{padding:var(--ks-sp-5,24px) 0;border-top:1px solid var(--ks-line,#dce1e8)}.ks-now-title{margin:0 0 var(--ks-sp-4,16px);font-size:var(--ks-fs-lg,18px);font-weight:700}.ks-now-nums{gap:var(--ks-sp-6,32px);flex-wrap:wrap;margin:0;display:flex}.ks-now-nums div{flex-direction:column;gap:2px;display:flex}.ks-now-nums dt{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280)}.ks-now-nums dd{font-size:var(--ks-fs-lg,18px);margin:0;font-weight:700}.ks-made{padding-top:var(--ks-sp-5,24px);border-top:1px solid var(--ks-line,#dce1e8)}.ks-made-list{flex-direction:column;display:flex}.ks-hist{padding:var(--ks-sp-5,24px) 0;border-bottom:1px solid var(--ks-line,#dce1e8)}.ks-hist-title{font-size:var(--ks-fs-md,15px);margin:0 0 4px;font-weight:700}.ks-hist-meta{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);margin:0}.ks-hist-log{margin:var(--ks-sp-3,12px) 0 0;color:var(--ks-ink-soft,#46525f);line-height:1.7}.ks-hist-cast{margin:var(--ks-sp-2,8px) 0 0;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280)}.ks-hist-acts{align-items:center;gap:var(--ks-sp-2,8px);margin-top:var(--ks-sp-4,16px);display:flex}.ks-hist-gap{flex:1}.ks-hist-btn{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;padding:6px 13px}.ks-hist-btn:hover:not(:disabled){border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-hist-btn.is-go{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-hist-btn.is-del{color:var(--ks-warn,#b03a5b)}.ks-hist-btn.is-del:hover:not(:disabled){border-color:var(--ks-warn,#b03a5b);color:var(--ks-warn,#b03a5b)}.ks-hist-btn:disabled{opacity:.5;cursor:default}.ks-hist-scenes{margin-top:var(--ks-sp-4,16px)}.ks-projects{max-width:72rem;padding:var(--ks-sp-7) var(--ks-sp-6) var(--ks-sp-7);font-family:var(--ks-font);color:var(--ks-ink);margin:0 auto}.ks-projects-head{justify-content:space-between;align-items:baseline;gap:var(--ks-sp-3);padding-bottom:var(--ks-sp-4);border-bottom:1px solid var(--ks-line);display:flex}.ks-projects-title{font-size:var(--ks-fs-title);letter-spacing:-.02em;font-weight:700}.ks-projects-new,.ks-projects-retry{padding:.5rem var(--ks-sp-4);border:1px solid var(--ks-point);border-radius:var(--ks-radius);color:var(--ks-point);font:inherit;font-size:var(--ks-fs-md);cursor:pointer;background:0 0;font-weight:600;text-decoration:none;display:inline-block}.ks-projects-note{margin-top:var(--ks-sp-6);font-size:var(--ks-fs-base);color:var(--ks-muted)}.ks-projects-hint{margin-top:var(--ks-sp-1);font-size:var(--ks-fs-sm);color:var(--ks-muted);word-break:keep-all}.ks-projects-empty{padding:var(--ks-sp-7) 0}.ks-projects-empty .ks-projects-retry{margin-top:var(--ks-sp-4)}.ks-project-list{margin:0;padding:0;list-style:none}.ks-project{justify-content:space-between;align-items:center;gap:var(--ks-sp-4);padding:var(--ks-sp-4) 0;border-bottom:1px solid var(--ks-line);display:flex}.ks-project-name{font-size:var(--ks-fs-xl);font-weight:600;line-height:1.5}.ks-project-meta{gap:var(--ks-sp-2);font-size:var(--ks-fs-sm);color:var(--ks-muted);flex-wrap:wrap;margin-top:.25rem;display:flex}.ks-project-go{gap:var(--ks-sp-2);flex:none;display:flex}.ks-project-link{font:inherit;cursor:pointer;padding:.375rem var(--ks-sp-3);border:1px solid var(--ks-line);border-radius:var(--ks-radius);color:var(--ks-ink);font-size:var(--ks-fs-sm);white-space:nowrap;background:0 0;text-decoration:none}.ks-project-link:hover{border-color:var(--ks-line-hover)}.ks-project-link.is-quiet{color:var(--ks-muted);border-color:#0000}.ks-project-link.is-warn{border-color:var(--ks-warn-line);color:var(--ks-warn)}.ks-project-ask{font-size:var(--ks-fs-sm);color:var(--ks-muted);align-self:center}.ks-project-link.is-go{border-color:var(--ks-point);color:var(--ks-point);font-weight:600}.ks-project-link:disabled{opacity:.5;cursor:default}.ks-project-err{color:var(--ks-warn)}.ks-project.is-asking{align-items:flex-start}.ks-project-go.is-ask{align-items:flex-end;gap:var(--ks-sp-2);flex-direction:column;max-width:60%}.ks-project-go.is-ask .ks-project-ask{text-align:right;white-space:normal;word-break:keep-all;align-self:flex-end;line-height:1.6}.ks-project-ask-btns{justify-content:flex-end;gap:var(--ks-sp-2);flex-wrap:wrap;display:flex}.ks-project-lose{color:var(--ks-ink-soft);margin-top:.25rem;font-weight:600;display:block}@media (width<=720px){.ks-projects{padding:var(--ks-sp-6) var(--ks-sp-4)}.ks-project{flex-direction:column;align-items:flex-start}.ks-project-go.is-ask{align-items:flex-start;max-width:none}.ks-project-go.is-ask .ks-project-ask{text-align:left;align-self:flex-start}.ks-project-ask-btns{justify-content:flex-start}}.ks-project-grid{gap:var(--ks-sp-5,24px);margin-top:var(--ks-sp-6,32px);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:0;list-style:none;display:grid}.ks-pcard{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius-2,12px);background:var(--ks-surface,#fff);flex-direction:column;display:flex;overflow:hidden}.ks-pcard.is-asking{border-color:var(--ks-point,#1f3a5f)}.ks-pcard-preview{height:128px;padding:var(--ks-sp-4,16px);border:none;border-bottom:1px solid var(--ks-line,#dce1e8);color:inherit;font:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#1f3a5f1a,#1f3a5f08);flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;display:flex}.ks-pcard-preview:hover:not(:disabled){background:linear-gradient(135deg,#1f3a5f29,#1f3a5f0f)}.ks-pcard-preview-lab{letter-spacing:.08em;color:var(--ks-muted,#6b7280);font-size:10px}.ks-pcard-preview-title{font-size:var(--ks-fs-lg,18px);color:var(--ks-ink,#1a1a1a);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.ks-pcard-body{padding:var(--ks-sp-4,16px);flex:1}.ks-pcard-titlerow{align-items:center;gap:var(--ks-sp-2,8px);display:flex}.ks-pcard-name{font-size:var(--ks-fs-md,15px);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:700;overflow:hidden}.ks-pcard-kind{color:var(--ks-point,#1f3a5f);background:#1f3a5f14;border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:600}.ks-pcard-meta{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);margin:6px 0 0}.ks-pcard-counts{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);margin:4px 0 0}.ks-pcard-err{font-size:var(--ks-fs-xs,12px);color:var(--ks-warn,#b03a5b);margin:6px 0 0}.ks-pcard-foot{gap:var(--ks-sp-2,8px);padding:var(--ks-sp-3,12px) var(--ks-sp-4,16px);border-top:1px solid var(--ks-line,#dce1e8);display:flex}.ks-pcard-foot.is-confirm{flex-direction:column;align-items:stretch}.ks-pcard-ask{font-size:var(--ks-fs-xs,12px);color:var(--ks-ink,#1a1a1a);line-height:1.6}.ks-pcard-lose{color:var(--ks-muted,#6b7280);margin-top:2px;display:block}.ks-pcard-acts{gap:var(--ks-sp-2,8px);display:flex}.ks-pcard-acts.is-col{flex-direction:column;align-items:stretch}.ks-pcard-b{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);text-align:center;cursor:pointer;background:0 0;padding:6px 12px;text-decoration:none}.ks-pcard-b:hover:not(:disabled){border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-pcard-b.is-go{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-pcard-b.is-warn{color:var(--ks-warn,#b03a5b)}.ks-pcard-b.is-warn:hover:not(:disabled){border-color:var(--ks-warn,#b03a5b)}.ks-pcard-b.is-quiet{color:var(--ks-muted,#6b7280)}.ks-pcard-b:disabled{opacity:.5;cursor:default}.ks-pcard-preview.is-thumb{background:0 0;padding:0}.ks-pcard-thumb{object-fit:cover;width:100%;height:100%;display:block}.ks-cast-page{max-width:860px;padding:0 var(--ks-sp-5,24px) var(--ks-sp-7,64px);font-family:var(--ks-font,inherit);color:var(--ks-ink,#1f2937);margin:0 auto}.ks-cast-head{padding-bottom:var(--ks-sp-5,24px)}.ks-cast-title{margin:0 0 var(--ks-sp-2,8px);font-size:var(--ks-fs-xl,24px);font-weight:700}.ks-cast-lead{color:var(--ks-muted,#6b7280);margin:0;line-height:1.7}.ks-cast-note,.ks-cast-warn,.ks-cast-count{margin:var(--ks-sp-3,12px) 0 0;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);line-height:1.7}.ks-cast-warn{color:var(--ks-warn,#b03a5b)}.ks-cast-count{color:var(--ks-point,#1f3a5f);font-weight:700}.ks-cast-staging{gap:var(--ks-sp-2,8px);margin:var(--ks-sp-4,16px) 0;padding:var(--ks-sp-3,12px) var(--ks-sp-4,16px);border:1px solid var(--ks-point,#1f3a5f);border-radius:var(--ks-radius,3px);flex-direction:column;display:flex}.ks-cast-staging-ttl{font-size:var(--ks-fs-md,15px);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-cast-staging-meta{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);line-height:1.7}.ks-cast-staging-btns{gap:var(--ks-sp-2,8px);display:flex}.ks-cast-staging-b{padding:.375rem var(--ks-sp-3,12px);border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);font:inherit;font-size:var(--ks-fs-sm,13px);color:var(--ks-ink,#1f2937);cursor:pointer;background:0 0}.ks-cast-staging-b:hover{border-color:var(--ks-point,#1f3a5f)}.ks-cast-staging-b.is-go{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-cast-staging-b:disabled{opacity:.5;cursor:default}.ks-cast-list{margin-top:var(--ks-sp-3,12px);flex-direction:column;display:flex}.ks-cast-item{gap:var(--ks-sp-4,16px);padding:var(--ks-sp-4,16px) 0;border-bottom:1px solid var(--ks-line,#dce1e8);grid-template-columns:56px 1fr auto;align-items:center;display:grid}.ks-cast-face{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.ks-cast-face img{object-fit:cover;width:100%;height:100%}.ks-cast-blank{color:var(--ks-placeholder,#aab3bd);text-align:center;font-size:10px;line-height:1.3}.ks-cast-nm{font-size:var(--ks-fs-md,15px);margin:0 0 2px;font-weight:700}.ks-cast-meta{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);margin:0}.ks-cast-link{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);margin:4px 0 0}.ks-cast-link.is-on{color:var(--ks-point,#1f3a5f);font-weight:700}.ks-cast-acts{gap:6px;display:flex}.ks-cast-b{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 13px}.ks-cast-b:hover:not(:disabled){border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-cast-b:disabled{opacity:.5;cursor:default}.ks-cast-pick{padding-top:var(--ks-sp-3,12px);grid-column:1/-1}.ks-cast-grid{gap:var(--ks-sp-2,8px);flex-wrap:wrap;display:flex}.ks-cast-card{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);width:84px;color:inherit;font:inherit;cursor:pointer;background:0 0;flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex}.ks-cast-card:hover:not(:disabled){border-color:var(--ks-point,#1f3a5f)}.ks-cast-card.is-on{border-color:var(--ks-point,#1f3a5f);border-width:2px}.ks-cast-card img{object-fit:cover;border-radius:var(--ks-radius,3px);width:100%;height:70px}.ks-cast-cname{font-size:var(--ks-fs-xs,12px);text-align:center;word-break:keep-all}.ks-cast-new{align-items:center;gap:var(--ks-sp-3,12px);margin-top:var(--ks-sp-3,12px);padding-top:var(--ks-sp-3,12px);border-top:1px dashed var(--ks-line,#dce1e8);flex-wrap:wrap;display:flex}.ks-cast-new .ks-cast-note{flex:1;min-width:220px;margin:0}.ks-msg{margin:var(--ks-sp-3,12px) 0 0;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);line-height:1.7}.ks-msg.is-warn{color:var(--ks-warn,#b03a5b)}.ks-chr-card .ks-chr-angle{width:100%;margin-top:var(--ks-sp-2,8px);font-size:var(--ks-fs-sm,.8125rem)}.ks-chr-page{max-width:860px;padding:0 var(--ks-sp-5,24px) var(--ks-sp-7,64px);font-family:var(--ks-font,inherit);color:var(--ks-ink,#1f2937);margin:0 auto}.ks-chr-head{padding-bottom:var(--ks-sp-4,16px)}.ks-chr-title{margin:0 0 var(--ks-sp-2,8px);font-size:var(--ks-fs-xl,24px);font-weight:700}.ks-chr-lead{color:var(--ks-muted,#6b7280);margin:0;line-height:1.7}.ks-chr-sec{margin:0 0 var(--ks-sp-4,16px);font-size:var(--ks-fs-lg,18px);font-weight:700}.ks-chr-note,.ks-chr-warn,.ks-chr-hint{margin:var(--ks-sp-3,12px) 0 0;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);line-height:1.7}.ks-chr-warn{color:var(--ks-warn,#b03a5b)}.ks-chr-bar{justify-content:space-between;align-items:center;gap:var(--ks-sp-3,12px);padding:var(--ks-sp-4,16px) 0;border-top:1px solid var(--ks-line,#dce1e8);border-bottom:1px solid var(--ks-line,#dce1e8);display:flex}.ks-chr-bar .ks-chr-note{margin:0}.ks-chr-b{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 13px}.ks-chr-b:hover:not(:disabled){border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-chr-b.is-go{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-chr-b.is-del{color:var(--ks-warn,#b03a5b)}.ks-chr-b.is-del:hover:not(:disabled){border-color:var(--ks-warn,#b03a5b)}.ks-chr-b:disabled{opacity:.5;cursor:default}.ks-chr-grid{gap:var(--ks-sp-4,16px);margin-top:var(--ks-sp-5,24px);flex-wrap:wrap;display:flex}.ks-chr-card{flex-direction:column;gap:4px;width:132px;display:flex}.ks-chr-face{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:132px;height:132px;padding:0;display:flex;overflow:hidden}.ks-chr-face:hover:not(:disabled){border-color:var(--ks-point,#1f3a5f)}.ks-chr-face img{object-fit:cover;width:100%;height:100%}.ks-chr-blank{font-size:var(--ks-fs-xs,12px);color:var(--ks-placeholder,#aab3bd)}.ks-chr-nm{font-size:var(--ks-fs-md,15px);margin:0;font-weight:700}.ks-chr-tags{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);margin:0}.ks-chr-card-acts{gap:4px;margin-top:2px;display:flex}.ks-chr-form{padding-top:var(--ks-sp-4,16px)}.ks-chr-slots{gap:var(--ks-sp-4,16px);flex-wrap:wrap;display:flex}.ks-chr-slot{flex-direction:column;align-items:center;gap:4px;width:116px;display:flex}.ks-chr-slot-box{border:1px dashed var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:116px;height:116px;padding:0;display:flex;overflow:hidden}.ks-chr-slot-box.is-filled{border-style:solid}.ks-chr-slot-box:hover:not(:disabled){border-color:var(--ks-point,#1f3a5f)}.ks-chr-slot-box img{object-fit:cover;width:100%;height:100%}.ks-chr-slot-add{font-size:var(--ks-fs-xs,12px);color:var(--ks-placeholder,#aab3bd)}.ks-chr-slot-nm{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);margin:0}.ks-chr-slot-x{color:var(--ks-muted,#6b7280);font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;border:none;padding:0}.ks-chr-slot-x:hover{color:var(--ks-warn,#b03a5b)}.ks-chr-field{align-items:center;gap:var(--ks-sp-3,12px);margin-top:var(--ks-sp-3,12px);display:flex}.ks-chr-field>span{width:110px;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);flex:none}.ks-chr-field input,.ks-chr-field select{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);min-width:0;color:inherit;font:inherit;background:0 0;flex:1;padding:6px 9px}.ks-chr-foot{justify-content:flex-end;gap:var(--ks-sp-2,8px);margin-top:var(--ks-sp-5,24px);padding-top:var(--ks-sp-4,16px);border-top:1px solid var(--ks-line,#dce1e8);display:flex}.ks-chr-genface{align-items:center;gap:var(--ks-sp-2,8px);margin:var(--ks-sp-2,8px) 0 var(--ks-sp-3,12px);flex-wrap:wrap;display:flex}.ks-chr-top{gap:var(--ks-sp-5,24px);padding:var(--ks-sp-4,16px);border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius-2,10px);background:var(--ks-surface-2,#f7f8fa);flex-wrap:wrap;align-items:flex-start;display:flex}.ks-chr-portrait{align-items:center;gap:var(--ks-sp-2,8px);flex-direction:column;width:184px;display:flex}.ks-chr-portrait-box{border:1px dashed var(--ks-line,#dce1e8);border-radius:var(--ks-radius-2,10px);background:var(--ks-surface,#fff);cursor:pointer;justify-content:center;align-items:center;width:184px;height:184px;padding:0;display:flex;overflow:hidden}.ks-chr-portrait-box.is-filled{border-style:solid}.ks-chr-portrait-box:hover:not(:disabled){border-color:var(--ks-point,#1f3a5f)}.ks-chr-portrait-box img{object-fit:cover;width:100%;height:100%}.ks-chr-portrait-add{font-size:var(--ks-fs-sm,13px);text-align:center;color:var(--ks-placeholder,#aab3bd);line-height:1.5}.ks-chr-portrait-acts{gap:var(--ks-sp-2,8px);width:100%;display:flex}.ks-chr-portrait-acts .ks-chr-b{text-align:center;flex:1}.ks-chr-b.is-ai{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-chr-portrait-hint{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);text-align:center;line-height:1.6}.ks-chr-namefield{flex:1;min-width:220px}.ks-chr-namefield .ks-chr-field{margin-top:0}.ks-chr-fields{gap:0 var(--ks-sp-5,24px);margin-top:var(--ks-sp-2,8px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=640px){.ks-chr-fields{grid-template-columns:1fr}}.ks-chr-descline{margin:var(--ks-sp-4,16px) 0 0;padding:var(--ks-sp-3,12px);border-radius:var(--ks-radius-2,10px);background:var(--ks-surface-2,#f7f8fa);font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);line-height:1.7}.ks-chr-descline-lab{margin-right:var(--ks-sp-2,8px);color:var(--ks-point,#1f3a5f);font-weight:700;display:inline-block}.ks-chr-field textarea{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);min-width:0;color:inherit;font:inherit;resize:vertical;background:0 0;flex:1;padding:6px 9px}.ks-chr-field-wide{grid-column:1/-1;align-items:flex-start}.ks-loc-page{max-width:860px;padding:0 var(--ks-sp-5,24px) var(--ks-sp-7,64px);font-family:var(--ks-font,inherit);color:var(--ks-ink,#1f2937);margin:0 auto}.ks-loc-head{padding-bottom:var(--ks-sp-4,16px)}.ks-loc-title{margin:0 0 var(--ks-sp-2,8px);font-size:var(--ks-fs-xl,24px);font-weight:700}.ks-loc-lead{color:var(--ks-muted,#6b7280);margin:0;line-height:1.7}.ks-loc-sec{margin:0 0 var(--ks-sp-4,16px);font-size:var(--ks-fs-lg,18px);font-weight:700}.ks-loc-note,.ks-loc-warn,.ks-loc-hint{margin:var(--ks-sp-3,12px) 0 0;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);line-height:1.7}.ks-loc-warn{color:var(--ks-warn,#b03a5b)}.ks-loc-style{padding:var(--ks-sp-4,16px) 0;border-bottom:1px solid var(--ks-line,#dce1e8)}.ks-loc-style-bar{justify-content:flex-end;align-items:center;gap:var(--ks-sp-3,12px);margin-top:var(--ks-sp-2,8px);display:flex}.ks-loc-bar{justify-content:space-between;align-items:center;gap:var(--ks-sp-3,12px);padding:var(--ks-sp-4,16px) 0;border-bottom:1px solid var(--ks-line,#dce1e8);display:flex}.ks-loc-bar .ks-loc-note{margin:0}.ks-loc-b{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:inherit;font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 13px}.ks-loc-b:hover:not(:disabled){border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-loc-b.is-go{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-loc-b.is-del{color:var(--ks-warn,#b03a5b)}.ks-loc-b.is-del:hover:not(:disabled){border-color:var(--ks-warn,#b03a5b)}.ks-loc-b:disabled{opacity:.5;cursor:default}.ks-loc-grid{gap:var(--ks-sp-4,16px);margin-top:var(--ks-sp-5,24px);flex-wrap:wrap;display:flex}.ks-loc-card{width:220px;padding:var(--ks-sp-3,12px);border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);flex-direction:column;gap:4px;display:flex}.ks-loc-body{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:4px;margin:0;padding:0;display:flex}.ks-loc-body:hover:not(:disabled) .ks-loc-nm{color:var(--ks-point,#1f3a5f)}.ks-loc-nm{font-size:var(--ks-fs-md,15px);margin:0;font-weight:700}.ks-loc-tags{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);margin:0}.ks-loc-desc{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.6;display:-webkit-box;overflow:hidden}.ks-loc-card-acts{gap:4px;margin-top:2px;display:flex}.ks-loc-form{padding-top:var(--ks-sp-4,16px)}.ks-loc-field{align-items:center;gap:var(--ks-sp-3,12px);margin-top:var(--ks-sp-3,12px);display:flex}.ks-loc-field>span{width:110px;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);flex:none}.ks-loc-field input,.ks-loc-field select,.ks-loc-field textarea{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);min-width:0;color:inherit;font:inherit;background:0 0;flex:1;padding:6px 9px}.ks-loc-field textarea{resize:vertical;line-height:1.6}.ks-loc-field-block{flex-direction:column;align-items:flex-start;gap:6px}.ks-loc-field-block>span{width:auto}.ks-loc-field-block textarea{width:100%}.ks-loc-foot{justify-content:flex-end;gap:var(--ks-sp-2,8px);margin-top:var(--ks-sp-5,24px);padding-top:var(--ks-sp-4,16px);border-top:1px solid var(--ks-line,#dce1e8);display:flex}.ks-loc-ref{align-items:flex-start;gap:var(--ks-sp-2,8px);display:flex}.ks-loc-ref-img{border-radius:var(--ks-radius-2,8px);border:1px solid var(--ks-line,#dce1e8);object-fit:cover;max-width:220px;max-height:140px}.ks-loc-ref-actions{align-items:center;gap:var(--ks-sp-2,8px);flex-wrap:wrap;display:flex}.ks-loc-ref-thumb{cursor:zoom-in;background:0 0;border:none;padding:0;line-height:0}.ks-usage{max-width:60rem;padding:var(--ks-sp-7) var(--ks-sp-6);font-family:var(--ks-font);color:var(--ks-ink);margin:0 auto}.ks-usage-head{padding-bottom:var(--ks-sp-4);border-bottom:1px solid var(--ks-line,#dce1e8)}.ks-usage-title{font-size:var(--ks-fs-title,28px);letter-spacing:-.02em;margin:0;font-weight:700}.ks-usage-lead{margin:var(--ks-sp-2,8px) 0 0;font-size:var(--ks-fs-sm,13px);color:var(--ks-muted,#6b7280);line-height:1.7}.ks-usage-note{margin-top:var(--ks-sp-5,24px);font-size:var(--ks-fs-sm,13px);color:var(--ks-muted,#6b7280)}.ks-usage-err{margin-top:var(--ks-sp-5,24px);font-size:var(--ks-fs-sm,13px);color:var(--ks-warn,#b03a5b)}.ks-usage-link{color:var(--ks-point,#1f3a5f);cursor:pointer;font:inherit;background:0 0;border:none;text-decoration:underline}.ks-usage-cards{gap:var(--ks-sp-4,16px);margin-top:var(--ks-sp-6,32px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width<=640px){.ks-usage-cards{grid-template-columns:1fr}}.ks-usage-card{padding:var(--ks-sp-4,16px);border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius-2,12px);background:var(--ks-surface-2,#f7f8fa);flex-direction:column;gap:4px;display:flex}.ks-usage-card.is-plan{background:var(--ks-surface,#fff)}.ks-usage-card-lab{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280)}.ks-usage-card-big{color:var(--ks-ink,#1a1a1a);font-size:26px;font-weight:700}.ks-usage-card.is-plan .ks-usage-card-big{color:var(--ks-point,#1f3a5f)}.ks-usage-card-sub{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280)}.ks-usage-sec{margin-top:var(--ks-sp-7,40px)}.ks-usage-sec-title{font-size:var(--ks-fs-lg,18px);margin:0 0 var(--ks-sp-4,16px);font-weight:700}.ks-usage-cats{gap:var(--ks-sp-3,12px);flex-direction:column;display:flex}.ks-usage-catrow{align-items:center;gap:var(--ks-sp-3,12px);grid-template-columns:80px 1fr 60px 90px;display:grid}.ks-usage-cat-name{font-size:var(--ks-fs-sm,13px);font-weight:600}.ks-usage-bar-wrap{background:var(--ks-surface-2,#eef1f5);border-radius:999px;height:10px;overflow:hidden}.ks-usage-bar{background:var(--ks-point,#1f3a5f);border-radius:999px;min-width:2px;height:100%}.ks-usage-cat-num{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);text-align:right}.ks-usage-cat-cost{font-size:var(--ks-fs-xs,12px);color:var(--ks-ink,#1a1a1a);text-align:right}.ks-usage-table{border-collapse:collapse;width:100%;font-size:var(--ks-fs-sm,13px)}.ks-usage-table th,.ks-usage-table td{text-align:left;border-bottom:1px solid var(--ks-line,#dce1e8);padding:8px 10px}.ks-usage-table th{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);font-weight:600}.ks-usage-model{color:var(--ks-muted,#6b7280)}.ks-usage-periods{gap:var(--ks-sp-2,8px);margin-top:var(--ks-sp-4,16px);display:flex}.ks-usage-period{border:1px solid var(--ks-line,#dce1e8);color:var(--ks-muted,#6b7280);font:inherit;font-size:var(--ks-fs-xs,12px);cursor:pointer;background:0 0;border-radius:999px;padding:5px 14px}.ks-usage-period.is-on{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}.ks-pdash{max-width:60rem;padding:var(--ks-sp-7) var(--ks-sp-6);font-family:var(--ks-font);color:var(--ks-ink);margin:0 auto}.ks-pdash-head{justify-content:space-between;align-items:flex-start;gap:var(--ks-sp-4,16px);padding-bottom:var(--ks-sp-4,16px);border-bottom:1px solid var(--ks-line,#dce1e8);display:flex}.ks-pdash-title{font-size:var(--ks-fs-title,28px);letter-spacing:-.02em;margin:0;font-weight:700}.ks-pdash-lead{margin:var(--ks-sp-2,8px) 0 0;font-size:var(--ks-fs-sm,13px);color:var(--ks-muted,#6b7280)}.ks-pdash-headacts{gap:var(--ks-sp-2,8px);flex:none;display:flex}.ks-pdash-note{margin-top:var(--ks-sp-5,24px);font-size:var(--ks-fs-sm,13px);color:var(--ks-muted,#6b7280)}.ks-pdash-err{margin-top:var(--ks-sp-5,24px);font-size:var(--ks-fs-sm,13px);color:var(--ks-warn,#b03a5b)}.ks-pdash-card{margin-top:var(--ks-sp-5,24px);padding:var(--ks-sp-4,16px);border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius-2,12px);background:var(--ks-surface,#fff)}.ks-pdash-card-lab{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280)}.ks-pdash-logline{margin:var(--ks-sp-2,8px) 0 0;font-size:var(--ks-fs-lg,18px);line-height:1.6}.ks-pdash-cols{gap:var(--ks-sp-5,24px);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){.ks-pdash-cols{grid-template-columns:1fr}}.ks-pdash-cols .ks-pdash-card{margin-top:0}.ks-pdash-thumb{width:100%;margin:var(--ks-sp-3,12px) 0;border-radius:var(--ks-radius-2,10px);border:1px solid var(--ks-line,#dce1e8);object-fit:cover;max-height:220px;display:block}.ks-pdash-stats{gap:var(--ks-sp-3,12px);margin-top:var(--ks-sp-3,12px);display:flex}.ks-pdash-stat{padding:var(--ks-sp-3,12px);border-radius:var(--ks-radius-2,10px);background:var(--ks-surface-2,#f7f8fa);flex-direction:column;flex:1;gap:4px;display:flex}.ks-pdash-stat span{font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280)}.ks-pdash-stat b{font-size:20px}.ks-pdash-soon{margin:var(--ks-sp-3,12px) 0 0;font-size:var(--ks-fs-xs,12px);color:var(--ks-muted,#6b7280);line-height:1.6}.ks-pdash-links{gap:var(--ks-sp-2,8px);margin-top:var(--ks-sp-2,8px);flex-wrap:wrap;display:flex}.ks-pdash-b{border:1px solid var(--ks-line,#dce1e8);border-radius:var(--ks-radius,3px);color:inherit;font:inherit;font-size:var(--ks-fs-sm,13px);cursor:pointer;background:0 0;padding:6px 13px;text-decoration:none}.ks-pdash-b:hover{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f)}.ks-pdash-b.is-go{border-color:var(--ks-point,#1f3a5f);color:var(--ks-point,#1f3a5f);font-weight:700}
