:root{--bg:#11100f;--surface:#181715;--surface2:#23211e;--surface3:#2c2925;--border:#38342e;--border-light:#504a41;--accent:#2f7d62;--accent2:#5f7ee8;--green:#2ecc7a;--amber:#d8a444;--red:#e35d5d;--text:#f2efe8;--text-dim:#b5aea2;--text-muted:#756e63;--font:'Noto Sans KR',sans-serif;--mono:'JetBrains Mono',monospace;--aron-composer-inset:156px;--aron-content-width:860px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px}
.aron-page{height:100vh;overflow:hidden}
.topnav{height:52px}
.topnav-btn{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);padding:4px 10px;font-size:11px;cursor:pointer;font-family:var(--font)}

.ai-shell{height:calc(100vh - 92px);display:grid;grid-template-columns:280px minmax(0,1fr);min-height:0;background:var(--bg);transition:grid-template-columns .2s ease}
.ai-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
.ai-sidebar{background:#141311;border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0;min-height:0}
.ai-shell.sidebar-collapsed .ai-sidebar{width:0;min-width:0;overflow:hidden;border-right:none;pointer-events:none}
.side-head{height:74px;display:flex;align-items:center;justify-content:space-between;padding:14px 14px 12px;border-bottom:1px solid var(--border)}
.side-brand{display:flex;align-items:center;gap:10px;min-width:0}
.aron-logo{width:40px;height:40px;object-fit:contain;display:block;flex:0 0 auto}
.side-head h1{font-size:17px;margin:0 0 2px;letter-spacing:.2px}.side-head p{margin:0;color:var(--text-muted);font-size:12px}
.side-actions{display:flex;align-items:center;gap:8px}
.icon-btn{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font-size:22px;line-height:1;cursor:pointer}
.icon-btn:hover{border-color:var(--border-light);background:var(--surface3)}
.sidebar-toggle-btn{font-size:23px;font-weight:300}
.sidebar-open-btn{display:none;width:40px;height:40px;margin-right:12px;padding:0;font-size:0;border:none;background:transparent;align-items:center;justify-content:center}
.sidebar-open-btn:hover{background:transparent}
.sidebar-open-btn img{width:40px;height:40px;object-fit:contain;display:block}
.ai-shell.sidebar-collapsed .sidebar-open-btn{display:inline-grid;place-items:center}
.conversation-list{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:10px 8px 18px;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:rgba(117,110,99,.75) transparent;overscroll-behavior:contain}
.conversation-list::-webkit-scrollbar{width:8px}
.conversation-list::-webkit-scrollbar-track{background:transparent}
.conversation-list::-webkit-scrollbar-thumb{background:rgba(117,110,99,.55);border-radius:999px}
.conversation-list:hover::-webkit-scrollbar-thumb{background:rgba(181,174,162,.58)}
.conv-item{border:1px solid transparent;background:transparent;border-radius:8px;padding:10px 8px 10px 11px;cursor:pointer;color:var(--text-dim);display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:6px}
.conv-item:hover,.conv-item.active{border-color:var(--border);background:var(--surface2);color:var(--text)}
.conv-main{min-width:0}
.conv-title{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-meta{font-size:10px;color:var(--text-muted);margin-top:4px}
.conv-delete{width:28px;height:28px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;opacity:.38}
.conv-item:hover .conv-delete,.conv-item.active .conv-delete{opacity:1}
.conv-delete:hover{border-color:rgba(227,93,93,.42);background:rgba(227,93,93,.13);color:#ffb4b4}
.conv-empty{padding:14px 11px;color:var(--text-muted);font-size:12px}
.chat-panel{display:grid;grid-template-rows:74px minmax(0,1fr) auto;min-width:0;min-height:0;position:relative;overflow:hidden}
.chat-head{display:flex;align-items:center;justify-content:flex-start;padding:14px 14px 12px;border-bottom:1px solid rgba(56,52,46,.55);background:rgba(17,16,15,.78);backdrop-filter:blur(12px)}
.chat-head h2{display:none}
.ghost-btn{border:1px solid var(--border);border-radius:8px;background:rgba(35,33,30,.76);color:var(--text-dim);padding:8px 11px;font-family:var(--font);font-size:12px;cursor:pointer;white-space:nowrap}
.ghost-btn:hover{border-color:var(--border-light);color:var(--text)}

.messages{overflow:auto;padding:30px 18px calc(var(--aron-composer-inset) + 72px);display:flex;flex-direction:column;gap:22px;scroll-behavior:smooth;scroll-padding-bottom:calc(var(--aron-composer-inset) + 72px);overscroll-behavior:contain}
.empty{min-height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:32px 0}
.welcome-panel{width:min(760px,100%);display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:0}
.brand-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2f7d62,#5f7ee8);font-weight:800;font-size:22px;color:white;box-shadow:0 14px 38px rgba(47,125,98,.25)}
.welcome-panel h1{margin:0;font-size:32px;font-weight:300;letter-spacing:0;color:rgba(242,239,232,.82)}
.welcome-panel p{margin:0;max-width:620px;color:var(--text-dim);font-size:14px;line-height:1.65}
.msg{width:min(var(--aron-content-width),100%);line-height:1.72;white-space:pre-wrap;scroll-margin-bottom:calc(var(--aron-composer-inset) + 72px)}
.aron-page .msg.user{align-self:center;display:flex;justify-content:flex-end;font-size:0;color:transparent}
.aron-page .msg.user::before{content:attr(data-content);max-width:min(680px,92%);background:#f2efe8;color:#1c1a17;border-radius:8px;padding:12px 14px;white-space:pre-wrap;line-height:1.6;box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:14px}
.aron-page .msg.assistant{align-self:center;background:transparent;border:none;padding:0;white-space:normal;color:var(--text)}
.typing{display:inline-flex;align-items:center;gap:12px;color:var(--text-dim);border:1px solid var(--border);border-radius:8px;background:rgba(35,33,30,.72);padding:11px 13px}
.typing::before{content:'';width:36px;min-width:36px;height:8px;border-radius:50%;background:radial-gradient(circle at 4px 50%,var(--green) 0 4px,transparent 4.5px),radial-gradient(circle at 18px 50%,rgba(46,204,122,.55) 0 4px,transparent 4.5px),radial-gradient(circle at 32px 50%,rgba(46,204,122,.28) 0 4px,transparent 4.5px);animation:aronPulse 1.2s infinite ease-in-out}
@keyframes aronPulse{0%,100%{opacity:.45}50%{opacity:1}}

.answer-layout{display:block}
.answer-cards{display:flex;flex-direction:column;gap:4px}
.answer-card{padding:12px 0;border-top:1px solid rgba(80,74,65,.58);min-width:0}
.answer-card:first-child{border-top:none;padding-top:0}
.answer-card h3{margin:0 0 8px;font-size:14px;color:#fff7e8}
.answer-card p{margin:0 0 8px;color:var(--text);line-height:1.72}
.answer-card p:last-child{margin-bottom:0}
.answer-card ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px}
.answer-card li{color:#ebe7dc;line-height:1.68}
.answer-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;margin-left:4px;padding:4px 11px;border:1px solid rgba(185,199,255,.42);border-radius:8px;background:rgba(95,126,232,.14);color:#dbe4ff;text-decoration:none;font-size:12px;font-weight:700;line-height:1.35;vertical-align:middle}
.answer-link-button:hover{border-color:#dbe4ff;background:rgba(95,126,232,.24);color:#fff}
.answer-summary{padding:14px 16px;margin-bottom:4px;border:1px solid rgba(47,125,98,.36);border-radius:8px;background:rgba(47,125,98,.11)}
.answer-summary h3{color:#def8ec}
.answer-evidence h3,.answer-link h3{color:#dfe6ff}
.answer-official h3{color:#ccefd9}
.answer-report h3{color:#f3dfb5}
.answer-report .answer-body{line-height:1.86}
.answer-report ul{gap:9px;margin-bottom:16px}
.answer-report li{line-height:1.82}
.answer-numbered-title{font-weight:800;margin:18px 0 12px;color:#f2efe8}
.answer-card .answer-numbered-title:first-child{margin-top:0}
.answer-notice h3{color:#ffd3d3}
.answer-model{display:none}
.answer-model h3{color:var(--text-dim)}
.clarification-choice-wrap{display:flex;flex-direction:column;gap:9px;margin-top:12px}
.clarification-choice-title{color:var(--text-dim);font-size:12px;margin-bottom:2px}
.clarification-choice{width:100%;border:1px solid rgba(95,126,232,.34);border-radius:8px;background:rgba(95,126,232,.1);color:var(--text);padding:11px 12px;text-align:left;font-family:var(--font);cursor:pointer;display:flex;flex-direction:column;gap:5px;transition:border-color .15s,background .15s,transform .15s}
.clarification-choice:hover{border-color:rgba(185,199,255,.72);background:rgba(95,126,232,.2);transform:translateY(-1px)}
.clarification-choice span{font-weight:800;color:#f2efe8;font-size:13px}
.clarification-choice small{font-size:12px;line-height:1.5;color:var(--text-dim)}
.clarification-choice:disabled{opacity:.55;cursor:not-allowed}

.report-preview{margin-top:14px}
.report-paper{background:#f7f3ea;color:#252015;border:1px solid #d4c7aa;border-radius:8px;padding:16px;box-shadow:0 12px 30px rgba(0,0,0,.22);font-size:12px;line-height:1.55}
.report-kicker{font-size:10px;font-weight:700;color:#77684b;letter-spacing:.8px;text-transform:uppercase;margin-bottom:6px}
.report-paper h3{font-size:16px;margin:0 0 12px;color:#1f1b12;text-align:center;border-bottom:1px solid #d8ccb3;padding-bottom:8px}
.report-paper dl{margin:0;display:grid;gap:8px}.report-paper dt{font-weight:700;color:#5b4b2c}.report-paper dd{margin:0;color:#2f2a1f}.report-paper ul{margin:0;padding-left:16px}

.msg-tools{display:flex;gap:7px;margin-top:12px;flex-wrap:wrap}
.photo-evidence{width:min(860px,100%);margin-top:14px;padding-top:12px;border-top:1px solid rgba(80,74,65,.58)}
.photo-evidence-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:#f2efe8;font-size:14px;font-weight:800}
.photo-evidence-head span{color:var(--text-muted);font-size:11px;font-weight:700}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.photo-card{display:block;min-width:0;border:1px solid rgba(80,74,65,.76);border-radius:8px;background:rgba(35,33,30,.78);overflow:hidden;color:var(--text);text-decoration:none}
.photo-card:hover{border-color:rgba(185,199,255,.68);background:rgba(44,41,37,.94)}
.photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#181715}
.photo-card span{display:block;padding:8px 9px;color:var(--text-dim);font-size:12px;font-weight:700;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.citation-box{width:min(860px,100%);margin-top:12px;border-top:1px solid rgba(80,74,65,.58);padding-top:10px;color:var(--text-dim);font-size:12px;white-space:normal}
.citation-box summary{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:5px 12px;border:1px solid rgba(80,74,65,.78);border-radius:8px;background:rgba(35,33,30,.76);color:var(--text);font-weight:800;cursor:pointer;list-style:none;user-select:none}
.citation-box summary::-webkit-details-marker{display:none}
.citation-box summary::after{content:'펼치기';font-size:11px;font-weight:700;color:var(--text-muted)}
.citation-box[open] summary::after{content:'접기'}
.citation-box summary span{color:var(--text-muted);font-weight:700;font-size:11px}
.citation-box summary:hover{border-color:var(--border-light);background:rgba(44,41,37,.92)}
.citation-list{margin-top:10px}
.citation-item{padding:8px 0;border-bottom:1px solid rgba(56,52,46,.7)}
.citation-item:last-child{border-bottom:none}
.citation-item a{color:#b9c7ff;text-decoration:none}.citation-item a:hover{text-decoration:underline}

.streaming-answer{white-space:pre-wrap;color:var(--text);line-height:1.72}
.streaming-cursor{display:inline-block;width:7px;height:1.15em;margin-left:2px;vertical-align:-.18em;background:rgba(242,239,232,.72);animation:aronCursor .9s steps(1,end) infinite}
@keyframes aronCursor{0%,48%{opacity:1}49%,100%{opacity:0}}

.composer{position:fixed;left:280px;right:0;bottom:40px;z-index:1001;padding:8px 18px 18px;margin-bottom:0;background:linear-gradient(180deg,transparent,rgba(17,16,15,.9) 32%,#11100f);display:flex;justify-content:center}
.ai-shell.sidebar-collapsed .composer{left:0}
.composer-box{width:min(var(--aron-content-width),100%);border:1px solid transparent;border-radius:28px;background:#201f1d;box-shadow:0 16px 45px rgba(0,0,0,.28);padding:9px 10px;display:flex;flex-direction:column;gap:8px;position:relative;transition:border-color .15s,box-shadow .15s,background .15s}
.composer-box.drag-over{border-color:#5f7ee8;box-shadow:0 0 0 1px rgba(95,126,232,.4),0 18px 56px rgba(45,65,180,.28);background:#23221f}
.composer-row{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:end;gap:8px}
.composer textarea{width:100%;resize:none;max-height:190px;min-height:38px;background:transparent;border:none;color:var(--text);padding:7px 4px 4px;font-family:var(--font);font-size:15px;line-height:1.55;outline:none}
.composer textarea::placeholder{color:var(--text-muted)}
.composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:0}
.attachment-input{display:none}
.attach-btn{width:38px;height:38px;border:none;border-radius:50%;background:transparent;color:#ded8ce;font-size:28px;font-weight:300;cursor:pointer;line-height:1}
.attach-btn:hover{background:rgba(255,255,255,.06)}
.attachment-list{display:none;flex-wrap:wrap;gap:6px;padding:0 46px 0 46px}
.attachment-list.has-items{display:flex}
.attachment-chip{display:inline-flex;align-items:center;gap:6px;max-width:220px;border:1px solid rgba(80,74,65,.7);border-radius:999px;background:rgba(17,16,15,.68);color:var(--text-dim);padding:5px 8px;font-size:11px;line-height:1.2}
.attachment-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-chip button{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0}
.attachment-chip button:hover{color:var(--text)}
.drop-hint{display:none;position:absolute;inset:-1px;border-radius:28px;background:rgba(17,16,15,.82);border:1px dashed #7f98ff;color:#dfe6ff;align-items:center;justify-content:center;font-size:14px;font-weight:700;pointer-events:none}
.composer-box.drag-over .drop-hint{display:flex}
.select{height:34px;background:#181715;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);padding:0 10px;font-family:var(--font);font-size:12px}
.send-btn{width:38px;height:38px;border:none;border-radius:50%;background:#f2efe8;color:#151412;font-size:18px;font-weight:800;cursor:pointer;line-height:1}
.send-btn:disabled{opacity:.42;cursor:not-allowed}
.primary-btn,.secondary-btn{border:none;border-radius:8px;padding:9px 13px;font-family:var(--font);font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.primary-btn{background:var(--accent);color:white}.secondary-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim)}
.secondary-btn:hover{border-color:var(--border-light);color:var(--text)}
.meta-line{font-size:11px;color:var(--text-muted);margin-top:10px;font-family:var(--mono)}
.warn{color:var(--amber)}

.chat-panel.is-empty::before{content:'';position:absolute;inset:52px 0 40px;pointer-events:none;background:radial-gradient(ellipse 1040px 480px at 50% 44%,rgba(58,84,205,.34) 0%,rgba(31,46,126,.22) 38%,rgba(17,16,15,0) 72%);z-index:0}
.chat-panel.is-empty .messages{position:relative;overflow:hidden;padding:0 18px;display:block;z-index:1}
.chat-panel.is-empty .empty{position:absolute;left:18px;right:18px;top:calc(43% - 96px);min-height:auto;align-items:center;padding:0;z-index:2}
.chat-panel.is-empty .composer{position:absolute;left:0;right:0;top:43%;bottom:auto;transform:translateY(0);z-index:3;background:transparent;padding:0 24px;margin-bottom:0}
.chat-panel.is-empty .composer-box{width:min(var(--aron-content-width),calc(100% - 48px));min-height:58px;border-radius:28px;padding:9px 12px;background:rgba(32,31,29,.94);box-shadow:0 22px 60px rgba(0,0,0,.36),0 0 90px rgba(57,87,214,.16)}
.chat-panel.is-empty .composer textarea{min-height:38px;font-size:16px;padding:8px 4px 4px}
.chat-panel.is-empty .send-btn{width:38px;height:38px;font-size:19px}

@media(max-width:900px){
  .aron-page{height:auto;overflow:auto}
  .ai-shell{height:auto;min-height:calc(100vh - 92px);grid-template-columns:1fr}
  .ai-sidebar{display:none}
  .chat-panel{min-height:calc(100vh - 92px);grid-template-rows:52px minmax(0,1fr) auto}
  .chat-head{padding:10px 12px}
  .messages{padding:18px 12px calc(var(--aron-composer-inset) + 72px);gap:18px}
  .welcome-panel{margin-bottom:0}.welcome-panel h1{font-size:26px}.welcome-panel p{font-size:13px}
  .composer{position:absolute;left:0;right:0;bottom:40px;padding:8px 10px 16px;margin-bottom:0}
  .chat-panel:not(.is-empty) .composer{position:fixed;left:0;right:0;bottom:40px}
  .chat-panel.is-empty .empty{left:10px;right:10px;top:calc(43% - 82px);padding:0}
  .chat-panel.is-empty .composer{position:absolute;top:43%;bottom:auto;transform:translateY(0);padding:0 10px;margin-bottom:0}
  .chat-panel.is-empty .composer-box{width:calc(100% - 20px);min-height:58px}
  .attachment-list{padding:0 46px}
  .msg{width:100%}.msg.user::before{max-width:94%}
}

@keyframes cs-arrow{0%,100%{transform:translateX(0);opacity:1}50%{transform:translateX(3px);opacity:.5}}
@keyframes cs-flicker{0%,78%,82%,100%{opacity:1}80%{opacity:.15}}
.cs-footer{position:fixed;bottom:0;left:0;right:0;height:40px;background:#1a1d27;border-top:1px solid var(--border);z-index:1000;display:flex;align-items:center;justify-content:center}
.cs-footer-inner{display:flex;align-items:center;gap:10px;width:420px;justify-content:center}
.cs-logo{display:flex;align-items:center;gap:4px;opacity:.4}
.cs-logo-txt{font-family:'Noto Sans KR',sans-serif;font-weight:800;font-size:18px;letter-spacing:0;color:rgba(255,255,255,.85)}
.cs-logo-ap{color:#00e5ff}
.cs-logo-arrow{display:flex;align-items:center;animation:cs-arrow 2s ease-in-out infinite}
.cs-logo-next{font-family:'Noto Sans KR',sans-serif;font-weight:800;font-size:18px;letter-spacing:0;background:linear-gradient(100deg,#00e5ff 0%,#80f0ff 50%,#fff 85%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.cs-logo-q{font-family:'Noto Sans KR',sans-serif;font-weight:800;font-size:18px;color:#00e5ff;animation:cs-flicker 4s ease-in-out infinite}
.cs-sep{width:1px;height:14px;background:rgba(255,255,255,.1);flex-shrink:0}
.cs-corp{font-family:var(--mono);font-size:7px;letter-spacing:3px;color:rgba(255,255,255,.25);text-transform:uppercase;white-space:nowrap}
