@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{--font-ui: "Noto Sans KR", sans-serif;--radius: 10px;--radius-sm: 8px;--theme-transition-ms: .26s}:root[data-theme=dark]{--bg: #0f1117;--surface: #1a1d27;--surface-2: #22263a;--card: rgba(26, 29, 39, .96);--text: #e8eaf6;--muted: #8890b0;--muted-2: #555c7a;--border: #2e3248;--primary: #5b7fff;--primary-hover: #7695ff;--primary-text: #ffffff;--danger: #ff8b8b;--danger-hover-bg: rgba(255, 139, 139, .12);--danger-border: rgba(255, 139, 139, .36);--chip-bg: #22263a;--ghost-border: #2e3248;--shadow: 0 18px 44px rgba(0, 0, 0, .28);--backdrop: rgba(5, 8, 18, .64)}:root[data-theme=light]{--bg: #f4f5f9;--surface: #ffffff;--surface-2: #eef1fb;--card: rgba(255, 255, 255, .97);--text: #1a1d2e;--muted: #5a6080;--muted-2: #9099bb;--border: #dde0f0;--primary: #4263eb;--primary-hover: #3451d1;--primary-text: #ffffff;--danger: #c92a2a;--danger-hover-bg: rgba(201, 42, 42, .08);--danger-border: rgba(201, 42, 42, .28);--chip-bg: #eef1fb;--ghost-border: #d0d4ee;--shadow: 0 16px 36px rgba(41, 62, 122, .12);--backdrop: rgba(36, 47, 89, .2)}*{box-sizing:border-box}html,body,#root{min-height:100%;width:100%;max-width:100%;overflow-x:hidden}body{margin:0;font-family:var(--font-ui);font-size:14px;color:var(--text);background:radial-gradient(circle at 0% 0%,rgba(91,127,255,.12),transparent 28%),radial-gradient(circle at 100% 100%,rgba(91,127,255,.08),transparent 26%),linear-gradient(180deg,var(--bg),var(--bg))}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:24px 24px;opacity:.16}:root.theme-switching *,:root.theme-switching *:before,:root.theme-switching *:after{transition:background var(--theme-transition-ms) ease,background-color var(--theme-transition-ms) ease,color var(--theme-transition-ms) ease,border-color var(--theme-transition-ms) ease,box-shadow var(--theme-transition-ms) ease,fill var(--theme-transition-ms) ease,stroke var(--theme-transition-ms) ease!important}@media(prefers-reduced-motion:reduce){:root.theme-switching *,:root.theme-switching *:before,:root.theme-switching *:after{transition-duration:1ms!important}}.page{position:relative;z-index:1;min-height:100vh;padding:16px}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1400px;margin:0 auto 14px;padding:12px 18px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar h1{margin:0;font-size:15px;font-weight:700;letter-spacing:-.02em}.topbar-actions{display:flex;align-items:center;gap:8px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease}button:not(:disabled):active{transform:scale(.98)}button:disabled{opacity:.42;cursor:not-allowed}button.primary,button.ghost{min-height:36px;padding:8px 14px}button.primary{background:var(--primary);color:var(--primary-text);font-weight:600}button.primary:not(:disabled):hover{background:var(--primary-hover)}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--ghost-border)}button.ghost:not(:disabled):hover{background:var(--surface-2);color:var(--text)}.top-logout-button{color:var(--danger);border-color:var(--danger-border)}.top-logout-button:not(:disabled):hover{background:var(--danger-hover-bg);color:var(--danger)}.select-field-shell{position:relative;width:100%}.select-field-overlay{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;cursor:not-allowed;z-index:2}.select-field-overlay:hover,.select-field-overlay:focus-visible{background:transparent}.compact-button{padding:6px 14px!important;min-height:32px!important;font-size:12px;white-space:nowrap}.api-pricing-button{padding:5px 12px!important;min-height:28px!important}.theme-toggle{width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.theme-toggle:hover{background:var(--border)}.top-key-button{margin-top:0}.status-card{position:fixed;top:80px;right:16px;width:min(360px,calc(100vw - 32px));display:flex;align-items:center;gap:8px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);box-shadow:var(--shadow);z-index:55;opacity:1;transform:translateY(0);transition:opacity .24s ease,transform .24s ease}.status-card.closing{opacity:0;transform:translateY(-6px)}.status-dot{width:10px;height:10px;border-radius:999px;background:#7f7f7f;flex-shrink:0}.status-card.working .status-dot{background:var(--primary);box-shadow:0 0 0 6px #5b7fff29}.status-card.ready .status-dot{background:#39bf72;box-shadow:0 0 0 6px #39bf721f}.status-text{flex:1;white-space:pre-line}.status-close{width:26px;height:26px;padding:0;display:grid;place-items:center;border:1px solid var(--border);background:transparent;color:var(--text)}.layout{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr .95fr;grid-template-areas:"catalog media compose" "upload upload upload";gap:12px;align-items:start}.panel-catalog{grid-area:catalog}.panel-media{grid-area:media}.panel-compose-stack{grid-area:compose}.panel-upload{grid-area:upload}.panel-col-stack{display:flex;flex-direction:column;gap:12px}.panel{min-width:0;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel.full{grid-column:1 / -1}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-title-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}h2,h3,h4,p{margin:0}h2{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.02em}h3{font-size:16px}h4{font-size:13px}.field-row{display:flex;flex-direction:column;gap:6px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}label,.prompt-mode-label{font-size:12px;color:var(--muted);font-weight:500}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary)}input[readonly],textarea[readonly]{cursor:default}.product-url-control{display:flex;align-items:stretch;gap:8px}.product-url-control input{flex:1;min-width:0}textarea{resize:vertical;min-height:110px;line-height:1.55}.action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.prompt-mode-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.prompt-mode-switch{display:inline-flex;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.switch-button{padding:7px 12px;border-radius:0;background:transparent;color:var(--muted)}.switch-button.active{background:var(--primary);color:var(--primary-text);font-weight:600}.prompt-settings-button{min-height:34px!important;padding:6px 12px!important}.chips-toolbar,.platform-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--chip-bg);color:var(--muted)}.chip.active{border-color:var(--primary);background:var(--primary);color:var(--primary-text);font-weight:600}.icon-copy{width:36px;height:36px;padding:0;display:grid;place-items:center;border:1px solid var(--border);background:transparent;color:var(--text)}.icon-copy svg{width:18px;height:18px}.shorts-preview{position:relative;overflow:hidden;min-height:320px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.03),transparent),var(--surface-2)}.preview-empty,.preview-external{width:100%;min-height:320px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:20px;color:var(--muted-2);text-align:center}.preview-loading strong{color:var(--text);font-size:14px}.preview-empty strong{color:var(--text);font-size:15px}.preview-empty span{color:var(--muted);line-height:1.5}.preview-loading span:last-child,.video-loading span:last-child{color:var(--muted)}.preview-image,.preview-frame{width:100%;height:320px;border:0;display:block;object-fit:cover}.preview-play-button{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:999px;background:#ff0000e0;color:#fff;font-size:22px;padding-left:3px}.preview-external a{color:var(--primary);text-decoration:none;font-weight:600}.loading-spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:999px;animation:spin .8s linear infinite}.video-link-row{display:flex;align-items:stretch;gap:8px}.video-link-row.active .video-link-item,.video-link-row.active .video-link-external{border-color:var(--primary)}.video-link-list{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.video-link-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left}.video-link-item:disabled,.video-link-external:disabled{cursor:not-allowed}.video-link-main{flex:1}.video-link-item:hover,.video-link-item.active{border-color:var(--primary);background:var(--chip-bg)}.video-link-external{width:40px;min-width:40px;padding:0;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text)}.video-link-external:hover:not(:disabled){border-color:var(--primary);background:var(--chip-bg);color:var(--primary)}.video-link-external svg{width:18px;height:18px}.link-num{flex:0 0 auto;width:22px;height:22px;border-radius:999px;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600}.link-label{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.video-empty{min-height:42px;padding:10px 12px;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted-2);background:#ffffff05}.video-loading{display:flex;align-items:center;gap:10px}.script-box,.title-box,.content-box{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff05}.generated-textbox{width:100%;color:var(--text);resize:none}.generated-textbox::placeholder{color:var(--muted-2)}.script-box{min-height:170px;max-height:170px;overflow-y:auto;padding:12px;line-height:1.6;white-space:pre-wrap}.title-box{min-height:88px;max-height:88px;overflow-y:auto;padding:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.content-box{padding:12px}.content-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.content-box pre{margin:0;font-family:var(--font-ui);white-space:pre-wrap;line-height:1.6}.platform-results{display:grid;gap:10px}.regen-button{margin-left:auto;white-space:nowrap}.link-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.link-row code{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);overflow-wrap:anywhere}button.ghost.copy-video-button{width:100%;background:#412c31;border-color:#5a4047;color:#f3e4e8;font-weight:600}button.ghost.copy-video-button:hover:not(:disabled){background:#53383f;border-color:#74555e;color:#fff3f6}.api-settings-modal{width:min(960px,calc(100vw - 28px));gap:16px;padding:20px}.manual-partner-link-modal{width:min(560px,calc(100vw - 28px))}.modal-helper-text{color:var(--muted);line-height:1.6}.modal-inline-error{padding:10px 12px;border:1px solid rgba(214,96,112,.34);border-radius:12px;background:#d660701f;color:#ffb9c2;line-height:1.55}.api-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.api-settings-copy{display:flex;flex-direction:column;gap:6px}.api-settings-copy p{color:var(--muted)}.api-settings-badge,.api-settings-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.api-settings-badge{border:1px solid rgba(91,127,255,.28);background:#5b7fff1f;color:var(--text)}.api-settings-badge.is-required,.api-settings-status.is-missing{border-color:#ffae4957;background:#ffae491f;color:var(--text)}.api-settings-status.is-configured{border-color:#39bf724d;background:#39bf721f;color:var(--text)}.api-settings-alert{display:grid;gap:6px;padding:14px 16px;border:1px solid rgba(255,174,73,.28);border-radius:14px;background:linear-gradient(180deg,#ffae491f,#ffae490d)}.api-settings-alert strong{color:var(--text)}.api-settings-alert span{color:var(--muted)}.api-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.api-settings-card{display:flex;flex-direction:column;gap:16px;padding:18px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,#ffffff09,#ffffff05)}.api-settings-card-head{display:grid;gap:10px}.api-settings-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.api-settings-card-head>div{display:grid;gap:6px}.api-settings-card-head strong{font-size:15px}.api-settings-card-head p{color:var(--muted);line-height:1.6}.api-settings-field-stack{display:grid;gap:14px}.api-settings-field-row{gap:8px}.api-settings-field-row input[readonly]{background:#5b7fff14;border-color:#5b7fff2e;color:var(--text);opacity:1}.api-settings-current-list{display:grid;gap:10px}.api-settings-current{display:grid;gap:6px}.api-settings-current span{color:var(--muted);font-size:12px;font-weight:600}.api-settings-current code{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text);font-size:13px;overflow-wrap:anywhere}.api-settings-section-actions{display:flex;justify-content:flex-start;gap:8px;flex-wrap:wrap}.api-settings-section-actions.is-top{margin-top:0}.device-manager-modal{width:min(860px,calc(100vw - 28px));gap:16px;padding:20px}.device-manager-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.device-manager-copy{display:flex;flex-direction:column;gap:6px}.device-manager-copy h3,.device-manager-copy p{margin:0}.device-manager-copy p{color:var(--muted)}.device-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.device-card,.device-registration-box{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#ffffff09,#ffffff05)}.device-card.is-current{border-color:#5b7fff61;box-shadow:0 0 0 1px #5b7fff24}.device-card.is-empty{background:#ffffff05}.device-card-head,.device-registration-head,.device-code-row,.device-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.device-slot-title{color:var(--text);font-size:15px;font-weight:700;letter-spacing:.02em}.device-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:#5b7fff29;border:1px solid rgba(91,127,255,.32);color:var(--text);font-size:12px;font-weight:600}.device-badge.live{background:#39bf7224;border-color:#39bf7247}.device-meta,.device-registration-help{color:var(--muted);line-height:1.5}.device-meta-list,.device-registration-meta,.device-registration-body{display:grid;gap:8px}.device-empty-slot{min-height:120px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px;border:1px dashed var(--border);border-radius:12px;color:var(--muted-2);text-align:center}.device-empty-slot strong{color:var(--text)}.device-code-row code{padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);font-size:16px;font-weight:700;letter-spacing:.12em}.device-code-label{color:var(--muted);font-size:12px;font-weight:600}.device-code-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.device-registration-box{margin-top:2px}.device-registration-box.active{border-color:#39bf724d;background:linear-gradient(180deg,#39bf7217,#ffffff06)}.approval-code-inputs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.approval-code-input{height:52px;padding:0;text-align:center;font-size:22px;font-weight:700;letter-spacing:.02em}.approval-code-help{color:var(--muted);font-size:12px;line-height:1.5}.footer{max-width:1400px;margin:14px auto 0;padding:6px 2px 2px;color:var(--muted);font-size:12px}.modal-backdrop,.overlay-loading{position:fixed;inset:0;display:grid;place-items:center;padding:14px;background:var(--backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:60}.modal-backdrop{overflow-y:auto;overscroll-behavior:contain}.modal-card{width:min(520px,calc(100vw - 28px));display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:var(--shadow);max-height:calc(100dvh - 28px);overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-message{white-space:pre-line}.overlay-loading-card{width:min(340px,calc(100vw - 40px));align-items:center;text-align:center;gap:10px}.overlay-loading-title{font-size:15px;line-height:1.4}.overlay-loading-text{color:var(--muted);font-size:12px;line-height:1.5}.prompt-modal-fields{margin-top:6px}.prompt-modal-tabs{margin-bottom:12px}.prompt-editor-box{min-height:clamp(320px,56vh,560px);max-height:clamp(320px,56vh,560px);resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-actions.left{justify-content:flex-start}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1180px){.layout{grid-template-columns:1fr 1fr;grid-template-areas:"catalog media" "compose compose" "upload upload"}}@media(max-width:780px){.page{padding:10px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}.status-card{top:94px;right:10px;width:min(340px,calc(100vw - 20px))}.layout{grid-template-columns:1fr;grid-template-areas:"catalog" "media" "compose" "upload"}.panel,.topbar{padding:14px}.device-manager-modal{width:min(680px,calc(100vw - 20px));padding:18px}.api-settings-modal{width:min(760px,calc(100vw - 20px));padding:18px}.api-settings-header,.api-settings-card-title-row{flex-direction:column;align-items:flex-start}.api-settings-grid{grid-template-columns:1fr}.device-manager-header{flex-direction:column}.device-card-grid{grid-template-columns:1fr}.panel-head,.panel-title-row,.platform-toolbar,.chips-toolbar,.field-label-row{flex-direction:column;align-items:stretch}.panel-title-actions{width:100%;align-items:stretch;justify-content:flex-start}.panel-title-actions>*{width:100%}.prompt-mode-row{justify-content:flex-start}.regen-button,.compact-button{width:100%}.shorts-preview,.preview-empty,.preview-external,.preview-image,.preview-frame{min-height:280px;height:280px}.approval-code-inputs{gap:8px}.approval-code-input{height:48px;font-size:20px}}
