/*
Theme Name: ALVER Scientific
Description: One shared block theme for the independent ALVER website family. Requires ALVER Scientific Core for extended modules.
Version: 0.1.0-rc3.8
Requires at least: 6.6
Requires PHP: 8.1
Author: ALVER
Text Domain: alver-scientific
*/
:root{
 --as-base:#e4e2d9;--as-text:#253632;--as-accent:#216b65;--as-glow:#79f2d9;
 --as-width:1640px;--as-card-min:290px;--as-gap:28px;--as-corner:.34;--as-font-size:20px;
 --as-bg-opacity:1;--as-bg-brightness:1;--as-bg-image:none;--as-card-image:none;
}
@font-face{font-family:"Literata";font-style:normal;font-weight:400 600;font-display:swap;src:url("assets/vendor/fonts/Literata-Cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-052F,U+0490-0491,U+2116}
@font-face{font-family:"Literata";font-style:normal;font-weight:400 600;font-display:swap;src:url("assets/vendor/fonts/Literata-Latin.woff2") format("woff2");unicode-range:U+0000-03FF,U+1E00-1EFF,U+2000-2BFF}
html{scroll-behavior:smooth}
body{margin:0;color:var(--as-text);background:var(--as-base);font:var(--as-font-size)/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;isolation:isolate}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:var(--as-bg-image) center/cover no-repeat;opacity:var(--as-bg-opacity);filter:brightness(var(--as-bg-brightness))}
.wp-site-blocks{position:relative;z-index:0;padding:0!important;background:transparent!important}
.as-main{width:min(var(--as-width),calc(100% - 64px));margin:0 auto;min-height:70vh;padding:28px 0 64px;background:transparent}
.as-main>.wp-block-post-title{max-width:1100px;box-sizing:border-box;margin:0 auto;padding:0 clamp(20px,4vw,52px) 30px;border:1px solid rgba(120,133,120,.25);border-top:0;border-radius:0 0 3px 3px;background-color:rgba(250,251,248,.98);background-image:linear-gradient(90deg,rgba(250,251,248,.72),rgba(250,251,248,.985) 24%,rgba(250,251,248,.99) 76%,rgba(250,251,248,.72)),var(--as-card-image);background-size:auto,820px auto;background-position:center}
.as-catalog,.as-grid,.as-content-layout,.as-title,.as-reading-layout,.as-top-grid{background:none;border:0;box-shadow:none}
.as-header{padding:18px clamp(16px,3vw,60px);border-bottom:1px solid #a8b8ab;background-color:rgba(247,250,244,.96);background-image:linear-gradient(90deg,rgba(247,250,244,.72),rgba(247,250,244,.985) 24%,rgba(247,250,244,.99) 76%,rgba(247,250,244,.72)),var(--as-card-image);background-size:auto,760px auto;background-position:center;gap:20px}
.as-header .wp-block-site-title{font-size:1.4rem;font-weight:700;margin:0}
.as-header a,.as-footer a{color:var(--as-accent)}
.as-footer{padding:36px 20px;border-top:1px solid #9baa9b;background:rgba(246,249,243,.90)}
.as-site-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.78rem}
.as-site-tools button{font:inherit;border:1px solid #6e8a7d;border-radius:5px;padding:7px 10px;color:var(--as-text);background:#f4f7f0;cursor:pointer}
.as-language-picker{display:flex;flex-wrap:wrap;gap:8px}
.as-language-picker [aria-current]{font-weight:750;text-decoration:underline}
.as-language-picker [aria-disabled]{opacity:.48;cursor:not-allowed}
.as-family{position:relative}
.as-family nav{position:absolute;z-index:15;top:100%;right:0;min-width:160px;padding:15px;background:#fafbf7;box-shadow:0 7px 25px #23372a40}
.as-family nav a{display:block;padding:7px}
.as-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--as-card-min)),1fr));gap:var(--as-gap);margin:28px 0}
.as-top-grid{grid-template-columns:1fr}
.as-top-grid>.as-card{min-height:220px;box-sizing:border-box}
.as-card{position:relative;min-width:0;padding:26px;border:1px solid rgba(93,111,101,.28);border-radius:3px;background-color:#fafbf7;
 background-image:linear-gradient(rgba(253,255,252,.2),rgba(249,251,247,.28)),var(--as-card-image);
 background-size:auto,cover;background-position:center;isolation:isolate;
 box-shadow:0 2px 4px 1px rgba(15,29,26,.35),0 9px 15px rgba(15,29,26,.22);
 transition:transform .22s ease,box-shadow .22s ease}
.as-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
 background:radial-gradient(ellipse at 0 0,rgba(33,39,34,var(--as-corner)),transparent 27%),radial-gradient(ellipse at 100% 100%,rgba(35,40,33,var(--as-corner)),transparent 25%);
}
.as-card>a{display:block;color:inherit;text-decoration:none;height:100%}
.as-card h2,.as-card h3{font-size:1.22rem;line-height:1.3;overflow-wrap:anywhere;margin:0 0 14px}
.as-card p{font-size:.94rem;line-height:1.6;margin:0}
.as-card-media{overflow:hidden;aspect-ratio:4/3;margin:-16px -16px 20px;border-radius:2px}
.as-card-media img{height:100%;width:100%;object-fit:contain;transition:transform .19s ease}
.as-card.as-intent,.as-card:focus-within{transform:translateY(-5px);
 box-shadow:0 2px 3px rgba(231,255,248,.85),0 4px 8px 1px color-mix(in srgb,var(--as-glow) 80%,transparent),0 10px 17px 2px color-mix(in srgb,var(--as-glow) 55%,transparent),0 0 22px 4px rgba(15,29,26,.3),0 29px 36px -5px rgba(15,29,26,.56)}
.as-intent .as-card-media img{transform:scale(1.03)}
.as-card a:focus-visible{outline:3px solid #126f73;outline-offset:10px}
.as-card.as-reserve{pointer-events:none;padding:18px;min-height:220px}
.as-reserve[hidden]{display:none!important}
.as-decoration{position:relative;width:100%;height:210px;overflow:hidden}
.as-decoration img{position:absolute;object-fit:contain;filter:drop-shadow(0 4px 3px rgba(20,35,30,.18))}
.as-paper{width:72%;height:88%;left:0;top:0;transform:rotate(-10deg)}
.as-tool{width:var(--tool-width,38%);height:68%;right:0;bottom:0;transform:rotate(12deg)}
.as-reserve:nth-child(2n) .as-paper{left:18%;transform:rotate(9deg)}
.as-reserve:nth-child(2n) .as-tool{right:52%;transform:rotate(-8deg)}
.as-breadcrumbs{font-size:.83rem;margin:0 0 24px}
.as-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.as-breadcrumbs li+li:before{content:"/";margin-right:8px}
.as-prose{background-color:#fafbf8;background-image:linear-gradient(90deg,rgba(250,251,248,.72),rgba(250,251,248,.985) 24%,rgba(250,251,248,.99) 76%,rgba(250,251,248,.72)),var(--as-card-image);background-size:auto,820px auto;background-position:center;padding:clamp(20px,4vw,52px);border:1px solid rgba(120,133,120,.25);border-radius:3px;overflow-wrap:anywhere;min-width:0}
.as-main>.as-breadcrumbs{max-width:1100px;box-sizing:border-box;margin:0 auto;padding:20px clamp(20px,4vw,52px) 0;background-color:rgba(250,251,248,.98);background-image:linear-gradient(90deg,rgba(250,251,248,.72),rgba(250,251,248,.985) 24%,rgba(250,251,248,.99) 76%,rgba(250,251,248,.72)),var(--as-card-image);background-size:auto,820px auto;background-position:center;border:1px solid rgba(120,133,120,.25);border-bottom:0;border-radius:3px 3px 0 0}
.as-main>.as-breadcrumbs ol{margin:0 0 18px}
.as-prose img{height:auto;max-width:100%}
.as-prose iframe{max-width:100%}
.as-prose table{display:block;overflow:auto;max-width:100%}
.as-introduction{max-width:960px;margin:auto}
.as-enter{text-align:center}
.as-enter a{display:inline-block;padding:12px 22px;background:#fafbf7;border:1px solid #778b80}
.as-reading-layout{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,880px);gap:26px;justify-content:center;align-items:start}
.as-reading-layout:has(>.as-prose:only-child),.as-reading-layout:has(>.as-toc[hidden]+.as-prose){grid-template-columns:minmax(0,880px)}
.as-toc{position:sticky;top:24px;font-size:.85rem;background:rgba(250,252,246,.94);padding:18px;border:1px solid #a9b7a8}
.as-toc:empty{display:none}
.as-toc ul{list-style:none;padding:0}
.as-toc a{display:block;padding:6px 0}
.as-hero-media{margin:0 0 26px}
.as-hero-media img{width:100%;max-height:500px;object-fit:contain}
.as-stage-banner{font-size:13px;text-align:center;padding:5px 12px;background:#403b2c;color:#fff}
.as-skip{position:fixed;left:12px;top:-200px;padding:10px;background:white;z-index:99999}
.as-skip:focus{top:10px}
.as-ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
.as-veil-angle{position:absolute;inset:-30vmax;transform:rotate(var(--angle))}
.as-veil-field{position:absolute;inset:calc(-1 * var(--tile)) 0;background-repeat:repeat;background-position:var(--x) var(--y);background-size:var(--tile) var(--tile);opacity:var(--opacity);animation:as-down var(--duration) linear infinite;animation-delay:var(--delay);will-change:transform}
.as-veil-up{animation-name:as-up}
@keyframes as-down{from{transform:translate3d(0,calc(-1 * var(--half)),0)}to{transform:translate3d(0,var(--half),0)}}
@keyframes as-up{from{transform:translate3d(0,var(--half),0)}to{transform:translate3d(0,calc(-1 * var(--half)),0)}}
.as-ambient[data-mode="static"] .as-veil-field,html[data-as-motion="static"] .as-veil-field{animation-play-state:paused;will-change:auto}
.as-ambient[data-mode="off"],html[data-as-motion="off"] .as-ambient{display:none}
html[data-as-card-motion="off"] .as-card{transform:none!important;transition:none}
.as-card.as-pointer-light::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff48,transparent 50%)}
:focus-visible{outline:3px solid #126f73;outline-offset:3px}
@media(min-width:680px){.as-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1200px){.as-top-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:2100px){.as-top-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:3000px){.as-top-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:800px){.as-main{width:calc(100% - 28px)}.as-reading-layout{display:block}.as-toc{position:static;margin-bottom:18px}.as-header{align-items:flex-start}.as-card{padding:22px}.as-site-tools{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.as-veil-field{animation:none!important;will-change:auto}.as-card,.as-card.as-intent,.as-card:focus-within,.as-card-media img{transform:none!important;transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
@media print{body{background:white;color:black;font-size:12pt}body::before,.as-ambient,.as-header,.as-footer,.as-stage-banner,.as-toc,.as-site-tools,.as-reserve{display:none!important}.as-main{width:100%}.as-prose,.as-card{background:white;box-shadow:none;break-inside:avoid}.as-reading-layout{display:block}a{color:black}}

/* Narrow presentation bridge for retained VIRUSALIM renderers. No duplicate page background. */
.as-profile-virusalim :where(.grid,.character-grid,.pilot-grid,.section-grid,.related-grid){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--as-card-min)),1fr));gap:var(--as-gap);margin-block:24px;background:transparent}
.as-profile-virusalim :where(.status,.kicker,.latin,.locale-status){font-size:.76rem;letter-spacing:.035em}
.as-profile-virusalim :where(.status,.kicker){color:var(--as-accent)}
.as-profile-virusalim .card-body{padding:0}
.as-profile-virusalim .character-card img{width:96px;height:96px;object-fit:contain;float:left;margin:0 18px 12px 0}
.as-profile-virusalim .breadcrumbs{font-size:.83rem;margin-bottom:24px}
.as-profile-virusalim .localized-hero{display:flex;align-items:center;gap:30px;margin-block:20px 32px}
.as-profile-virusalim .localized-hero img{width:min(35%,300px);height:auto;object-fit:contain}
.as-profile-virusalim :where(.evidence,.safety,.source-note){padding:16px 20px;border-inline-start:4px solid var(--as-accent);background:rgba(252,254,249,.94);margin-block:18px}
.as-pilot-languages{max-width:var(--as-width);margin:16px auto;padding-inline:24px;display:flex;gap:14px}
.as-profile-virusalim .related a{display:inline-block;padding:8px 14px;margin:4px;background:#f9fcf5;border:1px solid #9aaea4;border-radius:4px}
.as-profile-virusalim .card-body a{color:inherit}
@media(max-width:679px){.as-profile-virusalim .localized-hero{display:block}.as-profile-virusalim .localized-hero img{width:100%;max-height:240px}}

/* 000018: shared language typography and public chrome, no change to accepted fog/stone. */
body{font-family:var(--as-font-body,system-ui);font-size:calc(var(--as-font-size)*var(--as-type-scale,1));line-height:var(--as-line-height,1.65)}
:where([lang]){font-family:var(--as-font-body,system-ui);line-height:var(--as-line-height,1.65)}
:where(h1,h2,h3,h4,h5,h6){font-family:var(--as-font-heading,system-ui);line-height:var(--as-heading-line-height,1.3)}
:where(.as-ui,.as-primary,button,input,select,textarea){font-family:var(--as-font-ui,system-ui)}
:where(.as-prose[lang],.as-card-body[lang]){font-family:var(--as-font-body,system-ui);line-height:var(--as-line-height,1.65)}
:where(figcaption,.as-original-badge,.as-stage-banner){font-family:var(--as-font-caption,system-ui)}
:where(pre,code,kbd,samp){font-family:var(--as-font-mono,ui-monospace,monospace)}
.as-primary{flex:1 1 420px;font-size:.9rem}
.as-primary ul{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none}
.as-primary a{display:block;min-height:24px;padding:5px 0;text-underline-offset:.2em}
.as-public-footer{text-align:center;font-size:.88rem}
.as-public-footer p{margin:6px}
.as-language-notice{max-width:1100px;box-sizing:border-box;margin:0 auto 22px;padding:14px 18px;background:#fafbf8;border-inline-start:4px solid var(--as-accent);font-size:.92rem}
.as-original-badge{display:block;margin-top:14px;font-size:.72rem;color:var(--as-accent)}
.as-search-form{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-block:20px;max-width:900px}
.as-search-form label{flex:1 1 220px;min-width:0}
.as-search-form label span{display:block;margin-bottom:8px}
.as-search-form input{box-sizing:border-box;width:100%;padding:12px;border:1px solid #73857c;background:#fafbf8;border-radius:4px;font-size:1rem}
.as-search-form button{padding:12px 20px;border:1px solid var(--as-accent);background:#fafbf8;border-radius:4px;font-size:1rem;min-height:48px}
.as-language-picker a{display:inline-block;padding:6px 3px;min-height:24px}
.as-collection-description{max-width:1000px}
.as-prose .wp-block-embed__wrapper{max-width:100%;overflow-wrap:anywhere}
.as-prose .wp-block-embed.is-type-video .wp-block-embed__wrapper iframe{max-width:100%;aspect-ratio:16/9;height:auto;min-height:160px}
.as-prose pre{max-width:100%;overflow:auto}
@media(max-width:679px){.as-primary{flex-basis:100%}.as-primary ul{gap:5px 16px}.as-header{padding:14px}.as-language-notice{padding:12px}.as-search-form{align-items:stretch}}

/* rc3.0: explicit language-neutral reading shell.
 * Theme templates own the DOM. Core may classify the logical surface on <body>,
 * but locale never adds/removes/reorders wrapper elements.
 */
.as-reading-surface{min-width:0}
body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface{
 max-width:1100px;box-sizing:border-box;margin:0 auto;overflow:clip;
 background-color:rgba(250,251,248,.98);
 background-image:linear-gradient(90deg,rgba(250,251,248,.72),rgba(250,251,248,.985) 24%,rgba(250,251,248,.99) 76%,rgba(250,251,248,.72)),var(--as-card-image);
 background-size:auto,820px auto;background-position:center;
 border:1px solid rgba(120,133,120,.25);border-radius:3px;
}
body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-breadcrumbs{
 max-width:none;width:100%;box-sizing:border-box;margin:0;padding:20px clamp(20px,4vw,52px) 0;
 background:transparent;border:0;border-radius:0;
}
body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-breadcrumbs ol{margin:0 0 18px}
body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.wp-block-post-title{
 width:100%;max-width:none;box-sizing:border-box;margin:0;padding:0 clamp(20px,4vw,52px) 30px;
 background:transparent;border:0;border-radius:0;overflow-wrap:anywhere;
}
body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-language-notice{
 max-width:none;box-sizing:border-box;margin:0 clamp(20px,4vw,52px) 22px;padding:14px 18px;
 background:rgba(250,251,248,.78);
}
body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-reading-layout{
 width:100%;max-width:none;box-sizing:border-box;margin:0;padding:0 clamp(20px,4vw,52px) clamp(20px,4vw,52px);
 background:transparent;border:0;border-radius:0;
}
body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-reading-layout>.as-prose{
 min-width:0;padding:0;background:transparent;border:0;border-radius:0;
}
body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-related{
 box-sizing:border-box;margin:0;padding:0 clamp(20px,4vw,52px) clamp(20px,4vw,52px);
}
/* Navigation/system pages reuse the template shell without receiving a reading slab. */
body.as-surface-navigation .as-reading-surface{max-width:none;margin:0;background:transparent;border:0;overflow:visible}
body.as-surface-navigation .as-reading-surface>.as-breadcrumbs{margin:0 0 24px}
body.as-surface-navigation .as-reading-surface>.wp-block-post-title{box-sizing:border-box}
@media(max-width:800px){
 body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-breadcrumbs{padding-inline:20px}
 body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.wp-block-post-title{padding-inline:20px}
 body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-language-notice{margin-inline:20px}
 body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-reading-layout{padding-inline:20px}
 body:is(.as-surface-entry,.as-surface-reading) .as-reading-surface>.as-related{padding-inline:20px}
}

/* rc3.1: shared mobile header density. This is viewport-only, never locale-specific. */
@media(max-width:720px){
 .as-header{display:grid!important;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 14px 12px;align-items:center}
 .as-header>.wp-block-group:first-child{min-width:0}
 .as-header .wp-block-site-logo{display:none}
 .as-header .wp-block-site-title{min-width:0;font-size:clamp(1.5rem,7vw,1.8rem);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .as-primary{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 .as-primary ul{width:max-content;min-width:100%;flex-wrap:nowrap;gap:0}
 .as-primary li{flex:0 0 auto}
 .as-primary a{display:flex;align-items:center;min-height:44px;padding:0 10px;white-space:nowrap}
 .as-site-tools{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;width:100%;gap:8px;align-items:center}
 .as-language-picker{min-width:0;flex-wrap:nowrap;gap:10px;overflow-x:auto;scrollbar-width:none}
 .as-language-picker a{display:flex;align-items:center;min-height:44px;padding:0 2px;white-space:nowrap}
 .as-site-tools>button{display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:0}
 .as-motion-toggle::before{content:"☁";font-size:1.2rem;line-height:1}
 .as-site-tools [data-as-search-open] .as-search-icon{font-size:1.15rem;line-height:1}
 .as-site-tools [data-as-search-open] kbd{display:none}
 .as-primary a:focus-visible,.as-site-tools>button:focus-visible,.as-language-picker a:focus-visible{outline-offset:-3px}
}
@media(min-width:721px) and (max-width:959px){
 .as-header{gap:12px}
 .as-header>*{min-width:0}
 .as-primary{min-width:0}
 .as-primary ul{max-width:100%}
 .as-site-tools{min-width:0}
}
