/* LUNEVON Website 1.1 — Research & Publications */
.publications-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 78% 25%,rgba(140,111,255,.08),transparent 38%),radial-gradient(circle at 24% 50%,rgba(70,230,216,.06),transparent 34%)}
.publications-hero .container{padding-top:clamp(78px,9vw,150px);padding-bottom:clamp(72px,8vw,132px)}
.publications-hero h1{max-width:1000px;font-size:clamp(44px,6.1vw,92px);line-height:.98;margin:28px 0 26px;letter-spacing:-.045em}
.publications-hero .lead{max-width:760px;font-size:clamp(18px,2vw,27px);line-height:1.5}
.publication-signal{display:flex;align-items:center;gap:12px;margin-top:34px;font:600 11px/1.2 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.publication-signal:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px rgba(79,231,217,.7)}
.publications-section{padding:clamp(72px,8vw,128px) 0}
.publications-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}
.publications-toolbar h2{margin:0;font-size:clamp(34px,4vw,64px);letter-spacing:-.035em}
.publication-filters{display:flex;gap:8px;flex-wrap:wrap}
.publication-filter{appearance:none;border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 14px;border-radius:2px;font:600 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.publication-filter:is(:hover,.is-active){color:var(--text);border-color:rgba(79,231,217,.55);background:rgba(79,231,217,.07)}
.publication-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.publication-card{grid-column:span 6;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line);background:linear-gradient(145deg,rgba(16,26,34,.86),rgba(14,14,25,.96));color:inherit;text-decoration:none;overflow:hidden;min-height:100%;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.publication-card.featured{grid-column:span 12;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:none;align-items:stretch}
.publication-card:hover{transform:translateY(-3px);border-color:rgba(79,231,217,.45);box-shadow:0 18px 60px rgba(0,0,0,.22)}
.publication-card.featured .publication-card-media{align-self:center;aspect-ratio:16/9;min-height:0;margin:clamp(18px,2.4vw,34px) 0 clamp(18px,2.4vw,34px) clamp(18px,2.4vw,34px);border:1px solid rgba(141,166,181,.22)}
.publication-card-media{position:relative;overflow:hidden;min-height:280px;background:radial-gradient(circle at 26% 28%,rgba(79,231,217,.07),transparent 36%),radial-gradient(circle at 78% 72%,rgba(136,107,255,.08),transparent 42%),#0d131a;display:flex;align-items:center;justify-content:center}
.publication-card-media img{display:block;width:100%;height:auto;max-height:100%;object-fit:contain;transition:filter .22s ease}
.publication-card:hover .publication-card-media img{filter:brightness(1.035)}
.publication-card-body{padding:clamp(28px,3.2vw,48px);display:flex;flex-direction:column}
.publication-card-kicker,.article-kicker{font:700 11px/1.5 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}
.publication-card h3{font-size:clamp(29px,3.1vw,51px);line-height:1.05;letter-spacing:-.035em;margin:20px 0 18px}
.publication-card p{color:var(--muted);font-size:17px;line-height:1.65;margin:0 0 24px;max-width:650px}
.publication-meta{display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap;color:var(--muted);font:500 12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-top:auto}
.publication-meta .tag{border:1px solid var(--line);padding:6px 9px;color:#aebac4}
.publication-read{display:inline-flex;align-items:center;gap:9px;margin-top:28px;color:var(--accent);font-weight:700}
.labs-publications-panel{margin-top:48px;border:1px solid var(--line);background:linear-gradient(110deg,rgba(31,71,74,.14),rgba(52,34,85,.14));padding:clamp(28px,4vw,56px);position:relative;overflow:hidden}
.labs-publications-panel:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(136,107,255,.22);transform:rotate(45deg);right:-150px;top:-135px}
.labs-publications-panel h2{margin:16px 0 14px;font-size:clamp(32px,4vw,58px)}
.labs-publications-panel p{max-width:760px}
.labs-publication-preview{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:24px;border-top:1px solid var(--line);margin-top:30px;padding-top:28px;color:inherit;text-decoration:none}
.labs-publication-preview img{width:140px;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}
.labs-publication-preview strong{font-size:20px;line-height:1.25}.labs-publication-preview span{color:var(--accent);white-space:nowrap}
.article-page{background:radial-gradient(circle at 76% 9%,rgba(132,104,255,.08),transparent 28%),var(--bg)}
.article-hero{padding:clamp(64px,7vw,110px) 0 0}
.article-hero .breadcrumbs{margin-bottom:42px}
.article-hero h1{font-size:clamp(44px,6vw,88px);line-height:1.01;letter-spacing:-.048em;max-width:1120px;margin:24px 0 24px}
.article-deck{font-size:clamp(19px,2.1vw,29px);line-height:1.48;color:#bdc6cf;max-width:940px;margin:0 0 30px}
.article-hero-meta{display:flex;gap:12px 24px;flex-wrap:wrap;align-items:center;color:var(--muted);font:600 11px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding-bottom:34px}
.article-cover{width:min(1180px,calc(100% - 48px));margin:42px auto 0;border:1px solid var(--line);background:#101820;overflow:hidden}
.article-cover img{display:block;width:100%;height:auto}
.article-layout{display:grid;grid-template-columns:250px minmax(0,760px);justify-content:center;gap:clamp(44px,7vw,100px);padding:clamp(72px,7vw,110px) 24px 110px}
.article-toc{position:sticky;top:110px;align-self:start;border-top:1px solid var(--line);padding-top:22px}
.article-toc-title{font:700 11px/1.4 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.article-toc a{display:block;color:var(--muted);text-decoration:none;font-size:13px;line-height:1.45;padding:7px 0;border-left:1px solid transparent;transition:.2s ease}
.article-toc a:hover{color:var(--text);border-left-color:var(--accent);padding-left:9px}
.article-content{min-width:0}.article-content>p:first-child{font-size:21px;color:#c8d0d7}
.article-content h2{font-size:clamp(30px,3vw,46px);line-height:1.12;letter-spacing:-.03em;margin:72px 0 24px;scroll-margin-top:110px}
.article-content h3{font-size:26px;margin:46px 0 18px}.article-content p,.article-content li{font-size:18px;line-height:1.75;color:#b8c1c9}
.article-content strong{color:#eef5f7}.article-content ul,.article-content ol{padding-left:25px;margin:22px 0}.article-content li+li{margin-top:9px}
.article-content code{font-family:var(--mono);font-size:.9em;color:#bff6ef;background:rgba(79,231,217,.07);padding:.12em .34em;border:1px solid rgba(79,231,217,.12)}
.article-content figure{margin:42px 0}.article-content figure img{display:block;width:100%;height:auto;border:1px solid var(--line);background:#101820}.article-content figcaption{color:#7f8b96;font-size:13px;line-height:1.5;margin-top:10px}
.article-table-wrap{width:100%;overflow-x:auto;margin:32px 0;border:1px solid var(--line)}
.article-content table{border-collapse:collapse;width:100%;min-width:620px;font-size:15px}.article-content th,.article-content td{text-align:left;border-bottom:1px solid var(--line);padding:14px 16px;vertical-align:top}.article-content th{font:700 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:rgba(79,231,217,.035)}.article-content tr:last-child td{border-bottom:0}
.article-product-link{margin-top:72px;border:1px solid var(--line);background:linear-gradient(125deg,rgba(58,130,132,.12),rgba(94,63,140,.11));padding:32px}.article-product-link .eyebrow{margin-bottom:12px}.article-product-link h2{margin:0 0 12px;font-size:34px}.article-product-link p{margin:0 0 20px}.article-back{margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}
.publications-rss{color:var(--muted);font:600 11px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.publications-rss:hover{color:var(--accent)}
@media(max-width:900px){.publication-card.featured{grid-template-columns:1fr}.publication-card.featured .publication-card-media{margin:18px 18px 0;align-self:auto}.article-layout{grid-template-columns:1fr;max-width:780px}.article-toc{position:relative;top:auto;border:1px solid var(--line);padding:20px}.labs-publication-preview{grid-template-columns:110px 1fr}.labs-publication-preview>span{grid-column:2}.publication-card{grid-column:span 12}}
@media(max-width:640px){.publications-hero .container{padding-top:48px}.publication-card.featured .publication-card-media{margin:12px 12px 0}.publications-hero h1{font-size:44px}.publications-toolbar{align-items:flex-start;flex-direction:column}.publication-card-media{min-height:0;aspect-ratio:16/9}.publication-card-body{padding:24px}.publication-card h3{font-size:30px}.labs-publication-preview{grid-template-columns:1fr}.labs-publication-preview img{width:100%;height:auto;aspect-ratio:16/9}.labs-publication-preview>span{grid-column:auto}.article-hero{padding-top:42px}.article-hero h1{font-size:43px}.article-cover{width:calc(100% - 24px);margin-top:28px}.article-layout{padding:52px 18px 80px}.article-content p,.article-content li{font-size:17px}.article-content h2{margin-top:58px}.article-toc{display:none}}
@media(prefers-reduced-motion:reduce){.publication-card,.publication-card-media img{transition:none}}
.article-author{color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(79,231,217,.28)}
.article-author:hover{color:var(--accent);border-bottom-color:var(--accent)}
.article-note{margin:30px 0;padding:20px 22px;border-left:3px solid var(--accent);background:rgba(79,231,217,.06);color:#c4ced5}
.article-note-warning{border-left-color:#d7a35c;background:rgba(215,163,92,.07)}
.article-note p{margin:0;color:inherit}
.article-content pre{max-width:100%;overflow-x:auto;margin:28px 0;padding:18px 20px;border:1px solid var(--line);background:#0d131a;-webkit-overflow-scrolling:touch}
.article-content pre code{display:block;min-width:max-content;border:0;background:transparent;padding:0;white-space:pre}
.article-content blockquote:not(.article-note){margin:30px 0;padding:4px 0 4px 20px;border-left:2px solid var(--line);color:var(--muted)}
.article-content blockquote:not(.article-note) p{margin:0;color:inherit}

/* 1.1.1 media usability fix: zoomable article graphics + compact portrait screenshots */
.article-image-link{display:block;position:relative;color:inherit;text-decoration:none;cursor:zoom-in;outline:none}
.article-image-link>img{height:auto}
.article-image-link:after{content:"⤢";position:absolute;right:12px;top:12px;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(79,231,217,.34);background:rgba(7,13,18,.82);color:#dffcf8;font:600 18px/1 var(--sans);opacity:0;transform:translateY(-3px);transition:opacity .18s ease,transform .18s ease,border-color .18s ease;pointer-events:none}
.article-image-link:is(:hover,:focus-visible):after{opacity:1;transform:none;border-color:rgba(79,231,217,.72)}
.article-image-link:focus-visible{box-shadow:0 0 0 2px rgba(79,231,217,.52)}
.article-figure--portrait{text-align:center}
.article-figure--portrait .article-image-link{width:fit-content;max-width:100%;margin-inline:auto}
.article-figure--portrait img{width:auto!important;max-width:100%;max-height:76vh;margin-inline:auto}
.article-figure--portrait figcaption{max-width:520px;margin-left:auto;margin-right:auto;text-align:left}

.article-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(16px,3vw,42px);background:rgba(3,7,11,.91);backdrop-filter:blur(8px)}
.article-lightbox[hidden]{display:none}
.article-lightbox__stage{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;max-width:min(96vw,1680px);max-height:94vh}
.article-lightbox__image{display:block;max-width:100%;max-height:86vh;width:auto;height:auto;margin:auto;border:1px solid rgba(141,166,181,.35);background:#090e13;box-shadow:0 28px 90px rgba(0,0,0,.56)}
.article-lightbox__caption{min-height:1.4em;color:#aab7c1;font-size:13px;line-height:1.45;text-align:center}
.article-lightbox__close{position:absolute;right:-14px;top:-14px;width:44px;height:44px;border:1px solid rgba(79,231,217,.45);background:#0d151c;color:#eef7f8;font-size:27px;line-height:1;cursor:pointer;display:grid;place-items:center}
.article-lightbox__close:hover,.article-lightbox__close:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}
body.article-lightbox-open{overflow:hidden}
@media(max-width:640px){.article-image-link:after{opacity:.72;right:8px;top:8px;width:32px;height:32px}.article-figure--portrait img{max-height:72vh}.article-lightbox{padding:10px}.article-lightbox__close{right:4px;top:4px}.article-lightbox__image{max-height:82vh}}
@media(prefers-reduced-motion:reduce){.article-image-link:after{transition:none}}


/* =========================================================
   LUNEVON Publications 1.3.3 — mobile technical tables
   ========================================================= */
.article-table-wrap{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.article-content code{overflow-wrap:anywhere;word-break:break-word}

@media(max-width:640px){
  /* The technical appendix is key/value data; stacked rows are more legible
     than a desktop-width table on a phone. */
  .article-table-wrap--key-value{border:0;overflow:visible;background:transparent}
  .article-table-wrap--key-value table,
  .article-table-wrap--key-value tbody{display:block;width:100%;min-width:0}
  .article-table-wrap--key-value thead{display:none}
  .article-table-wrap--key-value tr{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:6px;
    width:100%;
    padding:14px 16px;
    border:1px solid var(--line);
    border-bottom:0;
    background:rgba(10,15,20,.46);
  }
  .article-table-wrap--key-value tr:last-child{border-bottom:1px solid var(--line)}
  .article-table-wrap--key-value td,
  .article-table-wrap--key-value td[style]{
    display:block;
    min-width:0;
    padding:0;
    border:0;
    text-align:left!important;
    overflow-wrap:anywhere;
  }
  .article-table-wrap--key-value td:first-child{
    color:var(--accent);
    font:700 10px/1.5 var(--mono);
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .article-table-wrap--key-value td+td{font-size:16px;line-height:1.5;color:#d6e0e4}
  .article-table-wrap--key-value code{white-space:normal;overflow-wrap:anywhere;word-break:break-all}
}

/* Website 1.3.3 safety: publication page remains viewport-contained. */
.article-page{max-width:100%;overflow-x:clip}

/* =========================================================
   LUNEVON Website 1.3.22 — Labs discovery + source citations
   ========================================================= */
.labs-publications-head{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:32px;padding-top:28px;border-top:1px solid var(--line)}
.labs-publications-head h3{margin:0;font-size:clamp(22px,2.3vw,30px);letter-spacing:-.025em}
.labs-publications-all{position:relative;z-index:1;flex:0 0 auto}
.labs-publications-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px;position:relative;z-index:1}
.labs-publication-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(120,150,165,.22);background:linear-gradient(145deg,rgba(12,21,27,.82),rgba(16,15,27,.92));color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.labs-publication-card:hover{transform:translateY(-2px);border-color:rgba(79,231,217,.42);background:linear-gradient(145deg,rgba(14,26,32,.92),rgba(18,16,31,.98))}
.labs-publication-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.labs-publication-card-media{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid rgba(120,150,165,.16);background:#0b1117}
.labs-publication-card-media img{display:block;width:100%;height:100%;object-fit:contain}
.labs-publication-card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.labs-publication-card-kicker{font:700 10px/1.4 var(--mono);letter-spacing:.12em;color:var(--accent);text-transform:uppercase}
.labs-publication-card h3{margin:11px 0 10px;font-size:clamp(19px,2vw,24px);line-height:1.16;letter-spacing:-.025em}
.labs-publication-card p{margin:0 0 18px;font-size:14.5px;line-height:1.58;color:#9faab4}
.labs-publication-card-meta{display:flex;gap:8px 14px;flex-wrap:wrap;margin-top:auto;color:#7d8792;font:600 10px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.labs-publication-card-read{display:inline-flex;margin-top:16px;color:var(--accent);font-weight:700}

.article-citation{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:3px;padding:0 5px;vertical-align:super;transform:translateY(-.08em);border:1px solid rgba(79,231,217,.26);border-radius:3px;background:rgba(79,231,217,.07);color:#9ef3e9;text-decoration:none;font:700 10px/1 var(--mono);letter-spacing:0;transition:border-color .18s ease,background .18s ease,color .18s ease}
.article-citation+.article-citation{margin-left:3px}
.article-citation:hover{border-color:rgba(79,231,217,.62);background:rgba(79,231,217,.13);color:#d9fffa}
.article-citation:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.article-sources{counter-reset:labs-source;list-style:none!important;padding-left:0!important;display:grid;gap:10px;margin-top:24px!important}
.article-sources li{counter-increment:labs-source;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start;margin:0!important;padding:14px 16px;border:1px solid rgba(120,150,165,.16);background:rgba(255,255,255,.012);scroll-margin-top:110px}
.article-sources li::before{content:counter(labs-source);display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(79,231,217,.28);border-radius:3px;background:rgba(79,231,217,.055);color:var(--accent);font:700 10px/1 var(--mono)}
.article-sources a{color:#b8c4cc;text-decoration:none;overflow-wrap:anywhere}
.article-sources a:hover{color:#eef5f7}
.article-sources em{color:#d7e0e5}

@media(max-width:760px){
  .labs-publications-head{align-items:flex-start;flex-direction:column;margin-top:28px;padding-top:24px}
  .labs-publications-all{width:100%;justify-content:center}
  .labs-publications-grid{grid-template-columns:1fr;gap:14px}
  .labs-publication-card-body{padding:18px}
}
@media(max-width:640px){
  .labs-publications-panel{padding:24px 18px}
  .labs-publication-card h3{font-size:22px}
  .article-citation{min-width:17px;height:17px;padding:0 4px;font-size:9px}
  .article-sources li{grid-template-columns:30px minmax(0,1fr);gap:10px;padding:13px 12px}
  .article-sources li::before{width:25px;height:25px}
}
@media(prefers-reduced-motion:reduce){.labs-publication-card,.article-citation{transition:none}}

/* LUNEVON Website 1.3.39: reliable publication-category filters. */
.publication-card[hidden]{display:none!important}

/* v1.3.47 — preserve clearance below the fixed site header on tablets
   and phones, including research article reading pages. */
@media(max-width:980px){
  .publications-hero .container{padding-top:max(calc(var(--header) + 32px),clamp(78px,9vw,150px));}
  .article-hero{padding-top:max(calc(var(--header) + 30px),clamp(64px,7vw,110px));}
}


/* LUNEVON Website 1.3.60 — LABS research taxonomy */
.research-group+.research-group{margin-top:clamp(72px,8vw,112px);padding-top:clamp(52px,6vw,82px);border-top:1px solid var(--line)}
.research-group-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);align-items:end;margin-bottom:32px}
.research-group-head h2{margin:10px 0 0;font-size:clamp(34px,4vw,60px);letter-spacing:-.035em}
.research-group-head>p{margin:0;color:var(--muted);font-size:16px;line-height:1.65;max-width:680px}
.research-tier-tag,.research-tier-badge{border-color:rgba(79,231,217,.38)!important;color:#bff7f0!important;background:rgba(79,231,217,.055)}
.research-tier-technical{border-color:rgba(166,134,255,.34)!important;color:#d6caff!important;background:rgba(166,134,255,.055)}
.research-tier-badge{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid;font:700 10px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.research-method-note{margin-top:clamp(72px,8vw,112px);padding:clamp(28px,4vw,48px);border:1px solid var(--line);background:linear-gradient(120deg,rgba(79,231,217,.055),rgba(145,112,255,.05))}
.research-method-note h2{margin:12px 0 14px;font-size:clamp(28px,3vw,42px)}
.research-method-note p{max-width:880px;color:var(--muted);font-size:16px;line-height:1.7}
.labs-research-gateway .btn-row{margin-top:24px;position:relative;z-index:1}
@media(max-width:760px){.research-group-head{grid-template-columns:1fr;gap:14px}.research-group-head>p{font-size:15px}}
