/* spotlightU 검증 서비스 — 디자인 시스템 (이슈페이퍼 아이덴티티 계승) */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans+KR:wght@400;500;600;700&display=swap');
:root{
  --bg:#F4F1E9; --ink:#17150F; --yellow:#F3CE1C; --card:#FBFAF5; --white:#fff;
  --line:#E4E0D3; --line2:#DDD8C8; --line3:#C9C5B6; --notice:#EDE9DC;
  --muted:#6C6857; --muted2:#8A8676; --ink2:#3A362B;
  --ok:#16794C; --ok-bg:#E6F6EE; --ok-bd:#B8E3CC; --ok-in:#F1FBF6;
  --warn:#B45309; --warn-bg:#FDF2E2; --warn-bd:#F3D9AE; --warn-in:#FFF9F0;
  --gray:#475569; --gray-bg:#F1F5F9; --gray-bd:#D5DCE4; --gray-in:#F8FAFC;
  --red:#B91C1C; --red-bg:#FBEAEA; --red-bd:#F0C9C9; --red-in:#FEF5F5;
  --mono:'IBM Plex Mono',monospace;
  --sans:'Pretendard Variable',Pretendard,'IBM Plex Sans KR',-apple-system,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.55}
@keyframes sp-spin{to{transform:rotate(360deg)}}
@keyframes sp-shim{0%{background-position:-400px 0}100%{background-position:400px 0}}
.skel{background:linear-gradient(90deg,#EAE6D8 25%,#F2EEE2 37%,#EAE6D8 63%);background-size:800px 100%;animation:sp-shim 1.4s infinite linear;border-radius:6px}
::selection{background:var(--yellow);color:var(--ink)}
a{color:inherit}
.mono{font-family:var(--mono)}
input:focus,textarea:focus,select:focus,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* 헤더 */
header.top{background:var(--ink);color:var(--bg);position:sticky;top:0;z-index:40}
.top-in{max-width:1240px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:16px;min-width:0}
.brand img{height:26px;display:block;border-radius:3px}
.brand .sep{width:1px;height:26px;background:#3A362B}
.brand .t{font-size:15px;font-weight:600;letter-spacing:-0.01em;white-space:nowrap}
.beta{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--ink);background:var(--yellow);padding:2px 6px;border-radius:4px}
.acct{display:flex;align-items:center;gap:10px;font-size:13px}
.acct a{color:var(--bg);text-decoration:none;cursor:pointer;padding:6px 8px;border-radius:6px}
.acct a:hover{background:rgba(255,255,255,.1)}
.acct .chip{font-family:var(--mono);font-size:12px;color:var(--line3)}
.acct .plan{background:rgba(243,206,28,.16);color:var(--yellow);padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600}
.acct .avatar{width:30px;height:30px;border-radius:50%;background:var(--yellow);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.btn-join{background:var(--yellow)!important;color:var(--ink)!important;font-weight:600;padding:8px 14px!important}

/* NOTICE 바 */
.notice{background:var(--notice);border-bottom:1px solid var(--line2)}
.notice-in{max-width:1240px;margin:0 auto;padding:9px 24px;display:flex;align-items:center;gap:10px}
.notice .tag{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--muted2);border:1px solid var(--line3);padding:1px 6px;border-radius:4px;flex-shrink:0}
.notice p{margin:0;font-size:12.5px;line-height:1.5;color:var(--muted)}
.notice b{color:var(--ink);font-weight:600}

/* 탭 */
nav.tabs{background:var(--bg);border-bottom:1px solid var(--line2);position:sticky;top:64px;z-index:30}
.tabs-in{max-width:1240px;margin:0 auto;padding:0 16px;display:flex;gap:2px;overflow-x:auto}
.tab{display:flex;align-items:center;border:none;background:none;font-family:inherit;font-size:14px;font-weight:500;color:var(--muted2);padding:15px 16px;cursor:pointer;white-space:nowrap;border-bottom:2.5px solid transparent;margin-bottom:-1px}
.tab.active{font-weight:600;color:var(--ink);border-bottom-color:var(--ink)}
.tab .paid{font-family:var(--mono);font-size:9px;font-weight:600;color:var(--warn);background:var(--warn-bg);padding:1px 5px;border-radius:4px;margin-left:6px}

/* 레이아웃 */
main{max-width:1240px;margin:0 auto;padding:36px 24px 96px}
.hidden{display:none}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted2);margin-bottom:8px}
.h1{margin:0;font-size:30px;font-weight:700;letter-spacing:-0.02em}
.lead{margin:9px 0 0;font-size:14.5px;color:var(--muted)}
.sec-head{margin-bottom:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
@media(max-width:760px){.grid2{grid-template-columns:1fr}}
label.lbl{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted2);display:block;margin-bottom:10px}
textarea,input[type=text],input[type=email],input[type=password],select{width:100%;border:1.5px solid var(--line2);border-radius:11px;padding:12px 14px;font-family:inherit;font-size:14px;line-height:1.6;color:var(--ink);background:var(--white);resize:vertical}
textarea{min-height:110px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-top:12px}
.row>div{flex:1;min-width:120px}
.btn{background:var(--ink);color:var(--bg);border:none;font-family:inherit;font-size:15px;font-weight:600;padding:13px;border-radius:11px;cursor:pointer;transition:.15s}
.btn:hover{opacity:.92}.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-full{width:100%}
.btn-accent{background:var(--yellow);color:var(--ink)}
.btn-ghost{background:none;border:1px solid var(--line3);color:var(--ink2);font-weight:500}
.btn-sm{font-size:12.5px;padding:8px 13px;border-radius:9px}
.spin{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;display:inline-block;animation:sp-spin .8s linear infinite;vertical-align:middle}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip-btn{background:var(--white);border:1px solid var(--line2);font-family:inherit;font-size:12.5px;color:var(--ink2);padding:8px 13px;border-radius:20px;cursor:pointer}

/* 검색 결과 */
.res-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.res-head .n{font-size:14px;color:var(--muted)} .res-head .n b{color:var(--ink);font-family:var(--mono)}
.res-head .by{font-family:var(--mono);font-size:11px;color:var(--muted2)}
article.res{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px;margin-bottom:14px}
article.res h3{margin:0;font-size:17px;font-weight:600;letter-spacing:-0.01em;line-height:1.4}
.res .meta{font-size:13px;color:var(--muted);margin-top:8px}
.res .meta em{font-style:italic}
.res .abs{margin:12px 0 0;font-size:13.5px;line-height:1.65;color:var(--ink2)}
.res .foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}
.oa{font-family:var(--mono);font-size:9.5px;font-weight:600;color:var(--ok);border:1px solid var(--ok-bd);background:var(--ok-bg);padding:2px 7px;border-radius:5px}
.retr{font-family:var(--mono);font-size:9.5px;font-weight:600;color:var(--red);border:1px solid var(--red-bd);background:var(--red-bg);padding:2px 7px;border-radius:5px}
.srcbadge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;font-weight:500;color:var(--ink);background:var(--white);border:1px solid var(--line2);padding:3px 8px;border-radius:6px}
.srcbadge .dot{width:6px;height:6px;border-radius:2px}
.doi-link{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line3);padding-bottom:1px}

/* 판정 배지 */
.verdict{display:inline-flex;align-items:center;gap:9px;color:#fff;padding:7px 14px 7px 9px;border-radius:9px}
.verdict .g{width:20px;height:20px;border-radius:6px;background:rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.verdict .l{font-size:15px;font-weight:700;letter-spacing:-0.01em}
.v-GREEN{background:var(--ok)} .v-YELLOW{background:var(--warn)} .v-GRAY{background:var(--gray)} .v-RED{background:var(--red)}
.result-box{border-radius:16px;padding:24px;border:1px solid}
.rb-GREEN{background:var(--ok-bg);border-color:var(--ok-bd)} .rb-YELLOW{background:var(--warn-bg);border-color:var(--warn-bd)}
.rb-GRAY{background:var(--gray-bg);border-color:var(--gray-bd)} .rb-RED{background:var(--red-bg);border-color:var(--red-bd)}
.gauge{width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gauge .in{width:56px;height:56px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gauge .pct{font-family:var(--mono);font-size:19px;font-weight:600;line-height:1}
.gauge .cap{font-family:var(--mono);font-size:8px;color:var(--muted2)}
.keyline{font-family:var(--mono);font-size:11px;margin-top:14px;font-weight:600}
.note-txt{margin:6px 0 0;font-size:13.5px;line-height:1.55;color:var(--ink2)}
.metabox{border-radius:11px;padding:16px;margin-top:16px;border:1px solid}
.metabox .h{font-family:var(--mono);font-size:10px;color:var(--muted2);margin-bottom:10px}
.metabox .kv{display:flex;gap:12px;padding:5px 0;font-size:13px;border-bottom:1px solid rgba(0,0,0,.05)}
.metabox .kv .k{width:64px;color:var(--muted2);flex-shrink:0;font-family:var(--mono);font-size:11px}
.metabox .kv .v{color:var(--ink);font-weight:500}
.rebut{background:var(--white);border:1px solid var(--gray-bd);border-radius:11px;padding:16px;margin-top:14px}
.legend{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-top:20px;display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.legend .lg{display:flex;align-items:center;gap:8px}
.legend .lg .g{width:20px;height:20px;border-radius:6px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.idle-box{border:1.5px dashed var(--line3);border-radius:16px;padding:48px 24px;text-align:center;color:var(--muted2)}

/* 일괄 스텝 */
.steps{display:flex;gap:6px;overflow-x:auto;margin-bottom:24px;padding-bottom:4px}
.step{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--card);color:var(--muted2);font-family:inherit;font-size:13px;font-weight:500;padding:9px 14px;border-radius:10px;cursor:pointer;flex-shrink:0}
.step.active{border-color:var(--ink);background:var(--ink);color:var(--bg);font-weight:600}
.step .num{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:600;background:var(--line);color:var(--muted2);flex-shrink:0}
.step.active .num{background:var(--yellow);color:var(--ink)}
.step.done .num{background:var(--ok);color:#fff}
.drop{border:2px dashed var(--line3);border-radius:16px;padding:44px 24px;text-align:center;background:var(--white);cursor:pointer}
.drop:hover,.drop.over{border-color:var(--ink);background:#fdfcf8}
.warn-bar{display:flex;align-items:flex-start;gap:10px;background:var(--warn-bg);border:1px solid var(--warn-bd);border-radius:11px;padding:13px 16px;margin-bottom:18px;font-size:12.5px;color:var(--muted);line-height:1.5}
.warn-bar b{color:var(--warn)}
.editrow{display:flex;gap:10px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin-bottom:8px}
.editrow .num{font-family:var(--mono);font-size:11px;color:var(--muted2);padding-top:11px;width:22px;flex-shrink:0}
.editrow textarea{flex:1;min-height:44px;border:1px solid #ECE8DB;border-radius:8px;padding:9px 11px;font-size:13px;background:#FDFCF8}
.editrow button{width:32px;height:32px;border:1px solid #ECE8DB;background:var(--white);border-radius:8px;cursor:pointer;color:var(--red);flex-shrink:0}
.progress{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:8px}
.progress>div{height:100%;background:var(--yellow);width:0;transition:.3s}
.sumgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:22px}
.sumcard{border-radius:12px;padding:15px 16px;border:1px solid}
.sumcard .n{font-family:var(--mono);font-size:28px;font-weight:600;line-height:1}
.sumcard .l{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:600}
.sumcard .l .g{width:15px;height:15px;border-radius:4px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}
.brow{display:flex;gap:14px;align-items:center;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:10px;padding:13px 16px;margin-bottom:8px}
.brow .g{width:24px;height:24px;border-radius:7px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.brow .t{flex:1;min-width:0}
.brow .t .tt{font-size:13.5px;font-weight:500;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brow .t .dd{font-family:var(--mono);font-size:11px;color:var(--muted2);margin-top:2px}
.brow .lbl2{font-size:12px;font-weight:600;flex-shrink:0}
.brow .cf{font-family:var(--mono);font-size:12px;color:var(--muted);width:44px;text-align:right;flex-shrink:0}
.disc{background:var(--gray-bg);border:1px solid var(--gray-bd);border-radius:10px;padding:12px 14px;margin-top:14px;font-size:12px;color:var(--gray);line-height:1.6}
.disc b{color:var(--ink)}

/* 요금제 */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;max-width:960px;margin:0 auto}
.plan{border:1.5px solid var(--line);border-radius:18px;padding:28px 24px;position:relative;background:var(--card)}
.plan.feat{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.plan .badge{position:absolute;top:-11px;left:24px;font-family:var(--mono);font-size:10px;font-weight:600;color:var(--ink);background:var(--yellow);padding:3px 10px;border-radius:6px}
.plan .nm{font-size:15px;font-weight:600}
.plan .pr{margin:14px 0 4px;display:flex;align-items:baseline;gap:4px}
.plan .pr .amt{font-family:var(--mono);font-size:32px;font-weight:600}
.plan .pr .u{font-size:13px;opacity:.7}
.plan .tag{margin:2px 0 18px;font-size:12.5px;opacity:.75;line-height:1.5}
.plan ul{list-style:none;padding:0;margin:0}
.plan li{display:flex;gap:9px;margin-bottom:11px;font-size:13px;line-height:1.45}
.plan .hr{height:1px;background:var(--line);margin:20px 0}
.plan.feat .hr{background:#3A362B}

/* 관리자 */
.subtabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.subtab{border:1px solid var(--line2);background:var(--card);color:var(--muted);font-family:inherit;font-size:13px;font-weight:500;padding:8px 15px;border-radius:9px;cursor:pointer}
.subtab.active{background:var(--ink);color:var(--bg);border-color:var(--ink);font-weight:600}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:20px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.kpi .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--muted2)}
.kpi .v{font-family:var(--mono);font-size:28px;font-weight:600;margin-top:8px;letter-spacing:-0.01em}
.kpi .d{font-size:11.5px;color:var(--muted);margin-top:4px}
.bar-row{margin-bottom:14px}
.bar-row .top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}
.bar-row .top .g{width:14px;height:14px;border-radius:4px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;margin-right:6px}
.bar{height:8px;background:var(--notice);border-radius:5px;overflow:hidden}
.bar>div{height:100%}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}
th{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--muted2);font-weight:600}
td .mono{font-family:var(--mono);font-size:12px}
.tag-plan{font-size:11px;font-weight:600;padding:1px 8px;border-radius:10px;background:var(--notice);color:var(--ink2)}
.tag-plan.personal{background:var(--warn-bg);color:var(--warn)} .tag-plan.institution{background:var(--ink);color:var(--yellow)}
.icon-btn{border:1px solid var(--line2);background:var(--white);border-radius:8px;padding:5px 9px;cursor:pointer;font-size:12px;color:var(--ink2);margin-right:4px}
.icon-btn:hover{background:var(--notice)}
.icon-btn.danger{color:var(--red)}

/* 토스트·모달 */
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;padding:11px 18px;border-radius:10px;font-size:13px;z-index:9999;max-width:90%;box-shadow:0 8px 24px rgba(0,0,0,.25);display:none}
.modal-bg{position:fixed;inset:0;background:rgba(23,21,15,.55);z-index:9998;display:flex;align-items:center;justify-content:center;padding:24px}
.modal{background:var(--bg);border-radius:18px;max-width:440px;width:100%;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.modal .body{padding:24px}
.modal h2{margin:0 0 12px;font-size:18px;color:var(--ink)}
footer{color:var(--muted2);font-size:12px;text-align:center;padding:24px}

/* 테스트 운영 배너 */
.testbar{background:linear-gradient(90deg,#F3CE1C,#f7dd55);color:#17150F;display:none}
.testbar.on{display:block}
.testbar-in{max-width:1240px;margin:0 auto;padding:8px 24px;display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600}
.testbar .pill{font-family:var(--mono);font-size:10px;letter-spacing:.08em;background:#17150F;color:var(--yellow);padding:2px 8px;border-radius:5px}
/* 토글 스위치 */
.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.switch .track{width:46px;height:26px;border-radius:20px;background:#C9C5B6;position:relative;transition:.2s}
.switch .track.on{background:#16794C}
.switch .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.switch .track.on .knob{left:23px}

/* JUDGMENT BADGES 설명 카드 */
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:14px}
.vcard{border:1px solid;border-radius:12px;padding:16px}
.vcard .keyline{font-family:var(--mono);font-size:10px;letter-spacing:.06em;margin-top:10px;font-weight:600}
.vcard p{margin:6px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink2)}
.eyebrow-mono{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted2);margin-bottom:6px}
/* 배치 스텝 스테이지 */
.bstage{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;min-height:340px}
.bstep-title{margin:0 0 6px;font-size:18px;font-weight:600}
.bstep-desc{margin:0 0 16px;font-size:13px;color:var(--muted);line-height:1.6}
.bnav{display:flex;justify-content:space-between;margin-top:20px;gap:10px;flex-wrap:wrap}
.coming{border:1.5px dashed var(--line3);border-radius:12px;padding:32px 20px;text-align:center;color:var(--muted2);background:#fdfcf8}

/* 일괄 결과 상세 펼침 */
.brow .exp{flex-shrink:0;color:var(--muted2);font-size:12px;width:16px;text-align:center;transition:.15s}
.brow:hover{background:#fdfcf8}
.bdetail{margin:0 0 10px 0}
.bdetail .result-box{border-radius:0 0 12px 12px;border-top:none}

/* 후보 유사 논문 카드 (단건/일괄 공용) */
.candwrap{margin-top:14px}
.cand-head{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:10px}
.cand-note{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.5}
.cand-toggle{background:none;border:1px dashed var(--line2);border-radius:8px;padding:8px 12px;font-size:12.5px;color:var(--muted);cursor:pointer;font-family:var(--mono)}
.cand-toggle.open{color:var(--ink);border-style:solid}
.candlist{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.candcard{border:1px solid var(--line2);border-radius:11px;padding:13px 14px;background:var(--white);position:relative;transition:.15s}
.candcard:hover{border-color:var(--line3)}
.candcard.picked{border-color:#16794C;box-shadow:0 0 0 2px #16794C22}
.cc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.cc-conf{font-family:var(--mono);font-size:12px;font-weight:600;border:1px solid;border-radius:6px;padding:2px 8px}
.cc-title{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.4}
.cc-meta{font-size:12px;color:var(--muted);margin-top:5px}
.cc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}
.cc-pick{flex-shrink:0}
.cc-picked-tag{margin-top:9px;font-size:11.5px;font-weight:600;color:#16794C;font-family:var(--mono)}

/* 공익(후원) 모드 — 비용 표현 숨김 */
body.donation .paid,
body.donation .badge-free,
body.donation .badge-pro { display:none !important; }

/* 후원 블록 */
.donation-wrap{max-width:640px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:30px 28px}
.don-msg{font-size:14.5px;line-height:1.7;color:var(--ink);margin:0 0 18px}
.don-acct{display:flex;align-items:center;gap:14px;border:1px solid var(--line2);border-radius:10px;padding:14px 16px;background:var(--bg)}
.don-acct.pending{border-style:dashed;opacity:.85}
.don-acct-l{font-family:var(--mono);font-size:11px;color:var(--muted);flex-shrink:0}
.don-acct-v{font-size:14px;font-weight:600;color:var(--ink)}
.don-note{margin:18px 0 0;font-size:12.5px;color:var(--muted);line-height:1.6}

/* 관리자 모드 세그먼트 선택 */
.modeseg{display:inline-flex;border:1px solid var(--line2);border-radius:9px;overflow:hidden}
.modeseg .seg{background:var(--white);border:none;padding:8px 16px;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-right:1px solid var(--line2)}
.modeseg .seg:last-child{border-right:none}
.modeseg .seg.on{background:var(--ink);color:var(--bg)}

/* 실재 SILJAE 워드마크(앱 헤더) */
.brand .brandlink{display:inline-flex;align-items:baseline;gap:6px;text-decoration:none;color:var(--bg)}
.brand .brandlink .bko{font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--bg)}
.brand .brandlink .ben{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;color:#8A8676}

/* 모바일 상단 탭 — 가로 스크롤 단일 행(줄바꿈·복잡함 방지) */
@media(max-width:640px){
  .tabs-in{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px}
  .tabs-in::-webkit-scrollbar{display:none}
  .tabs-in .tab{flex:0 0 auto;white-space:nowrap;padding:12px 13px;font-size:13.5px}
  .tabs-in .tab .paid{display:none}
  .top-in{flex-wrap:wrap;gap:8px}
  .brand .t{display:none}
  .acct .chip{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* 앱 헤더 로고 이미지 */
.brand .brandlink .blogo{height:24px;display:block;border-radius:3px;margin-right:2px}

/* 참고문헌 건전성 점수 카드 */
.scorecard{display:flex;align-items:center;gap:20px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:16px;flex-wrap:wrap}
.sc-ring{width:96px;height:96px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sc-in{width:74px;height:74px;border-radius:50%;background:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center}
.sc-num{font-size:30px;font-weight:800;line-height:1;font-family:var(--mono)}
.sc-cap{font-size:10px;color:var(--muted2);font-family:var(--mono);margin-top:2px}
.sc-body{flex:1;min-width:240px}
.sc-top{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.sc-grade{width:26px;height:26px;border-radius:7px;color:#fff;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center}
.sc-line{font-size:12.5px;color:var(--muted);margin-bottom:8px}
.sc-note{margin:0;font-size:11.5px;color:var(--muted);line-height:1.55}

/* 유령유형 배지 */
.ghostbadge{display:inline-block;font-family:var(--mono);font-size:10.5px;font-weight:600;border:1px solid;border-radius:6px;padding:2px 8px;margin-left:6px;vertical-align:middle}

/* 근거 추적 */
.evidence{margin-top:12px;border:1px solid var(--line2);border-radius:11px;background:var(--bg);overflow:hidden}
.evidence>summary{cursor:pointer;padding:11px 14px;font-size:12.5px;font-weight:600;color:var(--muted);list-style:none}
.evidence>summary::-webkit-details-marker{display:none}
.evidence>summary::before{content:'▸ ';color:var(--muted2)}
.evidence[open]>summary::before{content:'▾ '}
.evidence .ev-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 14px 8px}
.evidence .ev-lbl{font-family:var(--mono);font-size:10px;color:var(--muted2);min-width:56px}
.ev-checks{border-top:1px solid var(--line2);padding:8px 14px}
.evrow{display:flex;align-items:center;gap:9px;padding:3px 0;font-size:12.5px}
.evrow .evi{font-weight:700;width:14px;text-align:center}
.evrow .evk{min-width:52px;color:var(--ink);font-weight:500}
.evrow .evd{color:var(--muted);font-size:11.5px}

/* 검색 필터 행 하단 정렬 안정화 */
.card .row{align-items:flex-end}

/* 앱 모바일 최적화 */
@media(max-width:640px){
  main{padding:20px 14px 76px}
  .h1{font-size:22px;letter-spacing:-.01em}
  .lead{font-size:13px;line-height:1.55}
  .sec-head{margin-bottom:16px}
  .card{padding:16px;border-radius:13px}
  .row{gap:8px}
  .row>div{flex:1 1 calc(50% - 4px);min-width:0}
  select,input[type=text],input[type=email],input[type=password],textarea{font-size:16px;padding:11px 12px} /* iOS 확대 방지 */
  .grid2{gap:14px}
  article.res{padding:16px}
  article.res h3{font-size:15.5px}
  .res .abs{font-size:12.5px}
  .res .foot{gap:8px}
  .sumgrid{grid-template-columns:repeat(2,1fr)}
  .scorecard{gap:14px;padding:16px}
  .sc-ring{width:78px;height:78px}.sc-in{width:60px;height:60px}.sc-num{font-size:24px}
  .sc-body{min-width:0}
  .notice-in{padding:8px 14px}
  .notice p{font-size:11.5px}
  .brow{flex-wrap:wrap}
  .brow .cf{margin-left:auto}
  table{font-size:11px}
  th,td{padding:6px 5px}
  td.mt,td.vd{width:auto;white-space:normal}
  .kv{flex-wrap:wrap}
  .modeseg{width:100%}.modeseg .seg{flex:1}
}

/* 앱 헤더 모바일: 고정 높이 제거 → 브랜드/계정 2행 정리(공지문 겹침 방지, 시스템명 표시) */
@media(max-width:640px){
  header.top .top-in{height:auto;min-height:52px;padding:9px 14px;flex-wrap:wrap;row-gap:6px;align-items:center}
  header.top .brand{flex:1 1 100%;min-width:0;gap:8px}
  header.top .brand .brandlink{min-width:0;flex-wrap:wrap;gap:5px}
  header.top .brand .brandlink .bko{font-size:14px;white-space:normal;line-height:1.25}
  header.top .acct{flex:1 1 100%;justify-content:flex-end;font-size:12px;gap:6px}
  header.top .acct .avatar{width:26px;height:26px;font-size:12px}
}

/* 모바일: 2행 헤더와 겹치지 않도록 탭 고정 해제 */
@media(max-width:640px){ nav.tabs{position:static} }

/* 배너 광고 슬롯(상단·하단) — 후원·무료+광고 모드 */
.su-ad-slot{margin:20px 0;display:flex;justify-content:center}
.su-ad-slot:empty{display:none;margin:0}
.su-article-ad{max-width:100%;text-align:center}
.su-article-ad-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;color:var(--muted2);border:1px solid var(--line2);border-radius:4px;padding:1px 6px;display:inline-block;margin-bottom:6px}
.su-article-ad a{display:inline-block}
.su-article-ad img{max-width:100%;height:auto;border-radius:8px;display:block;border:1px solid var(--line)}
@media(max-width:640px){ .su-ad-slot{margin:14px 0} }

/* 소개·FAQ 탭(정적 콘텐츠 섹션) */
.seo-static{max-width:820px;margin:0 auto;padding:8px 0}
.seo-static.hidden{display:none}
.seo-static h2{font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:26px 0 10px}
.seo-static h2:first-child{margin-top:0}
.seo-intro p{font-size:14px;line-height:1.75;color:var(--ink2);margin:0 0 12px}
.seo-intro b{font-weight:600;color:var(--ink)}
.seo-faq{margin-top:14px}
.seo-faq details{border:1px solid var(--line2);border-radius:11px;background:var(--card);padding:0;margin:8px 0}
.seo-faq summary{cursor:pointer;padding:14px 16px;font-size:14px;font-weight:600;color:var(--ink);list-style:none}
.seo-faq summary::-webkit-details-marker{display:none}
.seo-faq summary::before{content:'＋';color:var(--muted2);margin-right:8px;font-weight:700}
.seo-faq details[open] summary::before{content:'－'}
.seo-faq details[open] summary{border-bottom:1px solid var(--line2)}
.seo-faq details p{margin:0;padding:12px 16px 14px;font-size:13.5px;line-height:1.7;color:var(--ink2)}
.seo-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin:22px 0 0}
.seo-links a{font-size:13.5px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line3);padding-bottom:1px}
.seo-links a:hover{border-bottom-color:var(--ink)}
.seo-disc{margin:16px 0 0;font-size:11.5px;line-height:1.6;color:var(--muted)}
@media(max-width:640px){ .seo-static{margin-top:28px;padding-top:22px} .seo-static h2{font-size:17px} }
