:root{--navy:#102b50;--blue:#1769d2;--blue-dark:#0d55b4;--ink:#172b46;--muted:#62738a;--line:#e3ebf4;--pale:#f4f8fd;--white:#fff;--green:#15966b;--shadow:0 20px 55px rgba(25,64,112,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 44px));margin-inline:auto}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100% - 1160px)/2));border-bottom:1px solid #edf1f6;background:rgba(255,255,255,.96);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:800;letter-spacing:-.7px;line-height:1.15}.brand-mark{width:43px;height:43px;border-radius:13px;background:linear-gradient(145deg,#2583ed,#1256b5);display:grid;place-items:center;color:#fff;font-size:25px;box-shadow:0 7px 18px #1769d233}.brand-accent{color:var(--blue)}.brand small{display:block;font-size:10px;letter-spacing:.15px;font-weight:500;color:#8190a3;margin-top:4px}.main-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:650;color:#52657d}.main-nav a{padding:10px 0;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:var(--blue)}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:20px;color:var(--navy)}.hero{min-height:520px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;padding-top:42px;padding-bottom:55px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#1769c9;font-size:10px;letter-spacing:1.5px;font-weight:800}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#1eaa83;box-shadow:0 0 0 4px #1eaa831a}.hero h1{font-size:clamp(42px,5vw,63px);line-height:1.08;letter-spacing:-2.8px;margin:21px 0 19px;color:#102b50}.hero h1 span{color:#1769d2}.hero-lede{max-width:535px;color:#62738a;font-size:16px;line-height:1.8;margin:0 0 27px}.search-box{display:flex;align-items:center;gap:10px;padding:7px;border:1px solid #dce6f1;border-radius:13px;box-shadow:0 8px 25px #1b4b7c0b;max-width:570px;background:white}.search-icon{font-size:27px;color:#7c8fa6;padding-left:9px}.search-box input{min-width:0;flex:1;border:0;outline:0;font:inherit;font-size:13px;color:var(--ink)}.search-box input::placeholder{color:#97a5b7}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:0;border-radius:9px;padding:13px 18px;font:700 13px inherit;cursor:pointer;transition:transform .18s,background .18s}.button:hover{transform:translateY(-1px)}.primary{background:var(--blue);color:white;box-shadow:0 8px 18px #1769d22b}.primary:hover{background:var(--blue-dark)}.secondary{background:#fff;color:var(--blue);border:1px solid #dce8f7}.quick-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:17px;font-size:11px;color:#8997a8}.quick-links a{color:#3f648f;font-weight:650}.quick-links a:hover{color:var(--blue)}.hero-art{position:relative;height:390px;min-width:0;display:grid;place-items:center;background:radial-gradient(ellipse at 52% 52%,#e5f1ff 0%,#f4f8ff 46%,#fff 73%);border-radius:45% 55% 49% 51%}.orbit{position:absolute;border:1px solid #c9ddf6;border-radius:50%;transform:rotate(-23deg)}.orbit-one{width:330px;height:220px}.orbit-two{width:420px;height:290px;transform:rotate(28deg);border-style:dashed;opacity:.7}.paper{position:absolute;background:#fff;border:1px solid #e3ebf4;border-radius:12px;box-shadow:0 20px 45px #174b8118;padding:23px}.paper-back{width:180px;height:230px;transform:translate(-42px,-3px) rotate(-8deg);opacity:.85}.paper-front{width:183px;height:242px;transform:translate(37px,4px) rotate(5deg);z-index:2}.paper-label{font-size:8px;letter-spacing:1.3px;color:#8092a7;font-weight:800}.paper-symbol{display:block;color:var(--blue);font-weight:900;font-size:30px;margin:12px 0}.paper strong{font-size:20px;line-height:1.25;color:var(--navy);display:block;margin-bottom:15px}.paper i{height:5px;display:block;background:#e6edf6;border-radius:5px;margin:9px 0;width:100%}.paper i.short{width:62%}.paper-chart{display:flex;align-items:end;gap:5px;height:33px;margin-top:17px}.paper-chart b{width:17px;border-radius:3px 3px 0 0;background:#b4d4fa;height:45%}.paper-chart b:nth-child(2){height:75%;background:#6ba8f2}.paper-chart b:nth-child(3){height:57%}.paper-chart b:nth-child(4){height:100%;background:#1769d2}.paper-chart b:nth-child(5){height:65%}.paper-chip{display:inline-block;background:#eaf7f1;color:#16845e;padding:5px 8px;border-radius:6px;font-size:9px;font-weight:800;margin-top:14px}.magnifier{position:absolute;right:14%;top:42%;z-index:3;transform:rotate(-18deg)}.lens{width:91px;height:91px;border:10px solid #1769d2;border-radius:50%;background:#fff;box-shadow:0 10px 25px #1256b52b;display:grid;place-items:center;color:#1769d2;font-size:14px;font-weight:800;position:relative}.lens b{position:absolute;right:-2px;bottom:1px;background:#1aa67b;color:white;width:23px;height:23px;display:grid;place-items:center;border:3px solid white;border-radius:50%;font-size:12px}.handle{width:15px;height:62px;border-radius:10px;background:linear-gradient(90deg,#1055b3,#277fe7);position:absolute;bottom:-52px;right:-3px;transform:rotate(-17deg);box-shadow:0 8px 12px #1256b52b}.floating-tag{position:absolute;z-index:4;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e4edf7;box-shadow:0 12px 25px #234d7617;padding:10px 13px;border-radius:10px;font-size:10px;font-weight:750;color:#40566f}.tag-top{top:55px;right:1px}.tag-bottom{bottom:45px;left:0}.tag-check{background:#e5f7ef;color:#15966b;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}.tag-dot{width:7px;height:7px;border-radius:50%;background:#19a77a}.trust-strip{border-block:1px solid #eaf0f7;background:#fbfdff}.trust-inner{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:24px}.trust-inner>span{font-size:9px;letter-spacing:1.2px;font-weight:800;color:#8a9aad;max-width:160px}.trust-inner>div{display:flex;flex-direction:column;gap:2px}.trust-inner b{font-size:13px;color:#23415f}.trust-inner div span{font-size:11px;color:#7c8da1}.section{padding-top:85px;padding-bottom:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}.section-heading h2,.progress-layout h2,.cta h2{font-size:31px;line-height:1.2;letter-spacing:-1px;color:var(--navy);margin:10px 0 0}.section-heading>p{max-width:310px;color:#728299;font-size:13px;margin:0 0 3px}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.tool-card{display:flex;flex-direction:column;align-items:flex-start;border:1px solid #e2eaf4;border-radius:14px;padding:24px 21px 20px;min-height:250px;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s}.tool-card:hover{transform:translateY(-4px);border-color:#c7dcf7;box-shadow:var(--shadow)}.tool-icon{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;font-size:24px;font-weight:700;margin-bottom:23px}.tool-icon.blue{background:#e8f2ff;color:#1769d2}.tool-icon.violet{background:#f0ebff;color:#7856d9}.tool-icon.green{background:#e5f8ef;color:#15966b}.tool-icon.amber{background:#fff4dc;color:#c7891a}.card-kicker{font-size:9px;font-weight:800;letter-spacing:1px;color:#8192a6}.tool-card h3{font-size:18px;margin:7px 0;color:var(--navy);letter-spacing:-.3px}.tool-card p{font-size:12px;color:#74849a;line-height:1.7;margin:0 0 18px}.card-link{font-size:11px;color:#1769d2;font-weight:800;margin-top:auto;width:100%;display:flex;justify-content:space-between}.progress-section{background:#f4f8fd;border-block:1px solid #e8eff8;padding:76px 0}.progress-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:90px}.progress-layout>div:first-child>p{color:#6c7f96;font-size:14px;line-height:1.8;margin:18px 0 25px;max-width:390px}.progress-card{background:white;border:1px solid #e1eaf4;border-radius:16px;padding:27px 29px;box-shadow:0 15px 45px #234d760b}.progress-head{display:flex;align-items:center;justify-content:space-between}.progress-head h3{font-size:20px;margin:5px 0 0;color:var(--navy)}.status-pill{font-size:9px;color:#66809b;background:#f0f5fa;border-radius:20px;padding:6px 9px;font-weight:750}.progress-stat{display:flex;gap:55px;margin:25px 0 17px}.progress-stat div{display:flex;flex-direction:column}.progress-stat strong{font-size:27px;color:var(--navy);line-height:1.2}.progress-stat span{font-size:11px;color:#7c8da1;margin-top:4px}.progress-track{height:6px;border-radius:8px;background:#edf2f8;overflow:hidden}.progress-track span{height:100%;display:block;background:linear-gradient(90deg,#1769d2,#58a1f4);border-radius:8px}.progress-list{margin-top:19px}.progress-list>div{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f0f3f7;font-size:12px;color:#4f647c}.progress-list>div:last-child{border-bottom:0}.progress-list b{margin-left:auto;font-size:10px;color:#8091a5}.step-done,.step-number{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.step-done{background:#e5f8ef;color:#15966b}.step-number{background:#f0f4f9;color:#6d8198;font-weight:800}.small-note{font-size:9px;color:#a0adbb;margin:14px 0 0}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:65px;padding-bottom:65px}.cta p{color:#74849a;font-size:13px;margin:10px 0 0}.site-footer{background:#f8fafd;border-top:1px solid #e8eef5;padding:32px 0 20px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.footer-brand{font-size:17px}.footer-brand .brand-mark{width:35px;height:35px;font-size:20px;border-radius:10px}.footer-inner>p{font-size:11px;color:#8190a3;text-align:right}.footer-links{display:flex;gap:20px;font-size:11px;color:#60748b}.copyright{grid-column:1/-1;border-top:1px solid #e7edf4;padding-top:16px;font-size:10px;color:#97a4b4}.page-hero{padding:58px 0 42px;background:linear-gradient(120deg,#f4f8ff,#fff)}.page-hero h1{font-size:42px;line-height:1.15;letter-spacing:-1.7px;color:var(--navy);margin:12px 0}.page-hero p{color:#6d7f95;max-width:650px;margin:0}.content-area{padding:35px 0 85px;min-height:360px}.panel{border:1px solid var(--line);border-radius:15px;padding:25px;background:white;box-shadow:0 10px 30px #234d7608}.form-row{display:flex;gap:10px;max-width:760px}.form-row input,.form-row select,.field{min-width:0;flex:1;padding:13px 14px;border:1px solid #dce6f1;border-radius:9px;font:inherit;font-size:13px;outline-color:#8bb9f1}.result-box{margin-top:20px;white-space:pre-wrap;color:#546981;font-size:13px;line-height:1.8}.result-box a{color:var(--blue);text-decoration:underline}.notice{background:#f4f8fd;border-left:3px solid #1769d2;padding:13px 16px;color:#63768d;font-size:12px;border-radius:0 8px 8px 0;margin-top:18px}.list-items{display:grid;gap:10px;margin-top:18px}.saved-item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px}.saved-item span{flex:1;font-size:13px;overflow-wrap:anywhere}.saved-item button{border:1px solid #dce6f1;border-radius:7px;padding:7px 10px;background:white;color:#536b84;cursor:pointer}.empty-state{padding:25px;color:#8292a6;font-size:13px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:960px){.main-nav{gap:15px}.hero{gap:25px}.hero-art{transform:scale(.92)}.tool-grid{grid-template-columns:repeat(2,1fr)}.progress-layout{gap:35px}.section-heading h2,.progress-layout h2,.cta h2{font-size:28px}}
@media(max-width:700px){.wrap{width:min(100% - 32px,560px)}.site-header{height:74px;padding:0 16px}.brand{font-size:18px}.brand-mark{width:39px;height:39px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:73px;background:white;border-bottom:1px solid var(--line);padding:12px 20px 18px;flex-direction:column;align-items:stretch;gap:2px;box-shadow:0 15px 25px #234d7610}.main-nav.open{display:flex}.main-nav a{padding:10px 4px}.hero{grid-template-columns:1fr;gap:12px;padding-top:50px;padding-bottom:35px}.hero h1{font-size:46px;letter-spacing:-2px}.hero-lede{font-size:14px}.search-box{gap:5px}.search-box input{font-size:11px}.search-box .button{padding:12px 11px;font-size:11px}.quick-links{gap:10px}.hero-art{height:320px;transform:none;max-width:470px;width:100%;margin:auto}.paper-back{transform:translate(-31px,-1px) rotate(-8deg) scale(.88)}.paper-front{transform:translate(25px,3px) rotate(5deg) scale(.88)}.magnifier{right:12%;top:40%;transform:rotate(-18deg) scale(.85)}.tag-top{right:0;top:30px}.tag-bottom{bottom:20px;left:0}.orbit-one{width:280px;height:190px}.orbit-two{width:340px;height:240px}.trust-inner{padding-top:20px;padding-bottom:20px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.trust-inner>span{grid-column:1/-1;max-width:none}.trust-inner div span{font-size:10px}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block}.section-heading h2,.progress-layout h2,.cta h2{font-size:27px}.section-heading>p{margin-top:12px}.tool-grid{gap:11px}.tool-card{padding:18px 15px;min-height:235px}.tool-icon{width:40px;height:40px;margin-bottom:18px}.tool-card h3{font-size:16px}.tool-card p{font-size:11px}.progress-section{padding:55px 0}.progress-layout{grid-template-columns:1fr;gap:28px}.progress-card{padding:22px 18px}.progress-stat{gap:40px}.cta{display:block;padding-top:50px;padding-bottom:50px}.cta .button{margin-top:22px}.footer-inner{grid-template-columns:1fr;gap:14px}.footer-inner>p{text-align:left;margin:0}.footer-links{flex-wrap:wrap}.copyright{grid-column:auto}.page-hero{padding:43px 0 30px}.page-hero h1{font-size:35px}.form-row{flex-direction:column}.form-row .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Single-page DOI access checker */
.text-button{border:0;background:transparent;padding:0;color:#1769d2;font:inherit;font-size:11px;font-weight:700;cursor:pointer;text-decoration:underline}.legend-free{color:#12845c!important}.legend-paid{color:#b42318!important}.legend-unknown{color:#9a6700!important}.access-status{margin:18px 0;padding:16px 18px;border:1px solid;border-radius:12px}.access-status p{margin:9px 0 0;font-size:13px;line-height:1.7}.status-badge{display:inline-flex;align-items:center;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:850;letter-spacing:.3px}.status-free{background:#effbf5;border-color:#a6e5c5;color:#126b4b}.status-free .status-badge{background:#d5f7e4;color:#087443}.status-paid{background:#fff3f1;border-color:#ffc7c0;color:#8d241c}.status-paid .status-badge{background:#ffe0dc;color:#a32118}.status-unknown{background:#fff9e9;border-color:#f2d78e;color:#76520a}.status-unknown .status-badge{background:#ffefbd;color:#875900}.paper-details{padding:3px 0 15px}.paper-details h3{font-size:20px;line-height:1.4;color:var(--navy);margin:0 0 10px}.paper-details p{font-size:12px;color:#63768d;margin:6px 0}.paper-details a,.result-box>a:not(.button){color:var(--blue);text-decoration:underline;font-size:12px}.source-button,.save-button{margin:8px 10px 8px 0}.saved-details{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}.saved-details strong{font-size:13px;color:var(--navy);overflow-wrap:anywhere}.saved-details small{font-size:11px;color:#71849a;overflow-wrap:anywhere}.saved-details a{font-size:11px;color:var(--blue)}#my-library .progress-layout{grid-template-columns:.8fr 1.2fr}.list-items{max-height:420px;overflow:auto}.saved-item{align-items:flex-start}.saved-item button{flex-shrink:0}.small-note{line-height:1.6}
@media(max-width:700px){.trust-inner{grid-template-columns:1fr 1fr}.trust-inner>div{min-width:0}.search-box{align-items:stretch}.search-box input{font-size:12px}.quick-links{align-items:flex-start}.access-status{padding:13px}.paper-details h3{font-size:18px}#my-library .progress-layout{grid-template-columns:1fr}.saved-item{gap:8px;padding:11px}.saved-item button{font-size:11px;padding:6px 8px}}

/* Citation tools and separate My Library page */
.citation-tools{margin-top:25px;padding-top:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto minmax(150px,230px) auto;align-items:center;gap:10px}.citation-tools label{font-size:12px;font-weight:800;color:var(--navy)}.citation-tools select{padding:10px 12px;border:1px solid #dce6f1;border-radius:8px;background:#fff;font:inherit;font-size:12px;color:var(--ink)}.citation-output{grid-column:1/-1;border:1px solid #e3ebf4;border-radius:9px;padding:14px;background:#f8fafd;font-size:12px;line-height:1.8;color:#405671;overflow-wrap:anywhere;min-height:48px}.library-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.library-actions .button{display:inline-flex;align-items:center}.button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.citation-tools{grid-template-columns:1fr}.citation-output{grid-column:1}.citation-tools .button{width:100%}}

/* Publisher and source links on DOI Access Check */
.publisher-links{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fbfdff}.publisher-links h4{margin:0 0 10px;color:var(--navy);font-size:15px}.source-link-list{margin:0;padding-left:20px;display:grid;gap:9px}.source-link-list a{overflow-wrap:anywhere}.source-link-list small{color:var(--muted);font-size:11px}.save-paper-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.save-paper-row .small-note{margin:0}

/* v12: Literature Matrix and reading-history additions */
.matrix-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.matrix-toolbar p{margin:0 auto 0 0;color:var(--muted,#71849a);font-size:12px}.table-scroll{width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}.literature-table{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.literature-table th,.literature-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.literature-table th{background:#f4f8fd;color:var(--navy);font-size:11px;white-space:nowrap}.literature-table td{color:#536981;line-height:1.55}.literature-table td a{color:var(--blue);overflow-wrap:anywhere}.literature-table textarea,.paper-note{width:100%;min-width:170px;min-height:74px;padding:9px;border:1px solid #dce6f1;border-radius:7px;font:inherit;font-size:11px;line-height:1.5;resize:vertical}.note-saved{display:block;color:#16845e;font-size:10px;margin-top:4px}.last-read-panel{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.matrix-shortcut{margin-top:12px}.saved-item .paper-note-wrap{width:100%;margin-top:10px}.saved-item .paper-note{min-width:0;min-height:55px}.saved-item .saved-details{align-self:stretch}.saved-item{flex-wrap:wrap}.saved-item .saved-details{flex:1 1 70%}.saved-item>button{margin-left:auto}@media(max-width:700px){.matrix-toolbar{align-items:stretch}.matrix-toolbar p{width:100%}.literature-table{min-width:780px}}


/* v16: full-width layout, horizontal-overflow prevention, home and library polish */
html, body { width:100%; max-width:100%; overflow-x:clip; }
body { min-width:0; }
.wrap { width:calc(100% - 40px); max-width:1440px; margin-left:auto; margin-right:auto; }
.site-header { padding-left:20px; padding-right:20px; }
main, header, footer, section, .panel, .content-area, .page-hero { min-width:0; }
.hero { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(24px,3vw,48px); }
.hero-copy, .hero-art, .panel, .progress-layout > *, .saved-details { min-width:0; }
.hero h1 { overflow-wrap:anywhere; }
.search-box { width:100%; min-width:0; }
.search-box input { min-width:0; }
.cta { width:calc(100% - 40px); max-width:1440px; }
.content-area.wrap, .page-hero .wrap { width:calc(100% - 40px); max-width:1440px; }
.panel { padding:clamp(16px,2.1vw,30px); }
#saved-list, #last-read-list, .saved-item, .saved-details, .library-actions { min-width:0; }
.saved-item { width:100%; overflow-wrap:anywhere; }
.saved-item button { max-width:100%; white-space:normal; }
.library-actions { align-items:center; }
.library-actions .button { max-width:100%; white-space:normal; }
.table-scroll { max-width:100%; overscroll-behavior-x:contain; }
/* Keep deliberate horizontal scrolling confined to wide data tables only. */
@media (max-width:960px) {
  .wrap, .content-area.wrap, .page-hero .wrap, .cta { width:calc(100% - 32px); }
  .site-header { padding-left:16px; padding-right:16px; }
}
@media (max-width:700px) {
  .wrap, .content-area.wrap, .page-hero .wrap, .cta { width:calc(100% - 24px); }
  .site-header { padding-left:12px; padding-right:12px; }
  .hero { grid-template-columns:minmax(0,1fr); }
  .hero h1 { font-size:clamp(34px,9vw,46px); letter-spacing:-1.5px; }
  .hero-art { max-width:100%; overflow:hidden; }
  .search-box { flex-wrap:wrap; }
  .search-box input { flex:1 1 calc(100% - 48px); }
  .search-box .button { flex:1 1 100%; width:100%; }
  .panel { border-radius:12px; }
  .saved-item { flex-direction:column; align-items:stretch; }
  .saved-item .saved-details { flex:1 1 auto; width:100%; }
  .saved-item button { align-self:flex-start; margin-left:0; }
  .library-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .library-actions .button { width:100%; }
  .citation-tools { min-width:0; }
}

.library-panel .progress-head{align-items:flex-start;gap:18px;flex-wrap:wrap}.library-panel .progress-head h3{font-size:22px;margin:5px 0 0;color:var(--navy)}.library-intro{margin:8px 0 0;color:var(--muted);font-size:13px;max-width:680px}.library-panel .status-pill{flex-shrink:0}.library-panel .list-items{max-height:none;overflow:visible}.library-panel .last-read-panel .list-items{max-height:280px;overflow:auto}
/* v20: restore original layout proportions with modest page gutters and centered navigation */
@media (min-width: 701px) {
  .site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-left: clamp(18px, 2.2vw, 32px);
    padding-right: clamp(18px, 2.2vw, 32px);
  }
  .main-nav {
    margin-left: auto;
    margin-right: auto;
    gap: clamp(18px, 2.2vw, 30px);
  }
}
.wrap,
.content-area.wrap,
.page-hero .wrap,
.cta {
  width: calc(100% - clamp(32px, 4vw, 64px));
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
.site-header { padding-top: 0; padding-bottom: 0; }
@media (max-width: 700px) {
  .wrap,
  .content-area.wrap,
  .page-hero .wrap,
  .cta {
    width: calc(100% - 28px);
  }
  .site-header { padding-left: 14px; padding-right: 14px; }
}

/* v21: fuller home page and contact page */
.home-tools { padding: 48px 0 64px; }
.home-tools-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }
.home-tool-card { border:1px solid var(--line); border-radius:15px; background:#fff; padding:24px; box-shadow:0 10px 28px #234d7608; }
.home-tool-card .tool-icon { width:42px;height:42px;border-radius:12px;background:#edf5ff;color:var(--blue);display:grid;place-items:center;font-size:20px;font-weight:800;margin-bottom:16px; }
.home-tool-card h3 { margin:0 0 8px;font-size:18px;color:var(--navy); }
.home-tool-card p { margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.75; }
.home-tool-card a { color:var(--blue);font-size:12px;font-weight:800; }
.home-bottom { background:#f4f8fd; padding:34px 0; }
.home-bottom-inner { display:flex;justify-content:space-between;align-items:center;gap:24px; }
.home-bottom h2 { margin:0 0 8px;color:var(--navy);font-size:24px; }
.home-bottom p { margin:0;color:var(--muted);font-size:13px;line-height:1.7;max-width:720px; }
.contact-hero { padding:48px 0 32px; }
.contact-hero h1 { font-size:clamp(34px,5vw,52px);line-height:1.1;letter-spacing:-1.8px;color:var(--navy);margin:12px 0 16px; }
.contact-hero p { color:var(--muted);max-width:780px;line-height:1.8; }
.contact-grid { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:22px;padding-bottom:64px; }
.contact-card { border:1px solid var(--line);border-radius:15px;padding:clamp(20px,3vw,30px);background:#fff;box-shadow:0 10px 28px #234d7608;min-width:0; }
.contact-card h2 { margin:0 0 12px;color:var(--navy);font-size:23px; }
.contact-card h3 { margin:20px 0 6px;color:var(--navy);font-size:15px; }
.contact-card p,.contact-card li { color:var(--muted);font-size:13px;line-height:1.75; }
.contact-card ul { padding-left:19px; }
.contact-form { display:grid;gap:14px;margin-top:20px; }
.contact-form label { display:grid;gap:6px;color:var(--navy);font-size:12px;font-weight:750; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%;min-width:0;padding:12px 13px;border:1px solid #dce6f1;border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:13px;box-sizing:border-box; }
.contact-form textarea { min-height:140px;resize:vertical; }
.contact-form .button { justify-self:start; }
.contact-notice { background:#f4f8fd;border:1px solid var(--line);padding:12px 14px;border-radius:10px;color:var(--muted);font-size:12px;line-height:1.7; }
.contact-faq { padding:0 0 64px; }
.contact-faq h2 { color:var(--navy);font-size:27px;margin:0 0 20px; }
.faq-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.faq-item { border:1px solid var(--line);border-radius:12px;padding:19px;background:#fff; }
.faq-item h3 { color:var(--navy);font-size:14px;margin:0 0 7px; }
.faq-item p { color:var(--muted);font-size:12px;line-height:1.7;margin:0; }
@media(max-width:760px) {
 .home-tools-grid,.contact-grid,.faq-grid { grid-template-columns:1fr; }
 .home-bottom-inner { align-items:flex-start;flex-direction:column; }
 .contact-hero { padding-top:34px; }
}

/* v22: direct contact channels beside the contact form */
.message-us-card .message-intro { color:var(--muted);font-size:13px;line-height:1.75;margin:0 0 20px; }
.message-channel { border:1px solid var(--line);border-radius:12px;padding:17px;margin-top:14px;background:linear-gradient(145deg,#fff,#f8fbff); }
.message-channel h3 { margin:0 0 8px;color:var(--navy);font-size:14px;letter-spacing:.06em;text-transform:uppercase; }
.message-channel .channel-address { display:block;color:var(--ink);font-weight:750;font-size:16px;overflow-wrap:anywhere;margin-bottom:12px; }
.channel-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.channel-button { display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 12px;border:1px solid #dce6f1;border-radius:10px;background:#fff;color:var(--navy);font-size:12px;font-weight:800;text-decoration:none;text-align:center; }
.channel-button:hover { border-color:var(--blue);color:var(--blue); }
.message-channels-note { color:var(--muted);font-size:12px;line-height:1.7;margin:18px 0 0; }
@media(max-width:760px) { .channel-actions { grid-template-columns:1fr; } }

/* v23: stable two-row header with navigation directly below the ScholarAccess brand */
.site-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 12px !important;
  padding: 18px clamp(16px, 2.5vw, 34px) 12px !important;
  height: auto !important;
  min-height: 0 !important;
  box-sizing: border-box;
}
.site-header .brand { align-self: flex-start; }
.site-header .main-nav {
  position: static !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start !important;
  gap: clamp(16px, 2vw, 28px) !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 0 2px !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}
.site-header .main-nav a { white-space: nowrap; }
.site-header .menu-toggle { display: none; }
@media (max-width: 700px) {
  .site-header { padding: 14px 14px 10px !important; gap: 10px !important; }
  .site-header .main-nav { gap: 14px !important; }
  .site-header .main-nav a { font-size: 12px; }
}

/* v24: center the navigation row across the full page, independently of the logo */
.site-header .main-nav {
  justify-content: center !important;
  text-align: center !important;
  align-self: stretch !important;
  width: 100% !important;
}
@media (max-width: 700px) {
  .site-header .main-nav { justify-content: center !important; }
}

/* v25: centered navigation with consistent spacing between items */
.site-header .main-nav {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 30px !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding: 8px 16px 12px !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
.site-header .main-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  .site-header .main-nav {
    gap: 16px !important;
    padding-inline: 12px !important;
  }
}

/* v26: hard-center the navigation against the viewport, not the logo/header flex layout */
.site-header {
  width: 100% !important;
  box-sizing: border-box !important;
}
.site-header .main-nav {
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: calc(100vw - 32px) !important;
  max-width: 100vw !important;
  margin: 0 !important;
  padding: 8px 12px 12px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(18px, 2.2vw, 32px) !important;
  box-sizing: border-box !important;
}
.site-header .main-nav a {
  margin: 0 !important;
  padding: 10px 0 !important;
  white-space: nowrap !important;
}
@media (max-width: 700px) {
  .site-header .main-nav {
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 24px) !important;
    gap: 14px !important;
  }
}


/* v28: accessible site-wide light/dark theme */
:root {
  color-scheme: light;
  --theme-page: #ffffff;
  --theme-surface: #f7faff;
  --theme-card: #ffffff;
  --theme-text: #15304f;
  --theme-muted: #61748b;
  --theme-border: #dbe5f0;
  --theme-input: #ffffff;
  --theme-shadow: 0 8px 24px rgba(20, 48, 79, .08);
}
html[data-theme="dark"] {
  color-scheme: dark;
  --theme-page: #101722;
  --theme-surface: #151f2c;
  --theme-card: #1b2736;
  --theme-text: #edf4ff;
  --theme-muted: #b0bfd2;
  --theme-border: #344356;
  --theme-input: #111b28;
  --theme-shadow: 0 8px 24px rgba(0, 0, 0, .24);
}
html, body {
  background-color: var(--theme-page);
  color: var(--theme-text);
}
body, .site-header, .site-footer, main, section, article, .card, .panel,
.contact-card, .contact-form, .form-card, .library-card, .matrix-card,
.result-card, .doi-card, .about-card {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.site-header, .site-footer {
  background-color: var(--theme-surface) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}
.site-header a, .site-footer a, .main-nav a {
  color: var(--theme-text);
}
body .card, body .panel, body .contact-card, body .contact-form,
body .form-card, body .library-card, body .matrix-card,
body .result-card, body .doi-card, body .surface, body .content-card {
  background-color: var(--theme-card);
  color: var(--theme-text);
  border-color: var(--theme-border);
  box-shadow: var(--theme-shadow);
}
body p, body li, body label, body small, body .muted, body .subtitle,
body .description, body .contact-notice {
  color: var(--theme-muted);
}
body input, body textarea, body select {
  background-color: var(--theme-input);
  color: var(--theme-text);
  border-color: var(--theme-border);
}
body input::placeholder, body textarea::placeholder {
  color: var(--theme-muted);
  opacity: .85;
}
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--theme-border);
  border-radius: 999px;
  padding: 8px 12px;
  background: var(--theme-card);
  color: var(--theme-text);
  font: inherit;
  font-size: .9rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.theme-toggle:hover { filter: brightness(.97); }
.theme-toggle:focus-visible { outline: 3px solid #3984f5; outline-offset: 3px; }
html[data-theme="dark"] .theme-toggle { background: #243448; }
html[data-theme="dark"] a { color: #83b7ff; }
html[data-theme="dark"] .btn, html[data-theme="dark"] button.primary,
html[data-theme="dark"] .button-primary { color: #fff; }
@media (max-width: 760px) {
  .theme-toggle { padding: 7px 10px; font-size: .82rem; }
}

/* v29: FAQ section */
.faq-section {
  width: min(100% - 32px, 1120px);
  margin: 48px auto;
  padding: 30px 0;
  color: var(--theme-text, #15304f);
}
.faq-section h2 { margin: 8px 0 10px; }
.faq-intro { max-width: 760px; margin-bottom: 22px; }
.faq-list { display: grid; gap: 12px; }
.faq-item {
  border: 1px solid var(--theme-border, #dbe5f0);
  border-radius: 12px;
  background: var(--theme-card, #fff);
  color: var(--theme-text, #15304f);
  padding: 0 18px;
}
.faq-item summary {
  cursor: pointer;
  font-weight: 650;
  padding: 17px 28px 17px 0;
  position: relative;
  list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  position: absolute;
  right: 2px;
  top: 12px;
  font-size: 1.35rem;
  color: #1976d2;
}
.faq-item[open] summary::after { content: "−"; }
.faq-item p { padding: 0 0 16px; margin: 0; line-height: 1.65; }
html[data-theme="dark"] .faq-item { background: var(--theme-card); border-color: var(--theme-border); }
@media (max-width: 640px) {
  .faq-section { width: calc(100% - 28px); margin: 32px auto; padding: 20px 0; }
  .faq-item { padding-inline: 14px; }
}

/* v30: explicit access-status colors and explanations */
.status-legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 14px; }
.status-legend-item { border: 1px solid var(--theme-border, #dbe5f0); border-radius: 12px; padding: 13px 14px; background: var(--theme-card, #fff); color: var(--theme-text, #15304f); }
.status-legend-item strong { display: block; font-size: 13px; line-height: 1.4; margin: 0 0 7px; }
.status-legend-item p { margin: 0; font-size: 12px; line-height: 1.55; color: var(--theme-muted, #61748b); }
.legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin: 0 6px 0 0; vertical-align: 1px; }
.legend-green { border-color: #8bd8b0; background: #effbf5; color: #126b4b; }
.legend-green .legend-dot { background: #14965b; }
.legend-red { border-color: #f0aaa2; background: #fff3f1; color: #8d241c; }
.legend-red .legend-dot { background: #d93025; }
.legend-yellow { border-color: #e8ce76; background: #fff9e9; color: #76520a; }
.legend-yellow .legend-dot { background: #d49b00; }
html[data-theme="dark"] .legend-green { background: #142c25; color: #a9f0cb; border-color: #27664c; }
html[data-theme="dark"] .legend-red { background: #321f22; color: #ffc0b8; border-color: #754047; }
html[data-theme="dark"] .legend-yellow { background: #302a1a; color: #ffe29a; border-color: #6e5a28; }
html[data-theme="dark"] .status-legend-item p { color: var(--theme-muted); }
@media (max-width: 760px) { .status-legend { grid-template-columns: 1fr; } }

/* v31: stronger dark-mode contrast for common components that used fixed light-theme colors */
html[data-theme="dark"] .paper-details h3,
html[data-theme="dark"] .saved-details strong,
html[data-theme="dark"] .literature-table th,
html[data-theme="dark"] .citation-tools label,
html[data-theme="dark"] .progress-head h3,
html[data-theme="dark"] .page-hero h1,
html[data-theme="dark"] .page-hero p,
html[data-theme="dark"] .panel h2,
html[data-theme="dark"] .panel h3,
html[data-theme="dark"] .form-row label,
html[data-theme="dark"] .notice,
html[data-theme="dark"] .library-intro { color: var(--theme-text) !important; }
html[data-theme="dark"] .saved-details small,
html[data-theme="dark"] .paper-details p,
html[data-theme="dark"] .literature-table td,
html[data-theme="dark"] .matrix-toolbar p,
html[data-theme="dark"] .small-note,
html[data-theme="dark"] .note-saved { color: var(--theme-muted) !important; }
html[data-theme="dark"] .citation-output,
html[data-theme="dark"] .literature-table th,
html[data-theme="dark"] .literature-table td,
html[data-theme="dark"] .literature-table textarea,
html[data-theme="dark"] .paper-note,
html[data-theme="dark"] .contact-form input,
html[data-theme="dark"] .contact-form select,
html[data-theme="dark"] .contact-form textarea,
html[data-theme="dark"] .channel-button { background: var(--theme-card) !important; color: var(--theme-text) !important; border-color: var(--theme-border) !important; }
html[data-theme="dark"] .citation-output { color: var(--theme-text) !important; }
html[data-theme="dark"] .status-free { background: #142c25; border-color: #27664c; color: #d9ffeb; }
html[data-theme="dark"] .status-free .status-badge { background: #20523d; color: #d9ffeb; }
html[data-theme="dark"] .status-paid { background: #321f22; border-color: #754047; color: #ffe2de; }
html[data-theme="dark"] .status-paid .status-badge { background: #633037; color: #ffe2de; }
html[data-theme="dark"] .status-unknown { background: #302a1a; border-color: #6e5a28; color: #fff0c2; }
html[data-theme="dark"] .status-unknown .status-badge { background: #58471e; color: #fff0c2; }
.library-citation-panel { margin: 26px 0 18px; padding-top: 22px; border-top: 1px solid var(--line); }
.library-citation-panel .citation-tools { grid-template-columns: minmax(100px, auto) minmax(180px, 1fr); }
.library-citation-panel .citation-tools label:nth-of-type(2) { grid-column: 1; }
.library-citation-panel .citation-tools #citation-style { grid-column: 2; }
.library-citation-panel .citation-output { grid-column: 1 / -1; }
@media(max-width:700px) { .library-citation-panel .citation-tools { grid-template-columns: 1fr; } .library-citation-panel .citation-tools label:nth-of-type(2), .library-citation-panel .citation-tools #citation-style { grid-column: 1; } }
@media print {
  body { background: #fff !important; color: #111 !important; }
  .site-header, .site-footer, .page-hero, .menu-toggle, .theme-toggle, .library-actions, .matrix-toolbar button, .matrix-toolbar a, .matrix-shortcut, .last-read-panel, .small-note, .library-citation-panel, .saved-item button, .note-saved { display: none !important; }
  .wrap, .content-area, .panel, .library-panel { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  .saved-item { break-inside: avoid; border-bottom: 1px solid #ccc; padding: 10px 0 !important; }
  .table-scroll { overflow: visible !important; border: 0 !important; }
  .literature-table { min-width: 0 !important; width: 100% !important; font-size: 9pt !important; }
  .literature-table th, .literature-table td { color: #111 !important; background: #fff !important; border: 1px solid #bbb !important; padding: 5px !important; }
  .literature-table textarea { min-height: 50px !important; border: 0 !important; background: #fff !important; color: #111 !important; resize: none !important; }
  .paper-note { min-height: 45px !important; border: 0 !important; background: #fff !important; color: #111 !important; }
  a { color: #111 !important; text-decoration: none !important; }
}


/* v32: Excel-friendly CSV is handled in app.js; strengthen dark-mode readability
   specifically for My Library and Literature Matrix, including saved cards and controls. */
html[data-theme="dark"] .page-hero,
html[data-theme="dark"] .content-area,
html[data-theme="dark"] .library-panel,
html[data-theme="dark"] .library-panel .progress-head,
html[data-theme="dark"] .library-panel .list-items,
html[data-theme="dark"] .library-panel .saved-item,
html[data-theme="dark"] .library-panel .last-read-panel,
html[data-theme="dark"] .library-panel .library-citation-panel,
html[data-theme="dark"] .matrix-toolbar,
html[data-theme="dark"] .table-scroll,
html[data-theme="dark"] .literature-table,
html[data-theme="dark"] .literature-table tbody,
html[data-theme="dark"] .literature-table tr {
  background-color: var(--theme-page) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"] .library-panel .saved-item,
html[data-theme="dark"] .library-panel .saved-item > *,
html[data-theme="dark"] .library-panel .saved-details,
html[data-theme="dark"] .library-panel .saved-details strong,
html[data-theme="dark"] .library-panel .saved-details small,
html[data-theme="dark"] .library-panel .saved-details p,
html[data-theme="dark"] .library-panel .empty-state,
html[data-theme="dark"] .library-panel .card-kicker,
html[data-theme="dark"] .library-panel .status-pill,
html[data-theme="dark"] .library-panel .small-note,
html[data-theme="dark"] .library-panel .library-intro,
html[data-theme="dark"] .page-hero h1,
html[data-theme="dark"] .page-hero p,
html[data-theme="dark"] .page-hero .eyebrow,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .panel h2,
html[data-theme="dark"] .panel h3,
html[data-theme="dark"] .panel p,
html[data-theme="dark"] .panel label,
html[data-theme="dark"] .panel small,
html[data-theme="dark"] .literature-table td,
html[data-theme="dark"] .literature-table th {
  color: var(--theme-text) !important;
}
html[data-theme="dark"] .literature-table th {
  background-color: #243448 !important;
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"] .literature-table td {
  background-color: #1b2736 !important;
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"] .literature-table td a,
html[data-theme="dark"] .saved-details a {
  color: #9bc7ff !important;
  text-decoration: underline;
}
html[data-theme="dark"] .literature-table textarea,
html[data-theme="dark"] .paper-note,
html[data-theme="dark"] #library-citation-paper,
html[data-theme="dark"] #citation-style,
html[data-theme="dark"] .citation-output,
html[data-theme="dark"] .library-panel input,
html[data-theme="dark"] .library-panel select,
html[data-theme="dark"] .library-panel textarea {
  background-color: var(--theme-input) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}
html[data-theme="dark"] .literature-table textarea::placeholder,
html[data-theme="dark"] .paper-note::placeholder {
  color: #aebed1 !important;
  opacity: 1;
}
html[data-theme="dark"] .library-panel .button.secondary,
html[data-theme="dark"] .matrix-toolbar .button.secondary {
  background-color: #243448 !important;
  color: #eaf2ff !important;
  border-color: #52667d !important;
}
html[data-theme="dark"] .library-panel .button.primary,
html[data-theme="dark"] .matrix-toolbar .button.primary {
  color: #ffffff !important;
}


/* v33: Force readable dark-mode colors on My Library, Literature Matrix and integrity note.
   Deliberately use broad, high-specificity selectors to override earlier page-specific rules. */
html[data-theme="dark"] body,
html[data-theme="dark"] body .site-shell,
html[data-theme="dark"] body main,
html[data-theme="dark"] body .container,
html[data-theme="dark"] body .page-content {
  color: #edf3fb !important;
}
html[data-theme="dark"] body .research-integrity-note,
html[data-theme="dark"] body .integrity-note,
html[data-theme="dark"] body .notice,
html[data-theme="dark"] body .callout,
html[data-theme="dark"] body .alert,
html[data-theme="dark"] body .info-box,
html[data-theme="dark"] body .page-note,
html[data-theme="dark"] body .legal-note,
html[data-theme="dark"] body .disclaimer,
html[data-theme="dark"] body .note-box {
  background: #202d3d !important;
  color: #f0f5fc !important;
  border-color: #52657a !important;
}
html[data-theme="dark"] body .research-integrity-note *,
html[data-theme="dark"] body .integrity-note *,
html[data-theme="dark"] body .notice *,
html[data-theme="dark"] body .callout *,
html[data-theme="dark"] body .alert *,
html[data-theme="dark"] body .info-box *,
html[data-theme="dark"] body .page-note *,
html[data-theme="dark"] body .legal-note *,
html[data-theme="dark"] body .disclaimer *,
html[data-theme="dark"] body .note-box * {
  color: #f0f5fc !important;
}
html[data-theme="dark"] body .library-panel,
html[data-theme="dark"] body .library-panel *,
html[data-theme="dark"] body .matrix-panel,
html[data-theme="dark"] body .matrix-panel *,
html[data-theme="dark"] body .literature-matrix,
html[data-theme="dark"] body .literature-matrix *,
html[data-theme="dark"] body #my-library,
html[data-theme="dark"] body #my-library *,
html[data-theme="dark"] body #literature-matrix,
html[data-theme="dark"] body #literature-matrix *,
html[data-theme="dark"] body .library-content,
html[data-theme="dark"] body .library-content *,
html[data-theme="dark"] body .matrix-content,
html[data-theme="dark"] body .matrix-content *,
html[data-theme="dark"] body .saved-item,
html[data-theme="dark"] body .saved-item *,
html[data-theme="dark"] body .literature-table,
html[data-theme="dark"] body .literature-table * {
  color: #edf3fb !important;
  border-color: #42536a !important;
}
html[data-theme="dark"] body .library-panel,
html[data-theme="dark"] body .matrix-panel,
html[data-theme="dark"] body .literature-matrix,
html[data-theme="dark"] body #my-library,
html[data-theme="dark"] body #literature-matrix,
html[data-theme="dark"] body .library-content,
html[data-theme="dark"] body .matrix-content,
html[data-theme="dark"] body .saved-item {
  background-color: #172231 !important;
}
html[data-theme="dark"] body .library-panel .saved-item,
html[data-theme="dark"] body .saved-item,
html[data-theme="dark"] body .literature-table tbody tr,
html[data-theme="dark"] body .literature-table td {
  background-color: #1d2a3a !important;
}
html[data-theme="dark"] body .literature-table th {
  background-color: #2b3d52 !important;
  color: #ffffff !important;
}
html[data-theme="dark"] body .library-panel input,
html[data-theme="dark"] body .library-panel select,
html[data-theme="dark"] body .library-panel textarea,
html[data-theme="dark"] body .literature-table input,
html[data-theme="dark"] body .literature-table select,
html[data-theme="dark"] body .literature-table textarea,
html[data-theme="dark"] body #library-citation-paper,
html[data-theme="dark"] body #citation-style,
html[data-theme="dark"] body .citation-output,
html[data-theme="dark"] body .paper-note {
  background-color: #111a26 !important;
  color: #f4f7fb !important;
  border: 1px solid #61758c !important;
}
html[data-theme="dark"] body input::placeholder,
html[data-theme="dark"] body textarea::placeholder {
  color: #b8c7d9 !important;
  opacity: 1 !important;
}
html[data-theme="dark"] body .library-panel button,
html[data-theme="dark"] body .matrix-toolbar button,
html[data-theme="dark"] body .library-panel .button,
html[data-theme="dark"] body .matrix-toolbar .button {
  color: #ffffff !important;
}
html[data-theme="dark"] body .library-panel a,
html[data-theme="dark"] body .matrix-panel a,
html[data-theme="dark"] body .literature-table a,
html[data-theme="dark"] body .saved-item a {
  color: #9dccff !important;
}


/* v34: consistent dark-mode contrast across DOI Access Check, My Library and Literature Matrix.
   Target actual shared markup (.content-area > .panel, .result-box, .notice and matrix table)
   rather than relying only on page-specific class names. */
html[data-theme="dark"] {
  color-scheme: dark;
}
html[data-theme="dark"] body,
html[data-theme="dark"] main,
html[data-theme="dark"] .content-area,
html[data-theme="dark"] .content-area.wrap,
html[data-theme="dark"] .content-area > .wrap,
html[data-theme="dark"] .content-area .panel,
html[data-theme="dark"] .content-area .library-panel,
html[data-theme="dark"] .content-area .library-citation-panel,
html[data-theme="dark"] .content-area .last-read-panel,
html[data-theme="dark"] .content-area .result-box,
html[data-theme="dark"] .content-area .notice,
html[data-theme="dark"] .content-area .matrix-shortcut,
html[data-theme="dark"] .content-area .table-scroll {
  background-color: #101722 !important;
  color: #edf3fb !important;
  border-color: #35465a !important;
}
html[data-theme="dark"] .content-area .panel,
html[data-theme="dark"] .content-area .library-panel,
html[data-theme="dark"] .content-area .library-citation-panel,
html[data-theme="dark"] .content-area .last-read-panel {
  background-color: #172231 !important;
}
html[data-theme="dark"] .content-area .result-box,
html[data-theme="dark"] .content-area .notice {
  background-color: #202d3d !important;
}
html[data-theme="dark"] .content-area .panel *,
html[data-theme="dark"] .content-area .result-box *,
html[data-theme="dark"] .content-area .notice *,
html[data-theme="dark"] .content-area .library-citation-panel *,
html[data-theme="dark"] .content-area .last-read-panel * {
  border-color: #35465a;
}
html[data-theme="dark"] .content-area h1,
html[data-theme="dark"] .content-area h2,
html[data-theme="dark"] .content-area h3,
html[data-theme="dark"] .content-area h4,
html[data-theme="dark"] .content-area p,
html[data-theme="dark"] .content-area label,
html[data-theme="dark"] .content-area li,
html[data-theme="dark"] .content-area strong,
html[data-theme="dark"] .content-area .small-note,
html[data-theme="dark"] .content-area .library-intro,
html[data-theme="dark"] .content-area .card-kicker,
html[data-theme="dark"] .content-area .empty-state,
html[data-theme="dark"] .content-area .saved-details,
html[data-theme="dark"] .content-area .saved-details * {
  color: #edf3fb !important;
}
html[data-theme="dark"] .content-area .small-note,
html[data-theme="dark"] .content-area .muted,
html[data-theme="dark"] .content-area .saved-details small {
  color: #b8c6d8 !important;
}
html[data-theme="dark"] .content-area input,
html[data-theme="dark"] .content-area select,
html[data-theme="dark"] .content-area textarea,
html[data-theme="dark"] .content-area .citation-output,
html[data-theme="dark"] .content-area .paper-note,
html[data-theme="dark"] .content-area .literature-table textarea {
  background-color: #0c131d !important;
  color: #f3f7fc !important;
  border-color: #52647a !important;
}
html[data-theme="dark"] .content-area input::placeholder,
html[data-theme="dark"] .content-area textarea::placeholder {
  color: #a9b8ca !important;
  opacity: 1;
}
html[data-theme="dark"] .content-area input:focus,
html[data-theme="dark"] .content-area select:focus,
html[data-theme="dark"] .content-area textarea:focus {
  outline: 2px solid #78b4ff;
  outline-offset: 1px;
}
html[data-theme="dark"] .content-area .saved-item,
html[data-theme="dark"] .content-area .literature-table tbody tr,
html[data-theme="dark"] .content-area .literature-table td {
  background-color: #1b2736 !important;
  color: #edf3fb !important;
  border-color: #35465a !important;
}
html[data-theme="dark"] .content-area .literature-table th {
  background-color: #2b3d52 !important;
  color: #ffffff !important;
  border-color: #52647a !important;
}
html[data-theme="dark"] .content-area a:not(.button) {
  color: #9bc7ff !important;
  text-decoration-color: currentColor;
}
html[data-theme="dark"] .content-area .button.secondary,
html[data-theme="dark"] .content-area button.secondary {
  background-color: #26384c !important;
  color: #f0f6ff !important;
  border-color: #52647a !important;
}
html[data-theme="dark"] .content-area .button.primary,
html[data-theme="dark"] .content-area button.primary {
  background-color: #1769d2 !important;
  color: #ffffff !important;
  border-color: #1769d2 !important;
}

/* Per-paper citation style and export selection controls */
.saved-paper-export-select { margin:.5rem 0; }
.saved-paper-export-select label { display:inline-flex; align-items:center; gap:.4rem; cursor:pointer; }
.saved-citation-style-control { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin:.65rem 0; }
.saved-citation-style-control select { max-width:100%; min-width:220px; }
.saved-selected-citation pre { white-space:pre-wrap; overflow-wrap:anywhere; }

@media print { .saved-item.exclude-from-export-print { display:none !important; } }


/* Shared citation style applied uniformly to every selected-paper export */
.export-citation-style-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0 1.25rem;padding:1rem;border:1px solid var(--border-color,#d7dce2);border-radius:12px;background:var(--panel-bg,#fff)}
.export-citation-style-picker label{display:block}
.export-citation-style-picker select{min-width:220px;max-width:100%;padding:.65rem;border:1px solid var(--border-color,#b9c2ce);border-radius:8px;background:var(--input-bg,#fff);color:var(--text-color,#172033)}
.export-citation-style-picker .small-note{flex-basis:100%;margin:0}
html[data-theme="dark"] .export-citation-style-picker{background:#202938;border-color:#485568;color:#f3f6fb}
html[data-theme="dark"] .export-citation-style-picker select{background:#151d29;border-color:#536176;color:#f3f6fb}
@media print{.export-citation-style-picker,.export-selection-toolbar{display:none!important}}

/* v42: one shared citation style; no per-paper style selector */
.saved-citation-style-control{display:none!important}
.export-citation-style-picker{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0 1.25rem;padding:1rem;border:1px solid var(--border-color,#d7dce2);border-radius:12px;background:var(--panel-bg,#fff)}
.export-citation-style-picker label{display:block}
.export-citation-style-picker select{min-width:220px;max-width:100%;padding:.65rem;border:1px solid var(--border-color,#b9c2ce);border-radius:8px;background:var(--input-bg,#fff);color:var(--text-color,#172033)}
.export-citation-style-picker .small-note{flex-basis:100%;margin:0}
html[data-theme="dark"] .export-citation-style-picker{background:#202938;border-color:#485568;color:#f3f6fb}
html[data-theme="dark"] .export-citation-style-picker select{background:#151d29;border-color:#536176;color:#f3f6fb}
@media print{.export-citation-style-picker,.export-selection-toolbar{display:none!important}}

/* v43 Literature Matrix paper selection */
.matrix-selection-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:.75rem 0 1rem}
.literature-table th:first-child,.literature-table td:first-child{width:76px;text-align:center}
.literature-table td:first-child input[type="checkbox"]{width:18px;height:18px;cursor:pointer}


/* v44 — responsive mobile refinement */
:root { --mobile-safe-gap: max(16px, env(safe-area-inset-left)); }
html { -webkit-text-size-adjust: 100%; }
body { overflow-wrap: anywhere; }
button, input, select, textarea, a { -webkit-tap-highlight-color: transparent; }
button, .button, input, select, textarea { touch-action: manipulation; }
:focus-visible { outline: 3px solid #6aaeff; outline-offset: 3px; }
img, svg, video, canvas { max-width: 100%; height: auto; }

@media (max-width: 900px) {
  .wrap { width: min(100% - 32px, 760px); }
  .site-header { height: auto; min-height: 72px; padding: 12px 16px; gap: 12px; }
  .brand { font-size: 18px; gap: 9px; }
  .brand-mark { width: 39px; height: 39px; flex: 0 0 39px; }
  .main-nav { gap: 16px; }
  .hero { gap: 26px; min-height: 0; padding-top: 32px; padding-bottom: 42px; }
  .hero-art { height: 330px; }
  .tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section { padding-top: 58px; padding-bottom: 60px; }
  .page-hero { padding-block: 36px; }
}

@media (max-width: 700px) {
  .wrap { width: calc(100% - 28px); }
  .site-header { position: sticky; top: 0; z-index: 100; min-height: 68px; padding: 10px 14px; background: rgba(255,255,255,.97); backdrop-filter: blur(14px); }
  html[data-theme="dark"] .site-header { background: rgba(11,17,26,.97); }
  .brand { font-size: 16px; letter-spacing: -.4px; }
  .brand small { font-size: 9px; }
  .brand-mark { width: 36px; height: 36px; flex-basis: 36px; border-radius: 11px; font-size: 21px; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; flex: 0 0 auto; cursor: pointer; }
  .main-nav { display: none; position: absolute; top: calc(100% - 1px); left: 0; right: 0; padding: 10px 14px 16px; flex-direction: column; align-items: stretch; gap: 4px; background: #fff; border-bottom: 1px solid #dce6f1; box-shadow: 0 18px 28px rgba(16,43,80,.12); max-height: calc(100dvh - 68px); overflow-y: auto; }
  .main-nav.open { display: flex; }
  .main-nav a { display: flex; align-items: center; min-height: 46px; padding: 10px 12px; border-radius: 9px; font-size: 14px; }
  .main-nav a.active { background: #edf5ff; }
  .main-nav .theme-toggle { align-self: stretch; justify-content: center; min-height: 44px; margin-top: 5px; }
  html[data-theme="dark"] .main-nav { background: #101a28; border-color: #35465a; }
  html[data-theme="dark"] .main-nav a.active { background: #203650; }
  .hero { display: flex; flex-direction: column; align-items: stretch; gap: 18px; padding-top: 30px; padding-bottom: 34px; }
  .hero h1 { font-size: clamp(35px, 9vw, 48px); letter-spacing: -1.7px; margin: 14px 0; }
  .hero-lede { font-size: 15px; line-height: 1.7; margin-bottom: 20px; }
  .hero-art { width: 100%; height: clamp(245px, 68vw, 320px); border-radius: 28px; overflow: hidden; }
  .orbit-one { width: 245px; height: 165px; }
  .orbit-two { width: 300px; height: 205px; }
  .paper-back { width: 142px; height: 190px; padding: 16px; }
  .paper-front { width: 145px; height: 198px; padding: 16px; }
  .paper strong { font-size: 16px; }
  .magnifier { right: 10%; top: 42%; transform: scale(.78) rotate(-18deg); transform-origin: center; }
  .tag-top { top: 20px; right: 10px; }
  .tag-bottom { bottom: 18px; left: 10px; }
  .trust-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; padding-block: 22px; }
  .trust-inner > span { grid-column: 1 / -1; max-width: none; }
  .section { padding-block: 44px; }
  .section-heading { display: block; margin-bottom: 22px; }
  .section-heading h2, .progress-layout h2, .cta h2 { font-size: 27px; }
  .section-heading > p { margin-top: 12px; }
  .tool-grid { grid-template-columns: 1fr; gap: 12px; }
  .tool-card { min-height: 0; padding: 20px; }
  .page-hero { padding: 30px 0 24px; }
  .page-hero h1 { font-size: clamp(30px, 8vw, 40px); line-height: 1.12; letter-spacing: -1.2px; }
  .page-hero p { font-size: 14px; }
  .content-area { padding-bottom: 34px; }
  .content-area .panel, .content-area .library-panel { padding: 16px; border-radius: 14px; }
  .form-row, .search-box { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
  .form-row input, .form-row select, .form-row textarea,
  .search-box input, .content-area input:not([type="checkbox"]):not([type="radio"]),
  .content-area select, .content-area textarea { width: 100%; min-width: 0; max-width: 100%; min-height: 46px; font-size: 16px; }
  .search-box { padding: 12px; }
  .search-icon { display: none; }
  .button, .content-area button { min-height: 44px; }
  .content-area .button { width: 100%; white-space: normal; }
  .quick-links { gap: 10px 14px; line-height: 1.5; }
  .status-legend { grid-template-columns: 1fr; }
  .status-legend-item { padding: 14px; }
  .matrix-selection-toolbar, .matrix-toolbar, .export-citation-style-picker { align-items: stretch; flex-direction: column; }
  .matrix-toolbar { gap: 8px; }
  .matrix-toolbar > *, .matrix-selection-toolbar > *, .export-citation-style-picker select { width: 100%; min-width: 0; }
  .table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; border-radius: 10px; }
  .literature-table { min-width: 900px; }
  .literature-table th, .literature-table td { padding: 10px 12px; font-size: 12px; }
  .literature-table th:first-child, .literature-table td:first-child { position: sticky; left: 0; z-index: 2; min-width: 74px; }
  .literature-table th:first-child { z-index: 3; }
  .literature-table td textarea { min-width: 150px; }
  .saved-item { padding: 16px !important; }
  .saved-item .button, .saved-item button { width: 100%; }
  .saved-item .saved-paper-export-select label { min-height: 44px; }
  .citation-output, .saved-selected-citation pre { overflow-wrap: anywhere; word-break: break-word; }
  .footer-inner { gap: 14px; align-items: flex-start; }
  .footer-links { display: flex; flex-wrap: wrap; gap: 10px 16px; }
  .site-footer { padding-bottom: max(22px, env(safe-area-inset-bottom)); }
}

@media (max-width: 380px) {
  .wrap { width: calc(100% - 22px); }
  .site-header { padding-inline: 10px; }
  .brand { font-size: 14px; }
  .brand small { font-size: 8px; }
  .brand-mark { width: 32px; height: 32px; flex-basis: 32px; }
  .menu-toggle { min-width: 42px; padding-inline: 8px; }
  .hero h1 { font-size: 33px; }
  .hero-art { height: 235px; }
  .paper-back { width: 125px; height: 170px; }
  .paper-front { width: 128px; height: 178px; }
  .floating-tag { font-size: 9px; padding: 8px 9px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* v46 — local library backup and restore */
.library-backup-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0 22px;padding:18px;border:1px solid var(--border,#dce6f1);border-radius:14px;background:rgba(23,105,210,.035)}
.library-backup-panel h3{margin:5px 0 6px}
.library-backup-panel .small-note{margin:0;max-width:620px}
.backup-actions{display:flex;flex-wrap:wrap;gap:9px;flex-shrink:0}
.backup-actions .button{white-space:nowrap}
.backup-status{flex-basis:100%;margin:0;font-size:13px;line-height:1.5}
.backup-status:empty{display:none}
@media(max-width:700px){.library-backup-panel{display:block;padding:15px}.backup-actions{display:grid;grid-template-columns:1fr;margin-top:14px}.backup-actions .button{width:100%;white-space:normal}.backup-status{margin-top:10px}}


/* v47 — visible backup controls on Literature Matrix */
.library-backup-panel{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:12px}
.library-backup-panel .backup-actions{display:flex;flex-wrap:wrap;gap:10px}
.library-backup-panel .backup-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.library-backup-panel #backup-import-file{display:none}
.library-backup-panel .backup-status{min-height:0}
@media(max-width:700px){.library-backup-panel .backup-actions{display:grid;grid-template-columns:1fr}.library-backup-panel .backup-actions .button{width:100%}}


/* v49 — backup safety, duplicate-DOI import feedback, and mobile matrix usability */
.library-backup-panel .backup-status { overflow-wrap: anywhere; }
.library-backup-panel .backup-status.error { color: #b42318; font-weight: 650; }
.library-backup-panel .backup-actions .button:focus-visible,
.library-panel button:focus-visible, .library-panel input:focus-visible,
.library-panel textarea:focus-visible, .matrix-toolbar .button:focus-visible { outline: 3px solid var(--accent, #1769d2); outline-offset: 3px; }
@media (max-width: 700px) {
  .library-panel .export-citation-style-picker select { width: 100%; max-width: 100%; }
  .matrix-toolbar { align-items: stretch; }
  .matrix-toolbar .button { width: 100%; justify-content: center; }
  .table-scroll { overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  .literature-table { min-width: 860px; }
}


/* v50 — automatic local recovery, bulk library actions, and matrix filters */
.bulk-selection-toolbar,.matrix-filter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;padding:14px;border:1px solid var(--border,#dce6f1);border-radius:12px;background:rgba(23,105,210,.035)}
.bulk-selection-toolbar .small-note{flex-basis:100%;margin:0}
.saved-item .bulk-paper-select{display:flex;align-items:center;gap:7px;flex:0 0 auto;font-size:13px;}
.bulk-paper-checkbox{width:18px;height:18px;}
.matrix-filter-toolbar label{display:flex;align-items:center;gap:8px;flex:1 1 260px;font-weight:600}
.matrix-filter-toolbar input,.matrix-filter-toolbar select{min-width:0;flex:1 1 auto;padding:10px 12px;border:1px solid var(--border,#cbd5e1);border-radius:8px;background:var(--surface,#fff);color:inherit}
@media(max-width:700px){.bulk-selection-toolbar,.matrix-filter-toolbar{align-items:stretch;flex-direction:column}.bulk-selection-toolbar>*{width:100%}.matrix-filter-toolbar label{align-items:stretch;flex-direction:column}.matrix-filter-toolbar input,.matrix-filter-toolbar select{width:100%}.saved-item .bulk-paper-select{min-height:40px}}


/* v51 advanced library filters and research metadata */
.library-filter-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end;margin:18px 0;padding:16px;border:1px solid var(--border-color,#d8dee8);border-radius:14px}
.library-filter-toolbar label,.paper-metadata-editor label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem}
.library-filter-toolbar input,.library-filter-toolbar select,.paper-metadata-editor input,.paper-metadata-editor select{width:100%;min-width:0;padding:9px 10px;border:1px solid var(--border-color,#cbd5e1);border-radius:8px;background:var(--surface,#fff);color:inherit}
.paper-metadata-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:12px}
.literature-table td select{max-width:150px;padding:6px;border-radius:6px}
@media(max-width:600px){.library-filter-toolbar{grid-template-columns:1fr}.paper-metadata-editor{grid-template-columns:1fr}}


/* v61 reliability and mobile usability */
.duplicate-doi-results{display:grid;gap:.75rem;margin-top:.75rem}
.duplicate-doi-card{border:1px solid var(--border-color, #d5dce6);border-radius:12px;padding:.85rem 1rem;background:var(--surface, #fff);overflow-wrap:anywhere}
.duplicate-doi-card h4{margin:0 0 .4rem;font-size:.95rem}
.duplicate-doi-card ul{margin:.25rem 0 0;padding-left:1.25rem}
.duplicate-doi-card li{margin:.3rem 0}
.backup-status{overflow-wrap:anywhere}
@media(max-width:640px){.backup-actions,.library-actions,.bulk-selection-toolbar,.export-selection-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:.55rem}.backup-actions .button,.library-actions .button,.bulk-selection-toolbar .button,.export-selection-toolbar .button{width:100%;justify-content:center}.duplicate-doi-card{padding:.7rem}.library-filter-toolbar{grid-template-columns:minmax(0,1fr)!important}.library-filter-toolbar label{min-width:0}.library-filter-toolbar input,.library-filter-toolbar select{width:100%;max-width:100%;box-sizing:border-box}}


/* v63: ScholarAccess dashboard redesign with collapsible left navigation */
:root { --sa-bg:#07111d; --sa-panel:#0c1a29; --sa-panel-2:#102236; --sa-border:#20354b; --sa-text:#edf5ff; --sa-muted:#a7bad0; --sa-blue:#1499ff; }
html[data-theme="dark"] body, body { background:var(--sa-bg); color:var(--sa-text); }
body { padding-left:260px; min-height:100vh; }
.sa-sidebar { position:fixed; z-index:1000; left:0; top:0; bottom:0; width:260px; padding:22px 15px 16px; background:linear-gradient(180deg,#091522 0%,#07111d 100%); border-right:1px solid #1a2d41; display:flex; flex-direction:column; overflow-y:auto; }
.sa-sidebar-brand { display:flex; align-items:center; gap:12px; padding:3px 9px 27px; color:#f4f8ff; text-decoration:none; font-size:21px; font-weight:800; letter-spacing:-.5px; }
.sa-sidebar-brand>span:last-child>span { color:#24a6ff; }
.sa-sidebar-brand small { display:block; color:#8097b0; font-size:10px; font-weight:500; letter-spacing:.2px; margin-top:3px; }
.sa-brand-icon { display:grid; place-items:center; width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#168fff,#1450a2);color:white;font-size:22px;box-shadow:0 6px 18px #008cff35; }
.sa-nav-label { color:#617991; font-size:10px; font-weight:800; letter-spacing:1.5px; padding:0 12px 10px; }
.sa-side-nav { display:grid; gap:5px; }
.sa-side-nav a { display:flex; align-items:center; gap:13px; padding:11px 12px; border-radius:9px; color:#bdcde0; text-decoration:none; font-size:13px; font-weight:600; transition:background .18s,color .18s; }
.sa-side-nav a>span { display:inline-grid; place-items:center; width:22px; flex:0 0 22px; font-size:20px; color:#8ea9c5; }
.sa-side-nav a:hover,.sa-side-nav a.active { background:linear-gradient(100deg,#103d70,#12315a);color:#fff; }
.sa-side-nav a.active>span,.sa-side-nav a:hover>span { color:#46b7ff; }
.sa-nav-label-secondary { border-top:1px solid #1b3045; margin-top:20px; padding-top:20px; }
.sa-sidebar-bottom { display:flex; gap:10px; align-items:center; margin-top:auto; padding:15px 12px; border:1px solid #203c59; border-radius:12px; background:radial-gradient(ellipse at right bottom,#123e6a,#0b1c2d 70%); }
.sa-status-dot { width:8px;height:8px;border-radius:50%;background:#25d6a2;box-shadow:0 0 12px #25d6a2; flex-shrink:0; }
.sa-sidebar-bottom strong,.sa-sidebar-bottom small { display:block; }
.sa-sidebar-bottom strong { color:#e8f3ff;font-size:12px; }
.sa-sidebar-bottom small { color:#89a7c6;font-size:10px;line-height:1.5;margin-top:3px; }
.site-header { position:sticky;top:0;z-index:500; min-height:70px; background:#081522ed; backdrop-filter:blur(16px); border-bottom:1px solid #1b3044; padding:10px 26px; box-shadow:none; }
.site-header .brand { display:none; }
.site-header .main-nav { margin:0; gap:12px; }
.site-header .main-nav>a { display:none; }
.site-header .theme-toggle { margin-left:auto; color:#dbeaff; border-color:#28445f; background:#11253a; }
.menu-toggle { display:inline-flex!important; align-items:center; justify-content:center; border:1px solid #29435b; background:#102237; color:#dceeff; border-radius:9px; width:40px;height:40px; font-size:18px; }
main { min-height:calc(100vh - 70px); }
.hero { padding-top:48px; padding-bottom:45px; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
.hero h1,.page-hero h1 { color:#f3f7ff; }
.hero h1 span { color:#35aaff; }
.eyebrow { color:#4db6ff; }
.hero-lede,.page-hero p,.section-heading p,.cta p { color:#a7bad0; }
.hero-art { filter:saturate(.85); }
.search-box { border:1px solid #29455f; background:#102236; box-shadow:0 15px 35px #0002; }
.search-box input { background:transparent;color:#eff7ff; }
.search-box input::placeholder { color:#829bb5; }
.home-tools { padding-top:36px; }
.home-tool-card,.contact-card,.panel,.faq-item,.publisher-links,.library-backup-panel,.content-card { background:linear-gradient(145deg,#0e1d2d,#0a1725)!important; border-color:#20384f!important; box-shadow:0 12px 30px #0002!important; }
.home-tool-card h3,.contact-card h2,.contact-card h3,.paper-details h3,.home-bottom h2 { color:#edf5ff!important; }
.home-tool-card p,.contact-card p,.home-bottom p { color:#a7bad0!important; }
.home-tool-card .tool-icon { background:#12375a;color:#45b8ff; }
.home-bottom { background:#0b1b2b; border-top:1px solid #1c3349; }
.site-footer { background:#07111d; border-top:1px solid #1d3246; }
.site-footer p,.site-footer a,.copyright { color:#8ea6bf; }
.page-hero { background:radial-gradient(ellipse at 70% 0%,#123a5c 0%,#0a1a2a 48%,#07111d 100%); padding:38px 0 28px; }
.panel,.result-box,.access-status,.citation-output,.table-scroll,.last-read-panel { background-color:#0d1c2b; border-color:#20384f; }
.panel h2,.panel h3,.panel h4,.progress-head h3,.library-panel .progress-head h3 { color:#eef6ff; }
.panel p,.panel label,.panel small,.paper-details p,.saved-details small { color:#a7bad0; }
input,select,textarea { background:#0c1b2a!important;color:#edf5ff!important;border-color:#2b465f!important; }
input::placeholder,textarea::placeholder { color:#7e97b1!important; }
.literature-table th { background:#13273b;color:#e5f2ff; }
.literature-table td { color:#b0c3d7; }
.status-free { background:#073c32;border-color:#087d65;color:#7df0c6; }
.status-paid { background:#461d28;border-color:#923d4b;color:#ffb8c1; }
.status-unknown { background:#44391b;border-color:#80682d;color:#ffe19a; }
.faq-section { color:#e9f3ff; }
.faq-item summary { color:#e5f2ff; }
.faq-item p { color:#a7bad0; }
.sa-sidebar-scrim { display:none; }
@media(max-width:1000px) { body { padding-left:0; } .sa-sidebar { transform:translateX(-102%); transition:transform .22s ease; box-shadow:18px 0 50px #0006; } body.sa-sidebar-open .sa-sidebar { transform:translateX(0); } body.sa-sidebar-open .sa-sidebar-scrim { display:block; position:fixed;inset:0;z-index:900;background:#020813a8; } .site-header { padding-left:18px;padding-right:18px; } .hero { grid-template-columns:1fr; } .hero-art { display:none; } }
@media(min-width:1001px) { .menu-toggle { display:none!important; } .site-header { display:flex;justify-content:flex-end; } .site-header .main-nav { display:flex; } }
@media(max-width:700px) { .site-header { min-height:62px;padding:10px 14px;justify-content:space-between; } .site-header .main-nav { display:flex;flex:1;justify-content:flex-end; } .site-header .theme-toggle { font-size:11px;padding:8px 10px; } .hero { padding-top:32px; } .home-tools-grid { grid-template-columns:1fr; } .home-bottom-inner { align-items:flex-start;flex-direction:column; } }



/* v64: collapsible desktop sidebar; mobile retains drawer behavior */
.sa-sidebar { transition: width .22s ease, padding .22s ease, transform .22s ease; }
.sa-sidebar-collapse { position:absolute; top:18px; right:12px; z-index:3; display:grid; place-items:center; width:30px; height:30px; border:1px solid #29435b; border-radius:8px; color:#dceeff; background:#102237; font-size:24px; line-height:1; cursor:pointer; }
.sa-sidebar-collapse:hover { background:#173655; }
body.sa-sidebar-collapsed { padding-left:76px; }
body.sa-sidebar-collapsed .sa-sidebar { width:76px; padding:58px 10px 14px; overflow-x:hidden; }
body.sa-sidebar-collapsed .sa-sidebar-brand { justify-content:center; padding:0 0 24px; }
body.sa-sidebar-collapsed .sa-sidebar-brand>span:last-child,
body.sa-sidebar-collapsed .sa-nav-label,
body.sa-sidebar-collapsed .sa-side-nav a:not(.active)::after,
body.sa-sidebar-collapsed .sa-sidebar-bottom>div { display:none; }
body.sa-sidebar-collapsed .sa-side-nav a { justify-content:center; padding:12px 6px; gap:0; font-size:0; }
body.sa-sidebar-collapsed .sa-side-nav a>span { width:32px; flex-basis:32px; font-size:22px; }
body.sa-sidebar-collapsed .sa-nav-label-secondary { border-top:1px solid #1b3045; margin-top:14px; padding-top:14px; }
body.sa-sidebar-collapsed .sa-sidebar-bottom { justify-content:center; padding:12px 4px; }
body.sa-sidebar-collapsed .sa-sidebar-collapse { right:22px; }
@media(max-width:1000px) {
 body.sa-sidebar-collapsed { padding-left:0; }
 body.sa-sidebar-collapsed .sa-sidebar { width:min(310px,84vw); padding:58px 15px 16px; }
 body.sa-sidebar-collapsed .sa-sidebar-brand { justify-content:flex-start; padding:3px 9px 27px; }
 body.sa-sidebar-collapsed .sa-sidebar-brand>span:last-child, body.sa-sidebar-collapsed .sa-nav-label, body.sa-sidebar-collapsed .sa-sidebar-bottom>div { display:block; }
 body.sa-sidebar-collapsed .sa-side-nav a { justify-content:flex-start; padding:11px 12px; gap:13px; font-size:13px; }
 body.sa-sidebar-collapsed .sa-side-nav a>span { width:22px; flex-basis:22px; font-size:20px; }
 body.sa-sidebar-collapsed .sa-sidebar-bottom { justify-content:flex-start; padding:15px 12px; }
 .sa-sidebar-collapse { display:none; }
}

/* Brand fix: keep the plus raised to the upper-right of SA at every size. */
.brand-mark,.sa-brand-icon{position:relative;isolation:isolate;overflow:visible;}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;letter-spacing:-1.8px;font-weight:850;}
.brand-mark sup,.sa-brand-icon sup{position:absolute;top:-.22em;right:-.22em;display:block;font-size:.62em;line-height:1;font-weight:900;letter-spacing:0;transform:none;color:#20a6ff;z-index:2;}
.sa-brand-icon{display:inline-flex;align-items:center;justify-content:center;letter-spacing:-1.4px;font-weight:850;}
.sa-brand-icon sup{top:-.27em;right:-.22em;font-size:.62em;color:#20a6ff;}

/* Company details in the homepage About section */
.company-details{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border,rgba(148,163,184,.25))}
.company-details p{margin:.35rem 0}
.company-details .button{display:inline-flex;margin-top:.65rem}


/* AI Research Assistant launchpad */
.sa-ai-hub{max-width:100%}
.sa-ai-provider-grid,.sa-ai-task-grid,.sa-ai-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.1rem 0 1.7rem}
.sa-ai-provider{display:flex;flex-direction:column;gap:.45rem;padding:1.15rem;border:1px solid var(--border-color,#dce3ec);border-radius:14px;text-decoration:none!important;color:inherit;background:var(--card-bg,#fff);transition:transform .18s,border-color .18s}
.sa-ai-provider:hover{transform:translateY(-2px);border-color:var(--accent,#5576d1)}
.sa-ai-provider-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--soft-bg,#eef2ff);font-weight:800}
.sa-ai-provider strong{font-size:1.08rem}.sa-ai-provider small{color:var(--muted,#667085)}
.sa-ai-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sa-ai-task-grid article{padding:1.1rem;border:1px solid var(--border-color,#dce3ec);border-radius:14px}
.sa-ai-task-grid article>span{font-size:.78rem;font-weight:800;color:var(--accent,#5576d1)}
.sa-ai-task-grid h3{margin:.45rem 0}.sa-ai-task-grid p{margin:0;color:var(--muted,#667085)}
.sa-ai-result-panel{margin-top:1.25rem;padding:1.2rem;border:1px solid var(--border-color,#dce3ec);border-radius:14px;background:var(--card-bg,#fff)}
.sa-ai-result-panel h3{margin-top:0}.sa-ai-result-panel>p{color:var(--muted,#667085)}
.sa-ai-provider-select{max-width:260px;width:100%;padding:.7rem;border:1px solid var(--border-color,#cbd5e1);border-radius:9px;background:var(--card-bg,#fff);color:inherit}
.sa-ai-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.5rem}
.sa-ai-action-grid .button{white-space:normal}
.sa-ai-copy-status{min-height:1.4em}
@media(max-width:700px){.sa-ai-provider-grid{grid-template-columns:1fr}.sa-ai-task-grid,.sa-ai-action-grid{grid-template-columns:1fr}}


/* v1.7: Expand the compact sidebar while the pointer is over it.
   The page content keeps its position; the expanded sidebar overlays it. */
body.sa-sidebar-collapsed .sa-sidebar {
  transition: width .22s ease, padding .22s ease, box-shadow .22s ease;
}
body.sa-sidebar-collapsed .sa-sidebar:hover,
body.sa-sidebar-collapsed .sa-sidebar:focus-within {
  width:260px;
  padding:22px 15px 16px;
  overflow-y:auto;
  overflow-x:visible;
  box-shadow:12px 0 34px rgba(0,0,0,.28);
}
body.sa-sidebar-collapsed .sa-sidebar:hover .sa-sidebar-brand,
body.sa-sidebar-collapsed .sa-sidebar:focus-within .sa-sidebar-brand {
  justify-content:flex-start;
  padding:3px 9px 27px;
}
body.sa-sidebar-collapsed .sa-sidebar:hover .sa-sidebar-brand>span:last-child,
body.sa-sidebar-collapsed .sa-sidebar:hover .sa-nav-label,
body.sa-sidebar-collapsed .sa-sidebar:hover .sa-sidebar-bottom>div,
body.sa-sidebar-collapsed .sa-sidebar:focus-within .sa-sidebar-brand>span:last-child,
body.sa-sidebar-collapsed .sa-sidebar:focus-within .sa-nav-label,
body.sa-sidebar-collapsed .sa-sidebar:focus-within .sa-sidebar-bottom>div {
  display:block;
}
body.sa-sidebar-collapsed .sa-sidebar:hover .sa-side-nav a,
body.sa-sidebar-collapsed .sa-sidebar:focus-within .sa-side-nav a {
  justify-content:flex-start;
  padding:12px 10px;
  gap:10px;
  font-size:13px;
}
body.sa-sidebar-collapsed .sa-sidebar:hover .sa-side-nav a>span,
body.sa-sidebar-collapsed .sa-sidebar:focus-within .sa-side-nav a>span {
  width:22px;
  flex-basis:22px;
  font-size:18px;
}
body.sa-sidebar-collapsed .sa-sidebar:hover .sa-nav-label-secondary,
body.sa-sidebar-collapsed .sa-sidebar:focus-within .sa-nav-label-secondary {
  border-top:1px solid #1b3045;
  margin-top:20px;
  padding-top:20px;
}
body.sa-sidebar-collapsed .sa-sidebar:hover .sa-sidebar-bottom,
body.sa-sidebar-collapsed .sa-sidebar:focus-within .sa-sidebar-bottom {
  justify-content:flex-start;
}
@media (hover:none) {
  body.sa-sidebar-collapsed .sa-sidebar:hover { width:76px; padding:58px 10px 14px; }
}


/* v1.8 homepage product preview and workflow demo */
.product-preview-section{padding-top:76px;padding-bottom:38px}
.product-preview-section .section-heading{max-width:760px;margin:0 auto 28px;text-align:center}
.product-preview-shell{max-width:1000px;margin:0 auto;border:1px solid #29435d;border-radius:18px;overflow:hidden;background:#0c1928;box-shadow:0 24px 70px rgba(4,18,34,.22)}
.product-preview-topbar{height:52px;display:flex;align-items:center;gap:13px;padding:0 18px;background:#101f30;border-bottom:1px solid #263d55;color:#eaf3ff}
.preview-window-dots{display:flex;gap:5px}.preview-window-dots i{width:8px;height:8px;border-radius:50%;background:#6f8aa5;display:block}
.product-preview-topbar strong{font-size:13px}.product-preview-topbar strong span{color:#42b7ff}
.product-preview-topbar small{margin-left:auto;color:#8fa7c0;font-size:11px}
.product-preview-body{display:grid;grid-template-columns:190px 1fr;min-height:300px}
.preview-sidebar{display:flex;flex-direction:column;gap:14px;padding:22px 14px;background:#091522;border-right:1px solid #263d55;color:#9eb2c8;font-size:12px}
.preview-sidebar>b{font-size:22px;color:#42aaff;margin-bottom:10px}.preview-sidebar span{padding:9px;border-radius:8px}
.preview-sidebar .preview-nav-active{background:#153655;color:#fff}
.preview-main{padding:30px 34px;color:#eaf3ff}.preview-kicker{color:#5cbcff;font-size:10px;font-weight:800;letter-spacing:1.5px}
.preview-main h3{margin:8px 0 20px;color:#fff;font-size:24px}
.preview-search{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #38536e;border-radius:10px;background:#14263a;color:#d9e8f7;font-size:12px}
.preview-search b{padding:9px 12px;border-radius:7px;background:#1689df;color:#fff;white-space:nowrap}
.preview-result{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px;border:1px solid #2d4964;border-radius:10px;background:#102236}
.preview-result div{display:grid;gap:5px}.preview-result small{color:#7ea0bd;font-size:9px;letter-spacing:1px}.preview-result strong{color:#f4f8ff;font-size:14px}.preview-result span{color:#9db4ca;font-size:11px}
.preview-status{padding:7px 9px;border-radius:20px;background:#123f38;color:#74e4bb;font-size:9px;letter-spacing:.5px;white-space:nowrap}
.preview-next{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;color:#9bb1c8;font-size:11px}
.preview-next b{padding:8px 10px;border:1px solid #34516d;border-radius:8px;color:#dbeeff;font-weight:600}
.workflow-demo{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1000px;margin:22px auto 0}
.workflow-demo article{padding:18px;border:1px solid var(--border-color,#dce4ee);border-radius:13px;background:var(--card-bg,#fff)}
.workflow-demo article>span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e5f3ff;color:#0879c8;font-size:11px;font-weight:800}
.workflow-demo h3{margin:12px 0 6px;font-size:15px}.workflow-demo p{margin:0;color:var(--muted,#68798b);font-size:12px;line-height:1.6}
.preview-disclaimer{max-width:1000px;margin:12px auto 0;color:var(--muted,#718096);font-size:11px;text-align:center}
@media(max-width:760px){.product-preview-section{padding-top:48px}.product-preview-body{grid-template-columns:1fr}.preview-sidebar{display:none}.preview-main{padding:22px 16px}.preview-main h3{font-size:20px}.preview-result{align-items:flex-start;flex-direction:column}.workflow-demo{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.workflow-demo{grid-template-columns:1fr}.product-preview-topbar small{display:none}.preview-search{align-items:stretch;flex-direction:column}.preview-search b{text-align:center}}
