*{box-sizing:border-box}
:root{--bg:#f5f7fa;--surface:#fff;--surface2:#f8fafc;--line:#dbe3ea;--text:#17212b;--muted:#65778a;--accent:#078c80;--accent2:#e7f7f4;--navy:#16324a;--shadow:0 8px 28px rgba(20,45,65,.07)}
html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 Inter,Segoe UI,Arial,sans-serif}
header{height:68px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{width:min(1280px,92vw);margin:auto;height:100%;display:flex;align-items:center;gap:18px}.brand{font-size:24px;font-weight:900;letter-spacing:2px}.brand span{color:var(--accent)}.sub{color:var(--muted)}
main{width:min(1280px,92vw);margin:auto;padding-bottom:50px}.hero{padding:48px 0 25px}.eyebrow{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:2px}.hero h1{font-size:clamp(32px,4vw,48px);line-height:1.06;margin:9px 0;color:#13283b}.hero p{font-size:17px;color:var(--muted);max-width:900px}
.searchbox{display:flex;gap:9px;margin-top:23px;max-width:1150px}.searchbox input,.searchbox select{height:50px;background:#fff;border:1px solid #cbd5df;border-radius:10px;color:var(--text);padding:0 14px;box-shadow:0 2px 8px rgba(15,35,55,.03)}.searchbox input[name=q]{flex:1;font-size:16px}.searchbox select{width:145px}.searchbox button,.clear-filter{height:50px;padding:0 22px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}.searchbox button:hover,.clear-filter:hover{filter:brightness(.95)}.search-note{font-size:12px;color:var(--muted);margin-top:9px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);margin:0 0 20px;padding:24px}.empty{text-align:center;padding:65px 25px}.orb{width:60px;height:60px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;margin:auto;font-weight:900;font-size:24px}.empty h2{font-size:26px}.muted{color:var(--muted)}
.status{margin:0 0 12px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}.right-status{font-weight:800;color:var(--navy)}.source-status{margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px}.source-status span{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12px}.source-ok{color:#08796e}.source-soft{color:#89691f}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.section-head h2{margin:4px 0;font-size:25px}.confidence{padding:9px 12px;border:1px solid var(--line);border-radius:9px;color:var(--muted);white-space:nowrap}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.summary-card{padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.summary-card span,.summary-card small{display:block;color:var(--muted)}.summary-card strong{display:block;color:var(--accent);font-size:34px;line-height:1.1;margin:7px 0}
.decision-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:13px}.decision-grid>div{padding:17px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.decision-grid h3{font-size:15px;margin:0 0 7px}.decision-grid p{margin:0;color:var(--muted);font-size:13px}
.family-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.family-card{padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.family-card strong{display:block;font-size:16px}.family-card span{display:block;color:var(--muted);margin:4px 0 12px}.family-card b{color:var(--accent);font-size:12px}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.detail-box{background:var(--surface2);border:1px solid var(--line);border-radius:13px;padding:17px;min-height:140px}.detail-box h3{margin:0 0 13px;font-size:15px}.bars{display:grid;gap:9px}.bar-row{display:grid;grid-template-columns:125px 1fr 28px;gap:8px;align-items:center;font-size:12px}.bar-row>div{height:7px;background:#e7edf2;border-radius:10px;overflow:hidden}.bar-row i{display:block;height:100%;background:var(--accent);border-radius:10px}.bar-row b,.tag-list b{color:var(--accent)}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag-list span{padding:6px 8px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:12px;color:#536779}.rank-list{display:grid;gap:8px}.rank-list div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:7px;font-size:12px}.rank-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-list b{color:var(--accent)}.pills{display:flex;flex-wrap:wrap;gap:8px}.pill{border:1px solid #d3dee6;background:#fff;border-radius:20px;padding:8px 11px;color:#334155;cursor:pointer}.pill:hover,.pill.active{border-color:#8ccfc7;background:var(--accent2);color:#075f58}.pill b{color:var(--accent);margin-left:3px}
.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.group-card{border:1px solid var(--line);background:var(--surface2);border-radius:13px;padding:18px;text-align:left;cursor:pointer;color:var(--text)}.group-card:hover,.group-card.active{border-color:#8ccfc7;background:var(--accent2)}.group-card span{display:block;color:var(--muted);font-weight:700}.group-card strong{display:inline-block;color:var(--accent);font-size:32px;margin-top:4px}.group-card small{color:var(--muted);margin-left:5px}
.papers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.paper{background:var(--surface2);border:1px solid var(--line);border-radius:13px;padding:17px;min-width:0}.paper:hover{border-color:#a7c9c4;box-shadow:0 5px 18px rgba(15,35,55,.06)}.paper-top{display:flex;justify-content:space-between;gap:10px}.source{font-size:10px;letter-spacing:1px;font-weight:900;color:var(--accent)}.group-tag,.mini-tag,.evidence{font-size:10px;padding:4px 7px;border-radius:7px;background:#fff;border:1px solid var(--line);color:#607486}.paper h4{font-size:16px;line-height:1.4;margin:8px 0}.paper p{font-size:12px;color:var(--muted);margin:7px 0}.signal-row{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.evidence{background:#eaf8f6;color:#08796e;border-color:#c8e8e3;font-weight:800}.mini-line{font-size:12px;color:var(--muted);margin:5px 0}.mini-line b{color:#334e63}.paper details{margin:10px 0}.paper summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:800}.abstract{background:#f1f5f7;border-radius:9px;padding:10px;color:#526576;font-size:13px;margin-top:8px}.paper a{color:var(--accent);text-decoration:none;font-weight:800;font-size:13px}.no-papers{padding:30px;text-align:center;background:var(--surface2);border-radius:10px;color:var(--muted)}
/* proper loading */
.loading-overlay{position:fixed;inset:0;background:rgba(245,247,250,.94);backdrop-filter:blur(7px);display:none;align-items:center;justify-content:center;z-index:9999}.loading-overlay.show{display:flex}.loader-card{width:min(520px,92vw);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 20px 70px rgba(15,35,55,.17)}.loader-title{font-size:20px;font-weight:900}.loader-stage-row{display:flex;justify-content:space-between;gap:15px;margin-top:7px;color:var(--muted);font-size:13px}.loader-stage-row #loadingPercent{font-weight:900;color:var(--accent)}.loader-progress{height:12px;background:#e8eef2;border-radius:20px;overflow:hidden;margin:17px 0}.loader-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#078c80,#36b8a8);border-radius:20px;transition:width .55s ease}.loader-steps{display:grid;gap:7px}.loader-steps div{font-size:12px;color:#9aa9b5;padding:7px 9px;border-radius:7px;background:#f8fafc}.loader-steps div.current{color:#075f58;background:#eaf8f6;font-weight:800}.loader-steps div.done{color:#08796e;background:#f0faf8}
@media(max-width:1100px){.summary-grid,.decision-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(2,1fr)}.family-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.group-grid{grid-template-columns:repeat(2,1fr)}.papers{grid-template-columns:1fr}.searchbox{flex-wrap:wrap}.searchbox input[name=q]{min-width:100%}.searchbox select{flex:1}.searchbox button{flex:1}}
@media(max-width:600px){header{height:60px}.header-inner{width:94vw}.sub{display:none}.hero{padding:34px 4% 20px}.hero p{font-size:15px}.panel{margin-left:3%;margin-right:3%;padding:17px}.status,.source-status{margin-left:3%;margin-right:3%}.status{flex-direction:column;gap:3px}.summary-grid,.decision-grid,.detail-grid,.family-grid,.group-grid{grid-template-columns:1fr}.section-head{flex-direction:column}.confidence{width:100%}.searchbox select,.searchbox button{width:100%;flex:none}.bar-row{grid-template-columns:105px 1fr 25px}.loader-card{padding:22px}.loader-stage-row{align-items:flex-start}.loader-stage-row span:nth-child(2){text-align:right}}

/* Alignment hardening: prevents unstyled/old browser defaults from collapsing the workspace */
html,body{min-width:0;overflow-x:hidden}
header .header-inner,main{margin-left:auto!important;margin-right:auto!important}
.searchbox{width:100%}
.searchbox input,.searchbox select,.searchbox button{font-family:inherit}
.loading-overlay{position:fixed!important;left:0!important;right:0!important;top:0!important;bottom:0!important}
.loader-card{display:block!important}

/* V5 interaction fixes */
.paper[hidden]{display:none!important}
.filter-btn{transition:background .15s ease,border-color .15s ease,transform .15s ease}
.filter-btn:active{transform:translateY(1px)}
.loading-overlay.show{display:flex!important}
.loader-progress{position:relative!important;display:block!important;width:100%!important;height:12px!important}
.loader-progress i{position:absolute!important;left:0!important;top:0!important;height:100%!important;min-width:2px!important;width:0;display:block!important}
body.is-searching{overflow:hidden}
