:root{--grey-50:#f9fafb;--grey-100:#f2f4f6;--grey-200:#e5e8eb;--grey-300:#d1d6db;--grey-400:#b0b8c1;--grey-500:#8b95a1;--grey-600:#6b7684;--grey-700:#4e5968;--grey-800:#333d4b;--grey-900:#191f28;--blue-50:#e8f3ff;--blue-100:#c9e2ff;--blue-500:#3182f6;--blue-600:#2272eb;--blue-700:#1b64da;--red-50:#fee;--red-500:#f04452;--green-50:#f0faf6;--green-500:#03b26c;--orange-50:#fff3e0;--orange-500:#fe9800;--bg:#fff;--bg-page:#f2f4f6;--border:#e5e8eb;--dim:#0003;--text-strong:var(--grey-900);--text:var(--grey-800);--text-sub:var(--grey-600);--text-disabled:var(--grey-400);--primary:var(--blue-500);--primary-hover:var(--blue-600);--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-mono:SFMono-Regular, Menlo, Consolas, monospace;--t1:30px;--t3:22px;--t4:20px;--t5:17px;--t6:15px;--st11:14px;--t7:13px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-btn-sm:8px;--radius-btn-md:10px;--radius-btn-lg:14px;--radius-card:16px;--radius-modal:24px;--h-btn-sm:32px;--h-btn-md:38px;--h-btn-lg:48px;--shadow-tiny:0 1px 3px #001b371a;--shadow-weak:0 2px 30px #001b371a;--shadow-medium:0 16px 60px #001d3a2e}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-page);color:var(--text);font-family:var(--font-sans);font-size:var(--t6);-webkit-font-smoothing:antialiased;min-width:1200px;margin:0;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}.num{font-variant-numeric:tabular-nums}.app{grid-template-columns:232px 1fr;min-height:100%;display:grid}.nav{background:var(--bg);border-right:1px solid var(--border);padding:var(--space-6) var(--space-4);gap:var(--space-1);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{font-size:var(--t5);color:var(--text-strong);padding:0 var(--space-3) var(--space-6);font-weight:700}.brand small{font-size:var(--t7);color:var(--text-sub);font-weight:500;display:block}.nav-item{align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-3);border-radius:var(--radius-btn-md);color:var(--grey-700);font-weight:600;display:flex}.nav-item:hover{background:var(--grey-100)}.nav-item.active{background:var(--blue-50);color:var(--blue-700)}.nav-foot{padding:var(--space-3);font-size:var(--t7);color:var(--text-sub);margin-top:auto}.nav-foot .tool{justify-content:space-between;padding:2px 0;display:flex}.dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.main{padding:var(--space-8)}.page{max-width:1280px;margin:0 auto}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-6);display:flex}.page-head h1{font-size:var(--t3);color:var(--text-strong);margin:0;font-weight:700;line-height:31px}.page-head .lede{margin:var(--space-1) 0 0;color:var(--text-sub);font-size:var(--t6)}.page-head .actions{gap:var(--space-2);flex-shrink:0;align-items:center;display:flex}.back{color:var(--text-sub);font-size:var(--t7);margin-bottom:var(--space-2);display:inline-block}.back:hover{color:var(--text)}.grid-2-1{gap:var(--space-6);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.stack{gap:var(--space-6);flex-direction:column;display:flex}.card{background:var(--bg);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-tiny)}.card h2{font-size:var(--t5);color:var(--text-strong);margin:0 0 var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-2);font-weight:600;display:flex}.card h2 .meta{font-size:var(--t7);color:var(--text-sub);font-weight:500}.card.flush{padding:0;overflow:hidden}.btn{cursor:pointer;white-space:nowrap;border:0;justify-content:center;align-items:center;gap:6px;font-weight:600;transition:background .12s;display:inline-flex}.btn.lg{height:var(--h-btn-lg);padding:0 var(--space-5);border-radius:var(--radius-btn-lg);font-size:var(--t5)}.btn.md{height:var(--h-btn-md);padding:0 var(--space-4);border-radius:var(--radius-btn-md);font-size:var(--t6)}.btn.sm{height:var(--h-btn-sm);padding:0 var(--space-3);border-radius:var(--radius-btn-sm);font-size:var(--t7)}.btn.fill{background:var(--primary);color:#fff}.btn.fill:hover{background:var(--primary-hover)}.btn.weak{background:var(--blue-50);color:var(--blue-700)}.btn.weak:hover{background:var(--blue-100)}.btn.grey{background:var(--grey-100);color:var(--grey-700)}.btn.grey:hover{background:var(--grey-200)}.btn.danger{background:var(--red-50);color:var(--red-500)}.btn.text{color:var(--text-sub);padding:0 var(--space-2);background:0 0}.btn.text:hover{color:var(--text)}.btn:disabled{background:var(--grey-100);color:var(--text-disabled);cursor:not-allowed}.btn-hint{font-size:var(--t7);color:var(--text-sub);text-align:right;margin-top:6px}.badge{height:24px;font-size:var(--t7);white-space:nowrap;border-radius:999px;align-items:center;padding:0 10px;font-weight:600;display:inline-flex}.badge.idle{background:var(--grey-100);color:var(--grey-600)}.badge.running{background:var(--blue-50);color:var(--blue-700)}.badge.failed{background:var(--red-50);color:var(--red-500)}.badge.ready{background:var(--green-50);color:var(--green-500)}.badge.running:before{content:"";background:var(--blue-500);border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1.2s infinite pulse}@keyframes pulse{50%{opacity:.25}}.table{border-collapse:collapse;width:100%}.table th{text-align:left;font-size:var(--t7);color:var(--text-sub);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--grey-50);font-weight:500}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--grey-100);font-size:var(--st11);vertical-align:middle}.table tr.click{cursor:pointer}.table tr.click:hover td{background:var(--grey-50)}.table tr:last-child td{border-bottom:0}.table .r{text-align:right;font-variant-numeric:tabular-nums}.thumb{object-fit:cover;background:var(--grey-100);border-radius:8px;width:72px;height:48px;display:block}.cell-title{color:var(--text-strong);font-weight:600;font-size:var(--t6)}.cell-sub{color:var(--text-sub);font-size:var(--t7)}.empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-sub)}.empty strong{color:var(--text-strong);font-size:var(--t5);margin-bottom:var(--space-2);display:block}.empty .btn{margin-top:var(--space-5)}.banner{border-radius:var(--radius-card);padding:var(--space-5) var(--space-6);gap:var(--space-4);margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.banner.failed{background:var(--red-50)}.banner.running{background:var(--blue-50)}.banner.ready{background:var(--green-50)}.banner strong{color:var(--text-strong);font-size:var(--t5);display:block}.banner p{color:var(--grey-700);margin:2px 0 0}.steps{gap:var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}@media (width<=900px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.step{min-width:0;padding:var(--space-3);background:var(--grey-50);border-radius:12px}.step .n{font-size:var(--t7);color:var(--text-sub);white-space:nowrap}.step .l{color:var(--text);font-weight:600;font-size:var(--st11);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.step .s{color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.step.done{background:var(--green-50)}.step.done .n{color:var(--green-500)}.step.running{background:var(--blue-50);box-shadow:inset 0 0 0 1.5px var(--blue-500)}.step.running .n{color:var(--blue-700)}.step.failed{background:var(--red-50)}.step.failed .n{color:var(--red-500)}.hero-media{background:var(--grey-100);aspect-ratio:1600/1056;object-fit:cover;border-radius:12px;width:100%;display:block}.strip{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}.strip img{aspect-ratio:1600/1056;object-fit:cover;background:var(--grey-100);cursor:pointer;border-radius:8px;outline:2px solid #0000;width:100%}.strip img.on{outline-color:var(--blue-500)}.models{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(132px,1fr));display:grid}.model{background:var(--grey-50);padding:var(--space-2);border-radius:12px}.model img{aspect-ratio:1;object-fit:contain;width:100%;display:block}.model .ph{aspect-ratio:1;background:var(--grey-100);border-radius:8px;width:100%}.model .nm{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:600;overflow:hidden}.model .mt{color:var(--text-sub);font-size:11px}.model.bad{box-shadow:inset 0 0 0 1.5px var(--red-500)}.chips{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.chip{height:32px;padding:0 var(--space-3);border:1px solid var(--border);background:var(--bg);font-size:var(--t7);color:var(--grey-700);cursor:pointer;border-radius:999px;font-weight:600}.chip.on{background:var(--grey-900);border-color:var(--grey-900);color:#fff}.kv{gap:var(--space-2) var(--space-4);font-size:var(--st11);grid-template-columns:auto 1fr;margin:0;display:grid}.kv dt{color:var(--text-sub)}.kv dd{text-align:right;font-variant-numeric:tabular-nums;color:var(--text);margin:0}.check{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--grey-100);display:flex}.check:last-child{border-bottom:0}.check .ic{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.check .ic.pass{background:var(--green-500)}.check .ic.fail{background:var(--red-500)}.check .ic.skip{background:var(--grey-300)}.check .t{font-weight:600;font-size:var(--st11)}.check .d{font-size:var(--t7);color:var(--text-sub)}.log{font-family:var(--font-mono);background:var(--grey-900);color:#d1d6db;padding:var(--space-4);white-space:pre-wrap;word-break:break-all;border-radius:12px;height:420px;font-size:12px;line-height:1.6;overflow:auto}.log .c{color:#fff}.log .t{color:#90c2ff}.log .e{color:#ff8a95}.log .k{color:#8b95a1}.listing h3{font-size:var(--t6);margin:var(--space-4) 0 var(--space-2);color:var(--text-strong)}.listing .md{white-space:pre-wrap;font-size:var(--st11);color:var(--grey-700);background:var(--grey-50);padding:var(--space-4);border-radius:12px;max-height:360px;overflow:auto}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--grey-100);color:var(--grey-700);border-radius:6px;padding:2px 8px;font-size:12px}.form{gap:var(--space-8);flex-direction:column;padding-bottom:96px;display:flex}.field label{font-size:var(--t5);color:var(--text-strong);margin-bottom:4px;font-weight:600;display:block}.field .help{font-size:var(--t7);color:var(--text-sub);margin-bottom:var(--space-3)}.input,.textarea{border:1px solid var(--border);width:100%;font-size:var(--t6);color:var(--text-strong);background:var(--bg);border-radius:12px;outline:none;padding:12px 14px;font-family:inherit}.input:focus,.textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-50)}.textarea{resize:vertical;min-height:96px;line-height:1.6}.sticky-foot{border-top:1px solid var(--border);padding:var(--space-4) var(--space-8);justify-content:flex-end;align-items:center;gap:var(--space-4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;display:flex;position:fixed;bottom:0;left:232px;right:0}.sticky-foot .note{color:var(--text-sub);font-size:var(--t7);max-width:1280px;margin-right:auto}.dim{background:var(--dim);z-index:20;position:fixed;inset:0}.drawer{background:var(--bg);z-index:21;width:460px;box-shadow:var(--shadow-medium);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer .dh{padding:var(--space-6);font-size:var(--t4);color:var(--text-strong);font-weight:700}.drawer .db{padding:0 var(--space-6);gap:var(--space-6);flex-direction:column;flex:1;display:flex;overflow:auto}.drawer .df{padding:var(--space-4) var(--space-6);gap:var(--space-2);border-top:1px solid var(--border);justify-content:flex-end;display:flex}.radio-row{gap:var(--space-2);flex-direction:column;display:flex}.radio{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:flex-start;display:flex}.radio.on{border-color:var(--blue-500);background:var(--blue-50)}.radio .t{font-weight:600;font-size:var(--st11)}.radio .d{font-size:var(--t7);color:var(--text-sub)}.toasts{right:var(--space-6);bottom:var(--space-6);gap:var(--space-2);z-index:40;flex-direction:column;display:flex;position:fixed}.toast{background:var(--grey-900);color:#fff;box-shadow:var(--shadow-medium);align-items:center;gap:var(--space-4);font-size:var(--t6);border-radius:14px;min-width:320px;padding:14px 18px;animation:.18s ease-out up;display:flex}.toast a{color:var(--blue-100);margin-left:auto;font-weight:600}@keyframes up{0%{opacity:0;transform:translateY(8px)}}.skeleton{background:linear-gradient(90deg, var(--grey-100), var(--grey-50), var(--grey-100));background-size:200% 100%;border-radius:12px;animation:1.2s infinite sk}@keyframes sk{to{background-position:-200% 0}}.muted{color:var(--text-sub)}.small{font-size:var(--t7)}.ideas{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(360px,1fr));display:grid}.idea{flex-direction:column;display:flex}.idea-top{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.idea-ko{font-size:var(--t4);color:var(--text-strong);font-weight:700}.idea-en{font-size:var(--t7);color:var(--text-sub);letter-spacing:.02em;font-weight:600}.idea-pitch{margin:var(--space-2) 0 var(--space-4);color:var(--grey-700)}.idea-actions{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-4);margin-top:auto;display:flex}.idea .badge.running:before{display:none}.images{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.images a{display:block}.images img{background:var(--grey-100);border-radius:8px;width:100%;display:block}.images .cap{color:var(--text-sub);margin-top:2px;font-size:11px}.auth{background:var(--grey-50);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:var(--bg);width:400px;padding:var(--space-8);box-shadow:var(--shadow-tiny);gap:var(--space-5);border-radius:24px;flex-direction:column;display:flex}.auth-card .brand{margin-bottom:var(--space-2);padding:0}.auth-card h1{font-size:var(--t3);color:var(--text-strong);margin:0;font-weight:700}.auth-card .lede{color:var(--text-sub);font-size:var(--t6);min-height:1em;margin:-12px 0 0}.auth-card .btn{width:100%;margin-top:var(--space-2)}.auth-err{color:var(--red-500);font-size:var(--t7);margin:0}.nav-foot .foot-title{color:var(--text-sub);margin-bottom:4px;font-weight:600;text-decoration:none;display:block}.nav-foot a.tool{color:var(--blue-500);text-decoration:none}.nav-foot .me{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--grey-200);color:var(--text);justify-content:space-between;align-items:center;display:flex}.rstate{font-size:var(--st11);align-items:center;display:inline-flex}.rstate.on .dot{background:var(--green-500)}.rstate.busy .dot{background:var(--blue-500)}.rstate.off{color:var(--text-sub)}.rstate.off .dot{background:var(--grey-300)}.rstate a{color:var(--blue-500);margin-left:4px;text-decoration:none}.table .sub,.sub{font-size:var(--t7);color:var(--text-sub)}.cmd{background:var(--grey-900);color:#e5e8eb;padding:var(--space-4);white-space:pre-wrap;word-break:break-all;cursor:copy;border-radius:12px;margin:0;font-size:12px;line-height:1.6}.steps-guide{gap:var(--space-4);font-size:var(--t6);color:var(--text);flex-direction:column;display:flex}.steps-guide p{margin:0}.steps-guide ol{color:var(--text-sub);font-size:var(--t7);margin:0;padding-left:20px;line-height:1.7}.help{font-size:var(--t7);color:var(--text-sub)}.ai-usage{flex-direction:column;gap:4px;display:flex}.ai-row{font-size:var(--t7);grid-template-columns:56px 1fr 36px;align-items:center;gap:8px;display:grid}.ai-k{color:var(--text-sub)}.ai-v{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.ai-bar{background:var(--grey-100);border-radius:3px;height:6px;overflow:hidden}.ai-bar>span{background:var(--blue-500);border-radius:3px;height:100%;display:block}.ai-bar>span.warn{background:var(--orange-500,#fe9800)}.ai-bar>span.bad{background:var(--red-500)}.kpis{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.kpi{background:var(--bg);border-radius:var(--radius-card);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-tiny)}.kpi-label{font-size:var(--t7);color:var(--text-sub);font-weight:500}.kpi-value{font-size:var(--t3);color:var(--text-strong);margin-top:var(--space-1);font-weight:700}.kpi-sub{font-size:var(--t7);color:var(--text-sub);margin-top:2px}.trend{width:100%;height:auto;display:block}.trend .grid{stroke:var(--grey-100);stroke-width:1px}.trend .bar{fill:var(--blue-100)}.trend .bar:hover{fill:var(--blue-500)}.trend .dl{fill:none;stroke:var(--green-500);stroke-width:2px;stroke-linejoin:round}.trend .sale{fill:var(--orange-500)}.trend .axis{fill:var(--text-sub);font-size:11px}.hbars{gap:var(--space-2);flex-direction:column;display:flex}.hbar{align-items:center;gap:var(--space-3);font-size:var(--t7);grid-template-columns:132px 1fr 36px;display:grid}.hbar-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hbar-track{background:var(--grey-100);border-radius:4px;height:8px;overflow:hidden}.hbar-track i{background:var(--blue-500);border-radius:4px;height:100%;display:block}.hbar-value{text-align:right;color:var(--text-sub)}.drawer-h{font-size:var(--t6);color:var(--text-strong);margin:0 0 calc(-1 * var(--space-3));font-weight:600}.sales-table th,.sales-table td{white-space:nowrap}.sales-table td:first-child{white-space:normal;min-width:180px}.drawer .table th{white-space:nowrap}.model{cursor:pointer;position:relative}.model.picked{outline:2px solid var(--blue-500);outline-offset:-2px;background:var(--blue-50)}.model.picked:after{content:"✓";background:var(--blue-500);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;display:grid;position:absolute;top:6px;right:8px}.pick-bar{z-index:15;background:var(--grey-900);color:#fff;box-shadow:var(--shadow-medium);font-size:var(--t6);border-radius:16px;align-items:center;gap:12px;padding:10px 12px 10px 20px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.pick-bar .btn.text{color:var(--grey-300)}.style-grid{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.style-card{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;font-family:inherit;display:flex}.style-card:hover{border-color:var(--grey-400)}.style-card.on{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-50)}.style-card .t{font-size:var(--t6);color:var(--text-strong);justify-content:space-between;align-items:center;gap:6px;font-weight:600;display:flex}.style-card .d{font-size:var(--t7);color:var(--text-sub);line-height:1.45}.style-card .m{color:var(--text-disabled,var(--grey-400));font-size:11px}.tier{background:var(--grey-100);color:var(--grey-700);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:600}.tier-고퀄{background:var(--blue-50);color:var(--blue-700)}
