@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Noto+Sans+KR:wght@300;400;500;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#0c0e14;--s1:#151821;--s2:#1c2030;--s3:#252a3a;--s4:#2f3548;--bd:#ffffff0f;--bdl:#ffffff1a;--bds:#ffffff08;--t:#e4e5ea;--ts:#858899;--td:#555872;--ac:#7b93f3;--acg:#7b93f31a;--acs:#7b93f340;--purple:#a78bfa;--purpleg:#a78bfa1a;--pink:#ec4899;--pinkg:#ec48991a;--teal:#2dd4bf;--tealg:#2dd4bf1a;--amber:#f59e0b;--amberg:#f59e0b1a;--green:#34d399;--greeng:#34d3991a;--blue:#60a5fa;--red:#ef4444;--sans:"Outfit","Noto Sans KR",sans-serif;--mono:"JetBrains Mono",monospace;--r:10px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--bg);color:var(--t);height:100vh;font-size:14px;line-height:1.6;overflow:hidden}::selection{background:var(--ac);color:#fff}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--s4);border-radius:3px}button{font-family:var(--sans);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--sans);outline:none}.app{grid-template-rows:48px 1fr;grid-template-columns:232px 1fr;height:100vh;display:grid}.hd{background:var(--s1);border-bottom:1px solid var(--bd);grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.logo{align-items:center;gap:8px;display:flex}.logo-i{background:linear-gradient(135deg, var(--ac), var(--purple));color:#fff;border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:900;display:flex}.logo-t{letter-spacing:-.01em;font-size:14px;font-weight:800}.hd-r{align-items:center;gap:10px;display:flex}.hd-proj{color:var(--ts);background:var(--s2);border:1px solid var(--bd);border-radius:6px;padding:5px 12px;font-size:11px}.hd-proj b{color:var(--t);font-weight:600}.avatar{background:linear-gradient(135deg, var(--purple), var(--pink));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex}.sb{background:var(--s1);border-right:1px solid var(--bd);flex-direction:column;padding:12px 0;display:flex;overflow-y:auto}.sb-lab{letter-spacing:.12em;text-transform:uppercase;color:var(--td);margin:12px 0 6px;padding:0 16px;font-size:9px;font-weight:700}.sb-item{cursor:pointer;color:var(--ts);border-radius:7px;align-items:center;gap:8px;margin:0 8px;padding:8px 16px;font-size:13px;transition:all .12s;display:flex}.sb-item:hover{background:var(--s2);color:var(--t)}.sb-item.active{background:var(--acg);color:var(--ac);font-weight:600}.sb-item .num{font-family:var(--mono);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:600;display:flex}.sb-item.active .num{background:var(--ac);color:#fff}.sb-item:not(.active) .num{background:var(--s3);color:var(--td)}.sb-div{background:var(--bd);height:1px;margin:8px 16px}.main{background:var(--bg);padding:24px 32px;overflow-y:auto}.main-inner{max-width:800px}.ph-head{border-bottom:1px solid var(--bd);margin-bottom:24px;padding-bottom:20px}.ph-badge{font-family:var(--mono);letter-spacing:.04em;border-radius:5px;margin-bottom:6px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.ph-title{letter-spacing:-.02em;font-size:22px;font-weight:800}.ph-desc{color:var(--ts);max-width:560px;margin-top:4px;font-size:13px}.field{margin-bottom:16px}.field-label{color:var(--ts);margin-bottom:5px;font-size:11px;font-weight:600;display:block}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-row-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.input,.sel,.tarea{border:1px solid var(--bd);background:var(--s2);width:100%;color:var(--t);border-radius:8px;padding:9px 13px;font-size:13px;transition:border-color .15s}.input:focus,.sel:focus,.tarea:focus{border-color:var(--ac)}.tarea{resize:vertical;min-height:72px;line-height:1.6}.sel{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23858899' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.sel option{background:var(--s2);color:var(--t)}.btn{letter-spacing:-.01em;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:700;transition:all .15s}.btn-ac{background:var(--ac);color:#fff}.btn-ac:hover{background:#6a82e0}.btn-green{background:var(--green);color:#0c0e14}.btn-green:hover{background:#2bc08a}.btn-outline{border:1px solid var(--bd);color:var(--ts);background:0 0}.btn-outline:hover{border-color:var(--bdl);color:var(--t)}.btn-full{width:100%}.btn-sm{padding:7px 14px;font-size:12px}.card{background:var(--s1);border:1px solid var(--bd);border-radius:var(--r);margin-bottom:10px;padding:18px 20px;transition:border-color .15s}.card:hover{border-color:var(--bdl)}.card-title{align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:700;display:flex}.ai-sel{margin-bottom:20px}.ai-lab{letter-spacing:.1em;text-transform:uppercase;color:var(--td);margin-bottom:8px;font-size:9px;font-weight:700}.ai-chips{flex-wrap:wrap;gap:5px;display:flex}.ai-chip{border:1px solid var(--bd);background:var(--s2);color:var(--ts);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .12s;display:flex;position:relative}.ai-chip:hover{border-color:var(--bdl);color:var(--t)}.ai-chip.sel{border-color:var(--ac);background:var(--acg);color:var(--ac);font-weight:600}.ai-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.ai-rec{color:var(--green);background:var(--greeng);border-radius:3px;padding:1px 5px;font-size:8px;font-weight:700}.ai-help{background:var(--s3);width:14px;height:14px;color:var(--td);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;font-size:9px;font-weight:700;display:flex}.ai-chip:hover .ai-help{background:var(--s4);color:var(--ts)}.ai-tooltip{background:var(--s1);border:1px solid var(--bdl);z-index:20;width:240px;color:var(--ts);text-align:left;border-radius:8px;padding:10px 14px;font-size:11px;font-weight:400;line-height:1.6;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.ai-tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--bdl);position:absolute;top:100%;left:50%;transform:translate(-50%)}.ai-chip:hover .ai-tooltip{display:block}.ai-tooltip strong{color:var(--t);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.ai-tooltip .tip-tag{border-radius:3px;margin-bottom:6px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.img-grid{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.img-thumb{background:var(--s3);border:1px solid var(--bd);cursor:pointer;border-radius:8px;width:80px;height:80px;transition:all .15s;overflow:hidden}.img-thumb:hover{border-color:var(--bdl)}.img-thumb.filled{border-color:var(--acs)}.img-thumb-inner{background-position:50%;background-size:cover;border-radius:7px;width:100%;height:100%}.img-add{border:1px dashed var(--bd);cursor:pointer;width:80px;height:80px;color:var(--td);background:0 0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;transition:all .15s;display:flex}.img-add:hover{border-color:var(--ac);color:var(--ac);background:var(--acg)}.img-add-icon{font-size:18px;line-height:1}.kit-table{border-collapse:separate;border-spacing:0;width:100%;margin:12px 0;font-size:12px}.kit-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--td);border-bottom:1px solid var(--bd);padding:8px 12px;font-size:10px;font-weight:700}.kit-table td{border-bottom:1px solid var(--bds);vertical-align:middle;padding:10px 12px}.kit-table tr:hover td{background:var(--s2)}.kit-row-name{color:var(--t);align-items:center;gap:8px;font-weight:600;display:flex}.kit-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kit-imgs{gap:3px;display:flex}.kit-img-mini{background:var(--s3);border:1px solid var(--bd);border-radius:5px;width:28px;height:28px;overflow:hidden}.kit-img-mini-inner{background-position:50%;background-size:cover;width:100%;height:100%}.kit-kw{font-family:var(--mono);color:var(--teal);background:var(--tealg);border-radius:3px;margin:1px;padding:1px 6px;font-size:10px;display:inline-block}.kit-act{background:var(--s3);color:var(--ts);cursor:pointer;transition:all .12px;border:none;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:600}.kit-act:hover{background:var(--s4);color:var(--t)}.concept-grid{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.cc{border-radius:var(--r);border:1px solid var(--bd);background:var(--s2);cursor:pointer;padding:16px;transition:all .2s;position:relative}.cc:hover{border-color:var(--bdl)}.cc.sel{border-color:var(--ac);background:var(--acg);box-shadow:0 0 24px #7b93f314}.cc-type{letter-spacing:.03em;border-radius:3px;margin-bottom:6px;padding:2px 8px;font-size:9px;font-weight:700;display:inline-block}.cc-name{letter-spacing:-.01em;margin-bottom:3px;font-size:15px;font-weight:700}.cc-msg{color:var(--ts);margin-bottom:8px;font-size:11px;font-style:italic;line-height:1.5}.cc-kw{flex-wrap:wrap;gap:3px;display:flex}.cc-kw span{font-family:var(--mono);background:var(--tealg);color:var(--teal);border-radius:3px;padding:2px 6px;font-size:9px}.cc-check{border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex;position:absolute;top:10px;right:10px}.cc.sel .cc-check{background:var(--ac);color:#fff}.cc:not(.sel) .cc-check{background:var(--s3);color:var(--td);border:1px solid var(--bd)}.prompt{border-radius:var(--r);font-family:var(--mono);color:#7b8194;border:1px solid var(--bd);white-space:pre-wrap;background:#0a0c12;margin:10px 0;padding:14px 18px;font-size:11px;line-height:1.8;position:relative}.prompt .kw{color:var(--purple)}.prompt .val{color:var(--teal)}.prompt .par{color:var(--amber)}.prompt .cm{color:#3d4258}.prompt-copy{border:1px solid var(--bd);background:var(--s3);color:var(--ts);cursor:pointer;font-size:9px;font-weight:600;font-family:var(--sans);border-radius:4px;padding:3px 8px;position:absolute;top:8px;right:10px}.prompt-copy:hover{border-color:var(--ac);color:var(--ac)}.gen-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;display:grid}.gen-img{aspect-ratio:4/5;border-radius:var(--r);background:var(--s3);border:1px solid var(--bd);color:var(--td);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10px;transition:all .15s;display:flex}.gen-img:hover{border-color:var(--ac)}.gen-img.sel{border:2px solid var(--green)}.gen-img-icon{opacity:.3;font-size:20px}.tabs{background:var(--s2);border-radius:8px;gap:2px;margin-bottom:16px;padding:3px;display:flex}.tab{text-align:center;color:var(--ts);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:7px 0;font-size:12px;font-weight:600;transition:all .12s}.tab.active{background:var(--s1);color:var(--t);box-shadow:0 1px 3px #0003}.tab:hover:not(.active){color:var(--t)}.tag{border-radius:3px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-block}.nav-bottom{border-top:1px solid var(--bd);justify-content:space-between;margin-top:20px;padding:20px 0;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--s1);border:1px solid var(--bd);border-radius:14px;width:560px;max-width:90vw;max-height:85vh;padding:24px 28px;overflow-y:auto}.modal-title{justify-content:space-between;align-items:center;margin-bottom:16px;font-size:18px;font-weight:800;display:flex}.modal-close{background:var(--s3);width:28px;height:28px;color:var(--ts);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:14px;display:flex}.modal-close:hover{background:var(--s4);color:var(--t)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade{animation:.3s fadeIn}@media (width<=768px){.app{grid-template-columns:1fr}.sb{display:none}.main{padding:16px}.concept-grid,.field-row{grid-template-columns:1fr}.gen-grid{grid-template-columns:repeat(2,1fr)}}
