:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{height:100svh;margin:0;overflow:hidden}#root{box-sizing:border-box;flex-direction:column;width:100%;height:100svh;display:flex}:root{--남색:#1c90fb;--남색-진하게:#1478d6;--남색-연하게:#eff7ff;--배경색:#f5f5f5;--테두리색:#e6e6e6;--본문색:#1d2129;--보조텍스트색:#8c8c8c;--카드-배경:#fff;--엠버코랄:#fc5356;--카드-그림자:0 1px 2px #14141e0d, 0 4px 14px #14141e0d;--그림자-raised:0 2px 4px #14141e14, 0 10px 24px #14141e1a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px}@media (prefers-color-scheme:dark){:root{--배경색:#17181c;--테두리색:#2c2e33;--본문색:#ecedee;--보조텍스트색:#9aa0a6;--카드-배경:#202126;--남색-연하게:#16324d;--카드-그림자:0 1px 2px #00000040, 0 4px 14px #0003;--그림자-raised:0 2px 4px #00000059, 0 12px 28px #0000004d}}*{box-sizing:border-box}.app-shell{width:100%;height:100%;color:var(--본문색);background:var(--배경색);-webkit-font-smoothing:antialiased;flex-direction:column;font-family:Pretendard,Segoe UI,Malgun Gothic,system-ui,sans-serif;display:flex}.app-body{flex:1;min-height:0;display:flex;overflow:hidden}.main-pane{flex:1;min-width:0;height:100%}.main-pane-scroll{overflow:hidden auto}.chat-panel{flex-direction:column;min-width:0;height:100%;transition:width .2s;display:flex;position:relative}.chat-panel-wide{flex:1}.chat-panel-narrow{border-left:1px solid var(--테두리색);flex-shrink:0;width:380px}.chat-panel-collapsed{border-left:1px solid var(--테두리색);flex-shrink:0;width:32px}.chat-panel-toggle{border:1px solid var(--테두리색);background:var(--카드-배경);width:24px;height:24px;color:var(--보조텍스트색);cursor:pointer;z-index:2;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;left:4px}.chat-panel-toggle:hover{background:var(--배경색);color:var(--본문색)}.chat-panel-collapsed .chat-panel-toggle svg{transform:rotate(180deg)}.chat-panel-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chat-panel-narrow .chat-panel-body{padding-top:32px}.chat-panel-body-hidden{display:none}@media (width<=900px){.chat-panel-narrow,.chat-panel-collapsed{display:none}}.top-nav{background:var(--카드-배경);box-shadow:var(--카드-그림자);z-index:3;flex-shrink:0;align-items:center;gap:24px;padding:12px 24px;display:flex;position:relative}.top-nav-title{white-space:nowrap;color:var(--남색-진하게);font-size:15px;font-weight:600}.top-nav-tabs{gap:4px;display:flex;overflow-x:auto}.top-nav-tab{color:var(--보조텍스트색);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:7px;padding:8px 16px;font-size:14px;transition:background .15s,color .15s;display:inline-flex}.top-nav-tab:hover{background:var(--배경색);color:var(--본문색)}.top-nav-tab-active{background:var(--남색-연하게);color:var(--남색-진하게);font-weight:600}.top-nav-account{color:var(--보조텍스트색);white-space:nowrap;align-items:center;gap:10px;margin-left:auto;font-size:13px;display:flex}.page{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.page-loading{color:var(--보조텍스트색);padding:24px}.page-title{margin:0;font-size:18px}.alert{border-radius:8px;padding:10px 14px;font-size:14px}.alert-success{color:#147a52;background:#e6f9f0}.alert-warning{color:#8a5a12;background:#fff1d6}.alert-info{background:var(--남색-연하게);color:var(--남색-진하게)}.metric-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.metric-row-5{grid-template-columns:repeat(5,1fr)}.metric-card{background:var(--카드-배경);box-shadow:var(--카드-그림자);border-radius:var(--radius-lg);align-items:center;gap:12px;padding:14px 16px;transition:box-shadow .15s,transform .15s;display:flex}.metric-card:hover{box-shadow:var(--그림자-raised);transform:translateY(-1px)}.metric-icon{border-radius:var(--radius-md);background:var(--남색-연하게);width:34px;height:34px;color:var(--남색-진하게);flex-shrink:0;justify-content:center;align-items:center;display:flex}.metric-label{color:var(--보조텍스트색);margin:0 0 4px;font-size:12px}.metric-value{margin:0;font-size:20px;font-weight:600}.metric-value-muted{color:var(--보조텍스트색);font-weight:500}.chart-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.chart-box{background:var(--카드-배경);box-shadow:var(--카드-그림자);border-radius:var(--radius-lg);flex-direction:column;height:320px;padding:12px 8px 8px;transition:box-shadow .15s;display:flex}.chart-title{color:var(--본문색);flex-shrink:0;margin:0 0 4px 4px;font-size:13px;font-weight:600}.chart-box:hover{box-shadow:var(--그림자-raised)}.chart-box-full{grid-column:1/-1;width:100%;height:auto;min-height:280px}.table-toolbar{justify-content:space-between;align-items:center;display:flex}.table-toolbar-actions{gap:8px;display:flex}.table-wrap{background:var(--카드-배경);box-shadow:var(--카드-그림자);border-radius:14px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--테두리색);padding:8px 12px}.data-table th{z-index:1;background:var(--배경색);color:var(--보조텍스트색);border-bottom:2px solid var(--테두리색);font-size:12px;font-weight:600;position:sticky;top:0}.data-table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--배경색) 45%, transparent)}.data-table tbody tr:hover{background:var(--배경색)}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.editable-table td{padding:4px 6px}.editable-table input,.editable-table select{width:auto;min-width:64px;padding:5px 8px;font-size:13px}.editable-table input[type=number]{width:90px}.editable-table input[type=date]{width:130px}.editable-table td:nth-child(2) input,.editable-table td:nth-child(3) input{width:140px}.editable-table input:focus,.editable-table select:focus{background:var(--남색-연하게)}.metric-card>*+*{margin-top:10px}.row-delayed{background:#fc535614}.status-badge{border:1px solid color-mix(in srgb, currentColor 35%, transparent);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.radio-row{gap:16px;display:flex}.radio-label{cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.divider{border:none;border-top:1px solid var(--테두리색);margin:4px 0}@media (width<=900px){.chart-row{grid-template-columns:1fr}.metric-row{grid-template-columns:repeat(2,1fr)}}.login-page{background:var(--배경색);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.login-card{background:var(--카드-배경);width:320px;box-shadow:var(--카드-그림자);border-radius:18px;padding:32px}.login-card h2{color:var(--본문색);margin:0 0 16px;font-size:20px}.login-card form{flex-direction:column;gap:8px;display:flex}.btn{cursor:pointer;border:none;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;transition:background .15s,opacity .15s,box-shadow .15s}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--남색);color:#fff}.btn-primary:hover:not(:disabled){background:var(--남색-진하게)}.btn-secondary{background:var(--배경색);color:var(--본문색)}.btn-secondary:hover:not(:disabled){background:var(--테두리색)}.btn-block{width:100%}.text-input{border:1px solid var(--테두리색);background:var(--카드-배경);width:100%;color:var(--본문색);border-radius:10px;padding:9px 12px;font-size:14px}.text-input:focus{outline:2px solid var(--남색);outline-offset:-1px}.sidebar{background:var(--배경색);flex-direction:column;flex-shrink:0;gap:8px;width:280px;padding:14px 12px;display:flex;overflow:hidden}.sidebar-caption{color:var(--보조텍스트색);margin:4px 0;font-size:13px}.sidebar-action-btn{justify-content:center;align-items:center;gap:8px;display:flex}.search-input-wrap{color:var(--보조텍스트색);align-items:center;display:flex;position:relative}.search-input-wrap svg{pointer-events:none;position:absolute;left:12px}.search-input-wrap .search-input{padding-left:34px}.project-popover-wrap{position:relative}.project-popover{z-index:10;background:var(--카드-배경);transform-origin:top;border-radius:12px;flex-direction:column;gap:8px;padding:10px;animation:.14s ease-out project-popover-in;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #281e1429}@keyframes project-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.project-candidate-list{border-top:1px solid var(--테두리색);flex-direction:column;gap:2px;max-height:240px;padding-top:6px;display:flex;overflow-y:auto}.project-candidate-row{text-align:left;background:0 0;border-radius:6px}.project-candidate-row-active{background:var(--남색-연하게)}.search-input{margin-top:4px}.conv-list{flex-direction:column;flex:1;gap:2px;margin-top:4px;display:flex;overflow-y:auto}.conv-group{margin-bottom:6px}.conv-group-label{color:var(--보조텍스트색);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;margin:6px 4px 2px;font-size:12px;display:flex;overflow:hidden}.conv-row{border-radius:8px;align-items:center;gap:4px;display:flex}.conv-row:hover{background:var(--배경색)}.conv-row-active{background:var(--남색-연하게)}.conv-row-title{text-align:left;color:var(--본문색);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:1;padding:8px;font-size:14px;overflow:hidden}.conv-row-delete{cursor:pointer;opacity:0;background:0 0;border:none;border-radius:6px;padding:6px;font-size:13px;transition:opacity .15s,background .15s}.conv-row:hover .conv-row-delete,.conv-row-active .conv-row-delete,.conv-row-delete:focus-visible{opacity:.6}.conv-row .conv-row-delete:hover{opacity:1;background:var(--테두리색)}.conv-row-edit-input{min-width:0;color:var(--본문색);background:var(--카드-배경);border:1px solid var(--남색);border-radius:6px;outline:none;flex:1;margin:3px 0 3px 4px;padding:5px 8px;font-family:inherit;font-size:14px}.delete-confirm{border-top:1px solid var(--테두리색);padding-top:8px}.chat-main{background:var(--카드-배경);flex-direction:column;flex:1;min-width:0;height:100%;display:flex;position:relative}.chat-drop-overlay{z-index:20;border:2px dashed var(--남색);background:color-mix(in srgb, var(--카드-배경) 88%, var(--남색));color:var(--남색-진하게);pointer-events:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;inset:8px}.chat-drop-overlay p{margin:0;font-size:15px;font-weight:600}.chat-drop-overlay span{color:var(--보조텍스트색);font-size:12px}.scroll-bottom-btn{z-index:10;border:1px solid var(--테두리색);background:var(--카드-배경);width:34px;height:34px;color:var(--본문색);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;animation:.15s bubble-in;display:inline-flex;position:absolute;top:-40px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.scroll-bottom-btn:hover{background:var(--배경색)}.chat-project-caption{color:var(--보조텍스트색);align-items:center;gap:6px;padding:10px 20px 0;font-size:13px;display:flex}.chat-messages{flex:1;padding:16px 20px;overflow-y:auto}.chat-column{flex-direction:column;width:100%;max-width:768px;margin:0 auto;display:flex}.chat-messages .chat-column{gap:12px;min-height:100%}.chat-input-row .chat-column{gap:8px}.chat-hero{text-align:center;margin:auto 0;padding:40px 0}.chat-hero-greeting{color:var(--본문색);margin:0 0 6px;font-size:28px;font-weight:600}.chat-hero-sub{color:var(--보조텍스트색);margin:0 0 28px;font-size:15px}.chat-hero-prompts{grid-template-columns:repeat(2,1fr);gap:10px;max-width:560px;margin:0 auto;display:grid}.chat-hero-prompt-card{text-align:left;background:var(--카드-배경);border:1px solid var(--테두리색);border-radius:var(--radius-md);color:var(--본문색);cursor:pointer;padding:14px 16px;font-size:13px;transition:box-shadow .15s,transform .15s}.chat-hero-prompt-card:hover{box-shadow:var(--카드-그림자);transform:translateY(-1px)}.chat-hero-caption{max-width:480px;color:var(--보조텍스트색);margin:28px auto 0;font-size:12px}.bubble-row{width:100%;display:flex}.bubble-row-user{flex-direction:column;align-items:flex-end;gap:4px}.user-msg-actions{opacity:0;transition:opacity .15s;display:flex}.bubble-row-user:hover .user-msg-actions,.bubble-row-user:focus-within .user-msg-actions{opacity:1}.user-msg-edit{flex-direction:column;gap:8px;width:100%;display:flex}.user-msg-edit-input{resize:none;width:100%;margin:0;font-family:inherit;font-size:14px;line-height:1.6}.user-msg-edit-actions{justify-content:flex-end;gap:8px;display:flex}.bubble{border-radius:18px;width:fit-content;max-width:72%;padding:11px 16px;font-size:14px;line-height:1.6}.bubble-row-user .bubble{background:var(--테두리색);color:var(--본문색)}.bubble-row-user .bubble p{color:var(--본문색);margin:0}.bubble p{margin:0 0 8px}.bubble p:last-child{margin-bottom:0}.bubble table{border-collapse:collapse;font-size:13px}.bubble th,.bubble td{border:1px solid var(--보조텍스트색);padding:4px 8px}.assistant-text{max-width:92%;color:var(--본문색);font-size:15px;line-height:1.75}.assistant-text p{margin:0 0 10px}.assistant-text p:last-child{margin-bottom:0}.assistant-text table{border-collapse:separate;border-spacing:0;border:1px solid var(--테두리색);border-radius:8px;max-width:100%;margin-bottom:12px;font-size:13.5px;display:block;overflow:auto hidden}.assistant-text th,.assistant-text td{border:none;border-bottom:1px solid var(--테두리색);text-align:left;padding:7px 12px}.assistant-text tr:last-child td{border-bottom:none}.assistant-text th{background:var(--배경색);font-weight:600}.assistant-text ul,.assistant-text ol{margin:0 0 10px;padding-left:22px}.assistant-text li{margin-bottom:4px}.assistant-text li:last-child{margin-bottom:0}.assistant-text li>ul,.assistant-text li>ol{margin-top:4px}.assistant-text li::marker{color:var(--보조텍스트색)}.assistant-text code{background:var(--배경색);border-radius:4px;padding:1px 5px;font-size:13px}.code-block-wrap{position:relative}.code-lang-label{color:var(--보조텍스트색);text-transform:lowercase;pointer-events:none;font-size:12px;position:absolute;top:8px;left:12px}.code-lang-label+.code-copy-btn+pre{padding-top:32px}.code-copy-btn{border-radius:var(--radius-sm);border:1px solid var(--테두리색);background:var(--카드-배경);color:var(--보조텍스트색);cursor:pointer;opacity:0;align-items:center;gap:4px;padding:4px 8px;font-size:12px;transition:opacity .15s,background .15s,color .15s;display:inline-flex;position:absolute;top:8px;right:8px}.code-block-wrap:hover .code-copy-btn,.code-copy-btn:focus-visible{opacity:1}.mermaid-diagram{background:var(--카드-배경);border:1px solid var(--테두리색);border-radius:var(--radius-sm);justify-content:center;margin:8px 0;padding:12px 0;display:flex;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}.code-copy-btn:hover{background:var(--배경색);color:var(--본문색)}.assistant-actions{opacity:0;margin-top:6px;transition:opacity .15s}.assistant-text:hover .assistant-actions,.assistant-text:focus-within .assistant-actions{opacity:1}.assistant-action-btn{border-radius:var(--radius-sm);color:var(--보조텍스트색);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:4px 8px;font-size:12px;display:inline-flex}.assistant-action-btn:hover{background:var(--배경색);color:var(--본문색)}.assistant-actions-rated{opacity:1!important}.feedback-btn-up-active{color:var(--남색);background:var(--남색-연하게)}.feedback-btn-down-active{color:#c0392b;background:#c0392b1f}.assistant-text pre{background:var(--배경색);border:1px solid var(--테두리색);border-radius:10px;margin:0 0 10px;padding:12px 14px;overflow-x:auto}.assistant-text pre code{white-space:pre;background:0 0;border-radius:0;padding:0;font-size:13px;line-height:1.55}.assistant-text a{color:var(--남색-진하게);text-underline-offset:2px;text-decoration:underline}.assistant-text a:hover{opacity:.8}.assistant-text hr{border:none;border-top:1px solid var(--테두리색);margin:14px 0}.assistant-text h1,.assistant-text h2,.assistant-text h3,.assistant-text h4{margin:14px 0 6px;font-weight:700;line-height:1.4}.assistant-text h1:first-child,.assistant-text h2:first-child,.assistant-text h3:first-child,.assistant-text h4:first-child{margin-top:0}.assistant-text h1{font-size:18px}.assistant-text h2{font-size:16.5px}.assistant-text h3{font-size:15.5px}.assistant-text h4{color:var(--보조텍스트색);font-size:15px}.assistant-text blockquote{border-left:3px solid var(--남색);background:var(--남색-연하게);color:var(--보조텍스트색);border-radius:0 6px 6px 0;margin:0 0 10px;padding:6px 14px}.assistant-text blockquote p{margin:0}.typing-indicator{color:var(--보조텍스트색);font-size:14px}.typing-indicator-status{align-items:center;gap:8px;margin:0 0 8px;font-size:13px;display:flex}.typing-dot{background:var(--남색);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1s ease-in-out infinite typing-pulse}@keyframes typing-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.status-shimmer{background:linear-gradient(90deg, var(--보조텍스트색) 40%, var(--본문색) 50%, var(--보조텍스트색) 60%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:1.8s linear infinite status-shimmer-sweep}@keyframes status-shimmer-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.stream-cursor{background:var(--본문색);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite cursor-blink;display:inline-block}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}}.bubble-row-user .bubble{animation:.2s bubble-in}@keyframes cursor-blink{50%{opacity:0}}.proposal-card{background:var(--카드-배경);width:fit-content;min-width:280px;max-width:75%;box-shadow:var(--카드-그림자);border-radius:18px;padding:16px}.proposal-caption{color:var(--보조텍스트색);margin:0 0 8px;font-size:13px}.proposal-warning{color:var(--엠버코랄);margin:0 0 8px;font-size:13px}.proposal-error{color:var(--엠버코랄);font-size:14px}.proposal-change-row{margin:4px 0;font-size:13px}.proposal-relation-row{margin:6px 0;font-size:13px}.proposal-empty{color:var(--보조텍스트색);font-size:13px}.proposal-table-wrap{margin-bottom:8px;overflow-x:auto}.proposal-table{border-collapse:collapse;width:100%;font-size:12px}.proposal-table th,.proposal-table td{border:1px solid var(--테두리색);text-align:left;white-space:nowrap;padding:4px 8px}.proposal-table th{background:var(--배경색)}.proposal-actions{gap:8px;margin-top:8px;display:flex}.question-options{flex-direction:column;gap:6px;display:flex}.question-option-btn{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;width:100%;display:flex}.question-option-label{font-size:13px;font-weight:600}.question-option-desc{color:var(--보조텍스트색);font-size:12px}.chat-input-row{padding:12px 20px 20px;position:relative}.attached-file-chip{background:var(--남색-연하게);color:var(--남색-진하게);border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:4px 10px;font-size:13px;display:inline-flex}.attached-file-chip button{cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;display:inline-flex}.chat-input-controls{background:var(--카드-배경);border:1px solid var(--테두리색);box-shadow:var(--카드-그림자);border-radius:26px;align-items:flex-end;gap:6px;padding:6px 6px 6px 18px;display:flex}.chat-text-input.text-input{resize:none;background:0 0;border:none;flex:1;max-height:200px;padding:9px 4px;font-family:inherit;line-height:1.5;overflow-y:auto}.chat-text-input.text-input:focus{outline:none}.generated-file-chip{background:var(--카드-배경);width:fit-content;box-shadow:var(--카드-그림자);color:var(--남색-진하게);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.generated-file-chip:hover{background:var(--남색-연하게)}.generated-file-actions{flex-wrap:wrap;gap:8px;display:flex}.generated-file-download-btn{cursor:pointer;border:none;font-family:inherit}.mic-btn-active{animation:1.4s ease-in-out infinite mic-pulse;background:var(--엠버코랄)!important;color:#fff!important}@keyframes mic-pulse{0%,to{box-shadow:0 0 #fc535666}50%{box-shadow:0 0 0 6px #fc535600}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(100deg, var(--배경색) 30%, color-mix(in srgb, var(--배경색) 55%, var(--카드-배경) 45%) 50%, var(--배경색) 70%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.skeleton-row{flex-direction:column;gap:10px;display:flex}.skeleton-line{width:100%;height:14px}.skeleton-card{border-radius:var(--radius-lg);height:84px}.skeleton-chart{border-radius:var(--radius-lg);height:320px}.model-toggle-btn{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;height:38px;padding:0 12px;font-size:13px;display:inline-flex}.model-toggle-fast{background:var(--남색-연하게)!important;color:var(--남색-진하게)!important}.attach-btn,.send-btn{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}@media (width<=720px){.sidebar{z-index:20;height:100%;position:absolute}}.segmented{background:var(--배경색);border:1px solid var(--테두리색);border-radius:8px;gap:2px;width:fit-content;padding:3px;display:inline-flex}.segmented-item{color:var(--보조텍스트색);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px}.segmented-item-active{background:var(--카드-배경);color:var(--본문색);font-weight:600;box-shadow:0 1px 2px #00000014}.ai-diag-layer-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.ai-diag-layer-card{background:var(--카드-배경);box-shadow:var(--카드-그림자);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px;display:flex}.ai-diag-layer-head{align-items:flex-start;gap:10px;display:flex}.ai-diag-layer-code{background:var(--남색-연하게);color:var(--남색-진하게);border-radius:var(--radius-sm);flex-shrink:0;padding:3px 7px;font-size:12px;font-weight:700}.ai-diag-layer-name{color:var(--본문색);margin:0;font-size:14px;font-weight:600}.ai-diag-layer-desc{color:var(--보조텍스트색);margin:2px 0 0;font-size:12px}.ai-diag-layer-criteria{color:var(--본문색);background:var(--배경색);border-radius:var(--radius-sm);margin:0;padding:8px 10px;font-size:12px}.ai-diag-layer-toggle{color:var(--보조텍스트색);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:12px;display:flex}.ai-diag-ai-points{color:var(--보조텍스트색);flex-direction:column;gap:3px;margin:-4px 0 0;padding-left:18px;font-size:12px;display:flex}.timeline-legend{flex-wrap:wrap;gap:14px;display:flex}.timeline-legend-item{color:var(--보조텍스트색);align-items:center;gap:6px;font-size:13px;display:inline-flex}.timeline-legend-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.timeline-card{--tl-label-w:260px;background:var(--카드-배경);box-shadow:var(--카드-그림자);border-radius:14px;padding:20px;overflow-x:auto}.timeline-header{margin-bottom:12px;display:flex}.timeline-label-spacer{width:var(--tl-label-w);flex-shrink:0}.timeline-header-track{flex:1;min-width:480px;height:18px;position:relative}.timeline-month-label{color:var(--보조텍스트색);white-space:nowrap;font-size:11px;position:absolute;transform:translate(-50%)}.timeline-body{flex-direction:column;gap:10px;display:flex;position:relative}.timeline-overlay{top:0;bottom:0;left:var(--tl-label-w);pointer-events:none;z-index:0;min-width:480px;position:absolute;right:0}.timeline-gridline{background:var(--테두리색);width:1px;position:absolute;top:0;bottom:0}.timeline-today-line{border-left:1px dashed var(--엠버코랄);position:absolute;top:0;bottom:0}.timeline-today-label{color:var(--엠버코랄);white-space:nowrap;font-size:11px;position:absolute;top:-18px;left:4px}.timeline-row{z-index:1;border-radius:6px;align-items:center;min-height:60px;display:flex;position:relative}.timeline-row:hover{background:var(--배경색)}.timeline-row-delayed .timeline-label{color:var(--엠버코랄)}.timeline-label{width:var(--tl-label-w);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;padding-right:14px;font-size:14px;overflow:hidden}.timeline-track{flex:1;min-width:480px;height:38px;position:relative}.timeline-bar{border-radius:9px;align-items:center;min-width:6px;height:38px;display:flex;position:absolute;top:0;overflow:hidden}.timeline-bar-fill{border-radius:9px;height:100%;position:absolute;top:0;left:0}.timeline-bar-pct{color:var(--본문색);white-space:nowrap;margin-left:8px;font-size:12px;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.timeline-marker{border:1.5px solid var(--카드-배경);z-index:2;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.timeline-tooltip{background:var(--본문색);color:#fff;white-space:nowrap;z-index:5;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.5;position:absolute;top:-6px;transform:translateY(-100%);box-shadow:0 4px 12px #0003}.ontology-graph-box{height:auto;padding:0;overflow:hidden}.ontology-graph-container{width:100%}.ontology-side-panel{flex-direction:column;gap:8px;display:flex}.ontology-filter-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 4px;font-size:13px;display:flex}.ontology-reset-box{background:var(--카드-배경);box-shadow:var(--카드-그림자);border-radius:14px;padding:14px 16px}.ontology-reset-box summary{cursor:pointer;font-size:14px;font-weight:600}.notes-page-wrap{flex-direction:column;width:100%;height:100%;display:flex}.notes-page-header{justify-content:space-between;align-items:center;padding:14px 20px 0;display:flex}.notes-graph-wrap{flex:1;min-height:0;overflow-y:auto}.notes-page{flex:1;width:100%;min-height:0;display:flex}.notes-sidebar{background:var(--배경색);flex-direction:column;flex-shrink:0;gap:8px;width:280px;padding:14px 12px;display:flex}.notes-editor{background:var(--카드-배경);flex-direction:column;flex:1;gap:12px;min-width:0;padding:20px 24px;display:flex;overflow-y:auto}.notes-editor-header{align-items:center;gap:8px;display:flex}.notes-title-input{flex:1;padding:8px 10px;font-size:18px;font-weight:600}.notes-highlight-editor{resize:vertical;border-radius:10px;flex:1;min-height:320px;position:relative;overflow:hidden}.notes-highlight-layer{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;border-radius:10px;margin:0;padding:9px 12px;font-family:Pretendard,Segoe UI,Malgun Gothic,system-ui,sans-serif;font-size:14px;line-height:1.6;position:absolute;inset:0}.notes-highlight-backdrop{color:var(--본문색);background:var(--카드-배경);border-color:var(--테두리색);pointer-events:none;overflow:hidden}.notes-highlight-input{border-color:var(--테두리색);color:#0000;caret-color:var(--본문색);resize:none;background:0 0;overflow:auto}.notes-highlight-input:focus{outline:2px solid var(--남색);outline-offset:-1px}.notes-highlight-input::placeholder{color:var(--보조텍스트색)}.hl-token{background:var(--남색-연하게);color:var(--남색-진하게);border-radius:3px}.hl-heading{color:var(--남색-진하게);font-weight:700}.notes-highlight-editor-dragover{outline:2px dashed var(--남색);outline-offset:-2px}.notes-format-toolbar{flex-wrap:wrap;gap:4px;display:flex}.notes-format-btn{min-width:30px;padding:4px 8px;font-size:13px;line-height:1}.notes-hidden-file-input{display:none}.notes-toc-list{flex-direction:column;gap:4px;margin:8px 0 0;padding-left:0;list-style:none;display:flex}.notes-toc-item{color:var(--남색-진하게);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.notes-toolbar{gap:8px;display:flex}.notes-toolbar .btn-secondary{align-items:center;gap:6px;display:inline-flex}.notes-wiki-view{border:1px solid var(--테두리색);border-radius:10px;max-width:100%;padding:14px 16px}.notes-live-preview{flex-direction:column;gap:6px;display:flex}.notes-syntax-help{border:1px solid var(--테두리색);color:var(--보조텍스트색);border-radius:10px;padding:8px 10px;font-size:12px}.notes-syntax-help summary{cursor:pointer;color:var(--본문색);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.notes-syntax-help ul{flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px;display:flex}.notes-syntax-help code{background:var(--배경색);border-radius:4px;padding:1px 5px}.notes-organize-preview{width:auto;max-width:100%}.tag-chip-row{flex-wrap:wrap;gap:6px;padding:0 2px;display:flex}.tag-chip{border:1px solid var(--테두리색);color:var(--보조텍스트색);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:12px}.tag-chip-active{background:var(--남색-연하게);border-color:var(--남색);color:var(--남색-진하게)}.tag-chip-inline,.wikilink{color:var(--남색-진하게);border-bottom:1px dashed var(--남색);cursor:pointer;text-decoration:none}.tag-chip-inline{background:var(--남색-연하게);border-bottom:none;border-radius:999px;padding:1px 8px;font-size:.9em}.notes-meta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.notes-pin-toggle{align-items:center;gap:6px;font-size:13px;display:inline-flex}.notes-history-toggle{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.notes-history-box{border:1px solid var(--테두리색);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.notes-history-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.ontology-backlinks{border-top:1px solid var(--테두리색);padding-top:8px}.ontology-backlink-list{margin:4px 0 0;padding-left:18px;font-size:13px}.ontology-note-preview{border:1px solid var(--테두리색);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;display:flex}.ontology-note-preview p{white-space:pre-wrap;color:var(--보조텍스트색);margin:0}.notes-mini-graph-box{border:1px solid var(--테두리색);border-radius:10px;padding:8px 10px}@media (width<=720px){.notes-sidebar{z-index:20;height:100%;position:absolute}}.conv-group-head{justify-content:space-between;align-items:center;display:flex}.conv-group-add{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--보조텍스트색);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.conv-group-add:hover{background:var(--테두리색);color:var(--본문색)}.project-row{width:100%;color:var(--본문색);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 8px;font-size:14px;display:flex}.project-row:hover{background:var(--배경색)}.project-row-active{background:var(--남색-연하게)}.project-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-row svg,.project-row-count{color:var(--보조텍스트색);flex-shrink:0}.project-row-count{text-align:right;min-width:14px;font-size:12px}.project-more-btn,.project-empty-cta{color:var(--보조텍스트색);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:13px}.project-more-btn:hover,.project-empty-cta:hover{background:var(--배경색);color:var(--본문색)}.project-empty-cta{border:1px dashed var(--테두리색);width:100%}.search-result-row{width:100%;color:var(--본문색);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:2px;padding:7px 8px;display:flex}.search-result-row:hover{background:var(--배경색)}.search-result-title-row{align-items:center;gap:6px;min-width:0;display:flex}.search-result-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.search-result-snippet{text-overflow:ellipsis;white-space:nowrap;color:var(--보조텍스트색);font-size:12px;overflow:hidden}.conv-row-project-tag{background:var(--테두리색);color:var(--보조텍스트색);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px}.chat-project-link{color:inherit;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.chat-project-link:hover{color:var(--본문색);text-decoration-color:currentColor}.modal-backdrop{z-index:100;background:#14141e73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--카드-배경);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--그림자-raised);flex-direction:column;gap:14px;padding:22px;display:flex}.modal-title{margin:0;font-size:18px}.modal-field{color:var(--보조텍스트색);flex-direction:column;gap:6px;font-size:13px;display:flex}.modal-field .text-input{color:var(--본문색);margin:0;font-family:inherit;font-size:14px}.modal-field textarea.text-input{resize:vertical}.modal-field small{font-size:12px;line-height:1.4}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.project-page{background:var(--카드-배경);flex:1;min-height:0;padding:24px 28px 40px;overflow-y:auto}.project-page-inner{max-width:1040px;margin:0 auto}.project-back-btn{border-radius:var(--radius-sm);color:var(--보조텍스트색);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:14px;padding:4px 8px 4px 4px;font-size:13px;display:inline-flex}.project-back-btn:hover{color:var(--본문색);background:var(--배경색)}.project-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.project-title{align-items:center;gap:8px;margin:0 0 6px;font-size:24px;font-weight:600;display:flex}.project-desc{color:var(--보조텍스트색);margin:0 0 6px;font-size:14px;line-height:1.5}.project-linked-business{background:var(--남색-연하게);color:var(--남색-진하게);border-radius:999px;align-items:center;gap:5px;margin:0;padding:2px 9px;font-size:12px;display:inline-flex}.project-header-actions{flex-shrink:0;gap:8px;display:flex}.project-header-actions .btn{align-items:center;gap:6px;display:inline-flex}.project-delete-confirm{border:1px solid var(--테두리색);border-radius:var(--radius-md);margin-bottom:16px;padding:12px 14px}.project-columns{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}@media (width<=900px){.project-columns{grid-template-columns:minmax(0,1fr)}}.project-composer{border:1px solid var(--테두리색);border-radius:var(--radius-lg);background:var(--카드-배경);box-shadow:var(--카드-그림자);align-items:flex-end;gap:8px;margin-bottom:26px;padding:10px 10px 10px 16px;display:flex}.project-composer:focus-within{border-color:var(--남색)}.project-composer-input{resize:none;min-width:0;color:var(--본문색);background:0 0;border:none;outline:none;flex:1;padding:6px 0;font-family:inherit;font-size:15px;line-height:1.5}.project-section-title{margin:0 0 10px;font-size:14px;font-weight:600}.project-conv-list{border:1px solid var(--테두리색);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.project-conv-row{border:none;border-bottom:1px solid var(--테두리색);background:var(--카드-배경);color:var(--본문색);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.project-conv-row:last-child{border-bottom:none}.project-conv-row:hover{background:var(--배경색)}.project-conv-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-conv-date{color:var(--보조텍스트색);flex-shrink:0;font-size:12px}.project-side{flex-direction:column;gap:16px;display:flex}.project-panel{border:1px solid var(--테두리색);border-radius:var(--radius-md);background:var(--카드-배경);padding:14px 16px}.project-panel-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.project-panel-head .project-section-title{margin:0}.project-panel-btn{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--보조텍스트색);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.project-panel-btn:hover:not(:disabled){background:var(--배경색);color:var(--본문색)}.project-instruction-text{white-space:pre-wrap;color:var(--본문색);max-height:220px;margin:0;font-size:13px;line-height:1.6;overflow-y:auto}.project-instruction-input{resize:vertical;width:100%;margin:0 0 8px;font-family:inherit;font-size:13px;line-height:1.5}.project-panel-actions{gap:8px;display:flex}.project-knowledge-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.project-knowledge-row{color:var(--보조텍스트색);align-items:center;gap:8px;padding:4px 0 4px 2px;font-size:13px;display:flex}.project-knowledge-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--본문색);flex:1;overflow:hidden}.project-knowledge-size{flex-shrink:0;font-size:11px}.project-capacity{color:var(--보조텍스트색);flex-direction:column;gap:4px;margin-top:12px;font-size:12px;display:flex}.project-capacity-bar{background:var(--테두리색);border-radius:999px;height:4px;overflow:hidden}.project-capacity-fill{background:var(--남색);border-radius:999px;height:100%}.project-capacity-fill-full{background:#d9534f}
