﻿/* 탐구보고서 골격 채팅 도구 — 입시로드 그린 테마(--tool-* 토큰은 .public-tools-page 에 정의됨). 외부 CSS only(CSP). */
.report-chat{border:1px solid var(--tool-line);border-radius:16px;overflow:hidden;background:var(--tool-paper);box-shadow:var(--tool-shadow);margin-bottom:22px}
.report-chat .rc-head{display:flex;align-items:center;gap:10px;padding:13px 16px;background:linear-gradient(135deg,var(--tool-green-deep),var(--tool-green));color:#fff}
.report-chat .rc-av{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-weight:800;font-size:14px}
.report-chat .rc-head strong{font-size:15px;font-weight:800}
.report-chat .rc-head small{display:block;font-size:11px;color:#d6ece0;font-weight:500}
.report-chat .rc-thread{height:560px;overflow-y:auto;padding:16px;background:#f6f8f7;display:flex;flex-direction:column;gap:12px}
.report-chat .rc-msg{display:flex;gap:9px;max-width:92%}
.report-chat .rc-user{align-self:flex-end;flex-direction:row-reverse}
.report-chat .rc-bav{flex:0 0 auto;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:800;margin-top:2px;color:#fff}
.report-chat .rc-ai .rc-bav{background:var(--tool-green)}
.report-chat .rc-user .rc-bav{background:var(--tool-muted)}
.report-chat .rc-bub{padding:10px 13px;border-radius:13px;font-size:14px;line-height:1.62}
.report-chat .rc-ai .rc-bub{background:#fff;border:1px solid var(--tool-line);border-top-left-radius:4px;color:var(--tool-ink)}
.report-chat .rc-user .rc-bub{background:var(--tool-green);color:#fff;border-top-right-radius:4px}
.report-chat .rc-typing{display:inline-flex;gap:4px;padding:4px 2px}
.report-chat .rc-typing i{width:7px;height:7px;border-radius:50%;background:#b5c2bb;animation:rcbl 1s infinite}
.report-chat .rc-typing i:nth-child(2){animation-delay:.2s}
.report-chat .rc-typing i:nth-child(3){animation-delay:.4s}
@keyframes rcbl{0%,60%,100%{opacity:.3}30%{opacity:1}}
.report-chat .rc-think{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.public-report-page .tool-mine-link{margin:10px 0 0;font-size:13px}
.public-report-page .tool-mine-link a{color:var(--tool-green-deep);font-weight:700}
.report-chat .rc-think-t{font-size:12.5px;color:var(--tool-muted)}
.report-chat .rc-elapsed{font-size:12px;color:var(--tool-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}
.report-chat .rc-intake{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.report-chat .rc-intake label{font-size:12px;font-weight:800;color:var(--tool-ink);margin-top:4px}
.report-chat .rc-intake input[type=text],.report-chat .rc-intake input:not([type]),.report-chat .rc-intake select{border:1px solid #cfdad3;border-radius:8px;padding:9px 11px;font-size:13.5px;font-family:inherit;background:#fffef9;color:var(--tool-ink)}
.report-chat .rc-consent{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--tool-muted);margin-top:8px}
.report-chat .rc-consent input{width:auto}
.report-chat .rc-btn{margin-top:10px;align-self:flex-start;border:1px solid var(--tool-green);background:var(--tool-green);color:#fff;font-weight:800;font-size:14px;border-radius:999px;padding:9px 20px;cursor:pointer;font-family:inherit}
.report-chat .rc-btn:hover{background:var(--tool-green-deep)}
.report-chat .rc-topics{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.report-chat .rc-tc{border:1px solid var(--tool-line);border-radius:11px;padding:11px 13px;cursor:pointer;transition:.15s;background:#fff}
.report-chat .rc-tc:hover{border-color:var(--tool-green);box-shadow:0 3px 12px rgba(13,60,40,.08);transform:translateY(-1px)}
.report-chat .rc-tc.rec{border-color:var(--tool-green);background:#f7faf8}
.report-chat .rc-tc h4{margin:0 0 4px;font-size:14px;font-weight:800;color:var(--tool-ink)}
.report-chat .rc-why{margin:0 0 7px;font-size:12.5px;color:var(--tool-muted)}
.report-chat .rc-meta{display:flex;flex-wrap:wrap;gap:5px}
.report-chat .rc-star{display:inline-block;background:var(--tool-mint);color:var(--tool-green-deep);font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:999px;margin-right:5px;vertical-align:1px}
.report-chat .rc-chip{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--tool-line);background:#fff;color:#41506a}
.report-chat .rc-chip.p{background:#fbeaea;color:#8c3030;border-color:#f0d2d2}
.report-chat .rc-foot{margin-top:9px;font-size:12px;color:var(--tool-muted)}
.report-chat .rc-lk{background:#fff;border:1px solid #d5ded8;color:var(--tool-green-deep);font-weight:700;font-size:12px;padding:5px 11px;border-radius:999px;cursor:pointer;font-family:inherit}
.report-chat .rc-lk:hover{background:var(--tool-mint)}
.report-chat .rc-hint{margin-left:4px}
.report-chat .rc-picked{opacity:.5;pointer-events:none}
.report-chat .rc-report{max-width:100%}
.report-chat .rc-notice{background:#fff8e8;border:1px solid #f0dca8;border-radius:9px;padding:9px 11px;font-size:12.5px;color:#7a5b00;margin-bottom:10px}
.report-chat .rc-rh{font-size:13.5px;font-weight:800;color:var(--tool-green-deep);margin:12px 0 4px}
.report-chat .rc-rh-sub{font-size:12.5px;font-weight:700;color:var(--tool-ink);margin:9px 0 3px;padding-left:10px;border-left:3px solid var(--tool-green)}
.report-chat .rc-notice-up{margin:2px 0 4px}
.report-chat .rc-btn-ghost{width:100%;padding:10px;border:1.5px dashed var(--tool-green);border-radius:9px;background:#f4faf6;color:var(--tool-green-deep);font-size:13px;font-weight:700;cursor:pointer}
.report-chat .rc-btn-ghost:hover{background:#eaf5ee}
.report-chat .rc-notice-status{font-size:12px;margin-top:6px;line-height:1.5;color:var(--tool-muted)}
.report-chat .rc-notice-status.busy{color:var(--tool-green-deep)}
.report-chat .rc-notice-status.ok{color:var(--tool-green-deep)}
.report-chat .rc-notice-status.err{color:#b4451f}
.report-chat .rc-or{text-align:center;font-size:11.5px;color:var(--tool-muted);margin:8px 0 2px}
.report-chat .ad-checks{display:flex;gap:14px;flex-wrap:wrap;margin:2px 0 8px}
.report-chat .ad-ck{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:500}
.report-chat .ad-csat-options{display:grid;grid-template-columns:minmax(78px,1fr) minmax(70px,.9fr) minmax(62px,.7fr);gap:8px;margin:2px 0 8px}
.report-chat .ad-csat-options label{display:block;margin:0 0 4px;font-size:12px;font-weight:700;color:var(--tool-muted)}
.report-chat .ad-csat-options select{width:100%;min-width:0}
.report-chat .rc-admission-form{max-width:760px}
.report-chat .rc-ad-summary{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.report-chat .rc-ad-summary span{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--tool-line);border-radius:999px;background:#fff;padding:4px 10px;font-size:12px;color:var(--tool-muted);white-space:nowrap}
.report-chat .rc-ad-summary b{font-size:13px;color:var(--tool-green-deep)}
.report-chat .rc-msg.rc-wide{max-width:100%;width:100%}
.report-chat .rc-msg.rc-wide .rc-bub{flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}
.report-chat .rc-admission-result{width:100%;max-width:100%;min-width:0;overflow:hidden}
.report-chat .rc-adtable-wrap{overflow:hidden;overflow-x:hidden;max-width:100%;min-width:0;margin:4px 0 8px}
.report-chat .rc-adtable{display:grid;width:100%;max-width:100%;min-width:0;font-size:11.5px}
.report-chat .rc-adrow{display:grid;grid-template-columns:28px minmax(54px,.68fr) minmax(68px,.95fr) 34px minmax(88px,1.18fr) 34px minmax(64px,.78fr) 42px minmax(52px,.62fr);align-items:stretch;width:100%;max-width:100%;min-width:0}
.report-chat .rc-adcell{box-sizing:border-box;min-width:0;max-width:100%;padding:6px 5px;border-bottom:1px solid #eef2f5;line-height:1.35;overflow:hidden;overflow-wrap:anywhere;word-break:keep-all;color:var(--tool-ink)}
.report-chat .rc-adhead .rc-adcell{background:#f3f7fb;color:#243343;font-weight:700;border-bottom-color:#dbe3ea;white-space:nowrap}
.report-chat .rc-adrow:last-child .rc-adcell{border-bottom:0}
.report-chat .rc-adcell[data-ad-col="rank"],.report-chat .rc-adcell[data-ad-col="track"],.report-chat .rc-adcell[data-ad-col="count"],.report-chat .rc-adcell[data-ad-col="grade"],.report-chat .rc-adcell[data-ad-col="outcome"]{text-align:center}
.report-chat .rc-adcell[data-ad-col="track"],.report-chat .rc-adcell[data-ad-col="count"],.report-chat .rc-adcell[data-ad-col="grade"]{white-space:nowrap}
.report-chat .rc-adtable .ad-count,.report-chat .rc-adtable .ad-grade{font-weight:800;color:var(--tool-green-deep)}
.report-chat .rc-adtable .ad-hl{font-weight:800;border-bottom-color:rgba(0,0,0,.05)}
.report-chat .rc-adtable .ad-hl-stable{background:#e7f6ec;color:#185c36}
.report-chat .rc-adtable .ad-hl-match{background:#fff3bf;color:#6f4d00}
.report-chat .rc-adtable .ad-hl-reach{background:#ffe4e6;color:#9f1239}
.report-chat .rc-adtable .ad-hl-unknown{background:#f1f3f5;color:#868e96}
.report-chat .rc-adtable .ad-univ,.report-chat .rc-adtable .ad-dept{font-weight:800}
.report-chat .rc-ad-csat-main{display:block;font-weight:800;color:#20362b}
.report-chat .rc-ad-sub{display:block;margin-top:2px;font-size:10.5px;line-height:1.35;color:var(--tool-muted)}
.report-chat .rc-ad-date{display:block;font-size:11px;line-height:1.35;white-space:normal;font-variant-numeric:tabular-nums}
.report-chat .rc-ad-date b,.report-chat .rc-ad-outcome b{font-weight:800;color:#4b5b51}
.report-chat .rc-ad-outcome{display:block;font-size:11px;line-height:1.35;white-space:normal}
.report-chat .rc-rp{margin:0 0 6px;font-size:13.5px;color:#22302a;line-height:1.66}
.report-chat .rc-report blockquote{margin:6px 0;padding:8px 11px;border-left:3px solid var(--tool-green);border-radius:0 7px 7px 0;background:#f7faf8;font-size:12px;color:#3c4a42}
/* 본론 LaTeX 수식(Temml→MathML) — 인라인/디스플레이 */
.rc-math{font-size:1.05em}
.rc-math-block{display:block;text-align:center;margin:12px 0;overflow-x:auto;overflow-y:hidden}
.rc-math-block math,.rc-math math{font-size:1.12em}
.report-chat .rc-report blockquote b{color:var(--tool-ink);display:block;margin-bottom:2px}
.report-chat .rc-report blockquote a.rc-srclink{display:inline-block;margin-top:5px;font-size:11.5px;color:var(--tool-accent,#1f6feb);text-decoration:underline;word-break:break-all}
.report-chat .rc-report blockquote .rc-cite-why{display:block;margin-top:6px;font-size:11.5px;font-weight:700;color:var(--tool-green-deep);line-height:1.55}
.report-chat .rc-refs{margin:4px 0 0;padding-left:18px;font-size:12px;color:var(--tool-muted)}
.report-chat .rc-refs li{margin:3px 0}
.report-chat .rc-refs a{color:var(--tool-accent,#1f6feb);text-decoration:underline;word-break:break-all}
.report-chat .rc-cta{margin-top:12px;background:linear-gradient(135deg,var(--tool-green-deep),var(--tool-green));border-radius:10px;padding:12px 14px;color:#fff}
.report-chat .rc-cta b{font-size:14px}
.report-chat .rc-cta p{margin:4px 0 9px;font-size:12.5px;color:var(--tool-mint)}
.report-chat .rc-cta-btn{background:#fff;color:var(--tool-green-deep);border:0;border-radius:999px;padding:8px 16px;font-weight:800;font-size:13px;cursor:pointer;font-family:inherit}
.report-chat .rc-composer{display:flex;gap:8px;padding:11px 14px;border-top:1px solid var(--tool-line);background:#fff}
.report-chat .rc-composer input{flex:1;border:1px solid #cfdad3;border-radius:999px;padding:11px 16px;font-size:14px;font-family:inherit;background:#f6f8f7;color:var(--tool-ink)}
.report-chat .rc-composer button{width:42px;height:42px;border-radius:50%;border:0;background:var(--tool-green);color:#fff;font-size:18px;font-weight:800;cursor:pointer;flex:0 0 auto}
@media (max-width:560px){.report-chat .rc-thread{height:460px}}
@media (max-width:760px){
  .report-chat .rc-adtable{font-size:11px}
  .report-chat .ad-csat-options{grid-template-columns:1fr 1fr 74px;gap:6px}
  .report-chat .rc-adrow{grid-template-columns:28px minmax(46px,.72fr) minmax(58px,1fr) 32px minmax(76px,1.25fr)}
  .report-chat .rc-adcell{padding:6px 4px}
  .report-chat .rc-adcell[data-ad-col="count"],.report-chat .rc-adcell[data-ad-col="schedule"],.report-chat .rc-adcell[data-ad-col="grade"],.report-chat .rc-adcell[data-ad-col="outcome"]{display:none}
  .report-chat .rc-ad-sub{display:none}
  .report-chat .rc-ad-csat-main{font-size:10.5px}
}

/* ── 앱 셸(Claude Desktop 느낌: 사이드바 기록 + 탭 + 꽉 찬 채팅) ── */
.report-app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:0}
.report-app .rapp{flex:1 1 auto;display:flex;min-height:0;background:#f1f5f3}
.rapp-side{flex:0 0 250px;width:250px;background:var(--tool-paper,#fff);border-right:1px solid var(--tool-line);display:flex;flex-direction:column;overflow-y:auto;padding:14px 12px}
.rapp-new{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;background:var(--tool-green);color:#fff;font-weight:800;font-size:14px;border:0;border-radius:10px;padding:11px;text-decoration:none;margin-bottom:10px;cursor:pointer;font-family:inherit}
.rapp-new:hover{background:var(--tool-green-deep)}
.rapp-new span{font-size:16px}
.rapp-tabs{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--tool-line);margin-bottom:10px}
.rapp-tab{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 11px;border:0;background:none;border-radius:9px;color:var(--tool-ink);font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;font-family:inherit}
.rapp-tab:hover{background:var(--tool-mint)}
.rapp-tab.active{background:var(--tool-mint);color:var(--tool-green-deep)}
.rapp-hist-head{font-size:11.5px;font-weight:800;color:var(--tool-muted);margin:4px 6px 6px}
.rapp-hist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;flex:1 1 auto}
.rapp-hist a{display:block;padding:8px 10px;border-radius:8px;text-decoration:none}
.rapp-hist a:hover{background:#eef4f0}
.rapp-hist a.on{background:var(--tool-mint)}
.rapp-h-t{display:block;font-size:13px;color:var(--tool-ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rapp-h-d{display:block;font-size:11px;color:var(--tool-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rapp-empty{font-size:12px;color:var(--tool-muted);padding:10px;line-height:1.65}
.rapp-side-foot{display:block;margin-top:8px;padding:8px 10px;font-size:12.5px;font-weight:700;color:var(--tool-green-deep);text-decoration:none}
.rapp-side-foot:hover{text-decoration:underline}
.rapp-main{flex:1 1 auto;display:flex;min-width:0}
.rapp-side-toggle{display:none;background:none;border:0;color:#fff;font-size:18px;cursor:pointer;margin-right:2px;padding:0}
.rapp-side-close{display:none}
.rapp-backdrop{display:none}
.report-app .report-chat{flex:1 1 auto;display:flex;flex-direction:column;margin:0;border:0;border-radius:0;box-shadow:none;min-width:0;background:#f1f5f3}
.report-app .rc-thread{flex:1 1 auto;height:auto;width:100%;padding:24px clamp(20px,4vw,56px);overflow-y:auto}
.report-app .rc-composer{width:100%;padding:14px clamp(20px,4vw,56px)}
.report-app .rc-msg{max-width:1060px}
.report-app .rc-report,.report-app .rc-topics{max-width:1040px}
.report-chat .rc-intake{max-width:600px}
.report-chat .rc-intake input[type=file]{font-size:12.5px;padding:8px 0;background:none;border:0;color:var(--tool-ink);font-family:inherit}
.report-app .rc-head{border-radius:0}
.report-chat .rc-mode-soon{color:var(--tool-muted);font-size:12px}
.report-chat .rc-find{border:1px solid var(--tool-line);border-radius:10px;padding:11px 13px;margin:8px 0;background:#fff}
.report-chat .rc-find-h{font-size:13px;font-weight:800;color:var(--tool-ink);margin-bottom:5px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.report-chat .rc-find-badge{font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px}
.report-chat .rc-find-badge.err{background:#fbeaea;color:#8c3030}
.report-chat .rc-find-badge.fix{background:#fdf0d8;color:#8a5a08}
.report-chat .rc-find-badge.rev{background:#e9f1fb;color:#28507e}
.report-chat .rc-find-q{font-size:12.5px;color:#555;border-left:3px solid var(--tool-line);padding:3px 9px;margin:5px 0;background:#f7f8f7}
.report-chat .rc-find-c{margin:5px 0;font-size:13px;color:#22302a;line-height:1.6}
.report-chat .rc-find-s{margin:5px 0;font-size:13px;color:#21302A;line-height:1.6}
.report-chat .rc-find-e{margin:5px 0;font-size:12px;color:var(--tool-muted);line-height:1.55}
.report-chat .rc-find-src{display:inline-block;margin:3px 8px 0 0;font-size:11.5px;color:var(--tool-accent,#1f6feb);text-decoration:underline}
.report-chat .rc-note{font-size:12px;color:var(--tool-muted);margin:6px 0;line-height:1.55}
.report-chat .rc-self-evaluation{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:13.5px;line-height:1.7;color:#22302a;background:#f7faf8;border:1px solid var(--tool-line);border-radius:9px;padding:12px 14px;margin:6px 0}
.report-chat .rc-self-evaluation-meta{font-size:12px;font-weight:700;color:var(--tool-green-deep);margin:2px 0 6px}
.report-app .rc-threads{flex:1 1 auto;display:flex;min-height:0;width:100%}
.report-chat .rc-thread.rc-hide{display:none!important}
.report-chat .rc-intake textarea.rc-ta{min-height:148px;resize:vertical;border:1px solid #cfdad3;border-radius:8px;padding:9px 11px;font-size:13.5px;font-family:inherit;background:#fffef9;color:var(--tool-ink);line-height:1.6}
.report-chat .rc-newround{margin-top:6px}
.report-chat .rc-newround .rc-lk{font-size:12.5px}
/* 사이드패널 반응형(≤900px)은 작업공간 전용 셸(tool_workspace.css)로 일원화함.
   .report-app/.rapp 마크업은 작업공간 페이지(tool_report_chat.html)만 사용하고 admin/mine 은 인라인 .report-chat 만 쓴다. */

/* 관리자 챗 로그 뷰 */
.rca-stats{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 18px}
.rca-stat{flex:1;min-width:110px;border:1px solid var(--tool-line);border-radius:11px;padding:12px 14px;background:var(--tool-paper);text-align:center}
.rca-stat b{display:block;font-size:22px;font-weight:800;color:var(--tool-green-deep)}
.rca-stat span{font-size:12px;color:var(--tool-muted)}
.rca-card{border:1px solid var(--tool-line);border-radius:13px;padding:16px 18px;background:var(--tool-paper);margin-bottom:16px}
.rca-card h3{margin:0 0 6px;font-size:15px;color:var(--tool-ink)}
.rca-meta{font-size:12.5px;color:var(--tool-muted);margin:0 0 12px}
.rca-table{width:100%;border-collapse:collapse;font-size:12.5px}
.rca-table th,.rca-table td{text-align:left;padding:7px 9px;border-bottom:1px solid var(--tool-line);color:var(--tool-ink)}
.rca-table th{color:var(--tool-muted);font-weight:700}
.rca-table a,.rca-card a{color:var(--tool-green-deep);font-weight:700}
.rca-events{display:flex;flex-direction:column;gap:6px}
.rca-ev{font-size:12.5px;padding:7px 10px;border-radius:8px;background:#f6f8f7;border:1px solid var(--tool-line);color:#22302a}
.rca-ev.rca-user{background:#eef6f1;border-color:#d4e6dc}
.rca-et{display:inline-block;font-size:10.5px;font-weight:800;color:var(--tool-green-deep);background:var(--tool-mint);padding:1px 7px;border-radius:999px;margin-right:6px}

