:root{color-scheme:light;--bg:#f7f8fa;--panel:#fff;--text:#172a3a;--muted:#4d686c;--line:#e1e7ea;--accent:#0b8235;--wash:#ebf5ee;--button:#0b8235;--on-button:#fff}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#101a22;--panel:#18232c;--text:#e4ecf1;--muted:#b3c8ca;--line:#334551;--accent:#8ed7a4;--wash:#193c29;--button:#8ed7a4;--on-button:#06391b}}
:root[data-theme=dark]{color-scheme:dark;--bg:#101a22;--panel:#18232c;--text:#e4ecf1;--muted:#b3c8ca;--line:#334551;--accent:#8ed7a4;--wash:#193c29;--button:#8ed7a4;--on-button:#06391b}
.vwe-body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,sans-serif}
.vwe-body *{box-sizing:border-box}
.vwe-body a{color:var(--accent)}
.vwe-body :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.vwe-top{background:var(--panel);border-bottom:1px solid var(--line)}
.vwe-top>div,.vwe-main{width:min(100% - 28px,880px);margin-inline:auto}
.vwe-top>div{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.vwe-top label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem}
.vwe-top .vwe-brand{font-size:1.35rem;font-weight:800;text-decoration:none}
.vwe-brand small{background:var(--wash);padding:3px 7px;border-radius:8px;font-size:.75rem}
.vwe-main{padding:22px 0 160px}
.vwe-hero,.vwe-card,.vwe-tile,.vwe-result{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px}
.vwe-hero{margin-bottom:16px}
.vwe-hero h1{margin:0;background:var(--wash);padding:14px;border-radius:12px;font-size:clamp(1.25rem,4vw,1.9rem);text-align:center;text-transform:uppercase;overflow-wrap:anywhere}
.vwe-hero p{text-align:center;margin:10px 0 0;color:var(--muted)}
.vwe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.vwe-tile,.vwe-result{display:grid;gap:5px;text-decoration:none}
.vwe-tile span:last-child,.vwe-result span,.vwe-count{color:var(--muted);font-size:.92rem}
.vwe-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--wash);font-weight:800}
.vwe-result{margin-bottom:8px}
.vwe-body .vwe-button,.vwe-form button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 14px;border:0;border-radius:11px;background:var(--button);color:var(--on-button);font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.vwe-card{margin-top:12px;overflow-wrap:anywhere}
.vwe-article{overflow-x:auto}
.vwe-article table{border-collapse:collapse}
.vwe-article td,.vwe-article th{border:1px solid var(--line);padding:6px 10px}
.vwe-article h2,.vwe-article h3{line-height:1.3}
.vwe-form{display:grid;gap:10px}
.vwe-form label{display:grid;gap:5px;font-weight:650}
.vwe-body input,.vwe-body select{border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font:inherit;padding:7px 10px;min-width:0;min-height:42px}
.vwe-form input,.vwe-form select{width:100%}
.vwe-search-row,.vwe-filters{display:flex;flex-wrap:wrap;gap:8px}
.vwe-search-row input,.vwe-filters label{flex:1 1 140px}
.vwe-form p{white-space:pre-line;margin:0;color:var(--muted)}
.vwe-form p:empty,.vwe-form output:empty{display:none}
.vwe-form output{white-space:pre-line;background:var(--wash);padding:12px;border-radius:12px}
.vwe-alphabet,.vwe-pages{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.vwe-alphabet a{display:grid;place-items:center;min-width:36px;min-height:38px;padding:0 8px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:var(--panel)}
.vwe-alphabet a[aria-current]{background:var(--button);color:var(--on-button)}
.vwe-nav{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:12px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--line)}
.vwe-nav a{display:grid;place-items:center;min-height:44px;padding:0 12px;border-radius:10px;text-decoration:none;font-weight:650}
.vwe-nav a[aria-current]{background:var(--wash)}
.vwe-body .vwe-switch{bottom:calc(70px + env(safe-area-inset-bottom,0px))}
.vwe-body [hidden]{display:none!important}

.vwe-brand{display:inline-flex;gap:8px;align-items:center}
.vwe-brand img{width:36px;height:36px;border-radius:9px}

/* Keep the title and reading area compact on small screens. */
.vwe-body .vwe-hero{padding:12px;text-align:left}
.vwe-body .vwe-hero h1{padding:10px 14px;text-align:left;text-transform:none}
.vwe-body .vwe-hero p{text-align:left;margin:8px 4px 2px}
.vwe-body .vwe-tile:hover{border-color:var(--accent);background:var(--wash)}
.vwe-body .vwe-article{line-height:1.7}
.vwe-body .vwe-article>p:first-child{margin-top:0}
.vwe-body .vwe-article h2,.vwe-body .vwe-article h3{margin-block:1.35em .45em}
.vwe-body .vwe-article p{margin-block:.55em 1em}
.vwe-main ins.adsbygoogle{max-width:100%}
@media(max-width:520px){
  .vwe-top>div{min-height:56px}
  .vwe-main{padding-top:12px}
  .vwe-grid{gap:8px}
  .vwe-tile{padding:12px}
}

/* The 2.0 shell runs WordPress hooks but owns the viewport. */
html.vwe-document{margin:0!important;padding:0!important;border:0!important;background:var(--bg);min-height:100%}
html.vwe-document body.vwe-body{margin:0!important;padding:0!important;border:0!important;min-height:100vh;min-height:100dvh}
html.vwe-document::before,html.vwe-document::after,
html.vwe-document body.vwe-body::before,html.vwe-document body.vwe-body::after{content:none!important;display:none!important}
.vwe-body .vwe-top{position:relative;padding-top:env(safe-area-inset-top,0px)}
.vwe-body .vwe-top>div{padding-block:8px}
.vwe-svg{display:inline-grid;place-items:center;flex:none;width:1.5em;height:1.5em;color:inherit}
.vwe-svg svg{display:block;width:100%;height:100%}
.vwe-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.vwe-body .vwe-hero{padding:clamp(18px,4vw,36px);background:linear-gradient(135deg,var(--wash),var(--panel))}
.vwe-body .vwe-hero h1{background:none;padding:0;font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.15}
.vwe-body .vwe-hero p{margin:10px 0 0}
.vwe-quick-search{margin:0 0 16px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.vwe-body .vwe-button{gap:8px}
.vwe-body .vwe-tile{position:relative;padding:16px 38px 16px 16px;align-content:start}
.vwe-body .vwe-tile>span:nth-child(3){color:var(--muted);font-size:.92rem}
.vwe-tile-arrow{position:absolute;right:12px;top:22px;color:var(--accent);transform:rotate(-90deg)}
.vwe-body .vwe-nav{gap:clamp(4px,3vw,24px);padding-block:6px calc(6px + env(safe-area-inset-bottom,0px))}
.vwe-body .vwe-nav a{min-width:58px;min-height:54px;align-content:center;gap:2px;font-size:.8rem;padding-inline:8px}
.vwe-body .vwe-switch{bottom:calc(80px + env(safe-area-inset-bottom,0px))}
.vwe-body .vwe-main{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}
.vwe-back{display:inline-flex;gap:8px;align-items:center;min-height:44px;margin-bottom:8px;text-decoration:none;font-weight:650}
.vwe-table-scroll{max-width:100%;overflow-x:auto;margin-block:1em}
.vwe-table-scroll table{width:100%;min-width:38rem;margin:0}
.vwe-table-scroll th{background:var(--wash);text-align:left}
.vwe-table-scroll td,.vwe-table-scroll th{vertical-align:top;padding:10px}

/* Shared app-style surfaces for the library, monographs and calculator. */
.vwe-body .vwe-hero{display:flex;align-items:center;gap:clamp(12px,3vw,24px);border-radius:24px;overflow:hidden}
.vwe-hero-mark{display:grid;place-items:center;flex:none;width:clamp(48px,10vw,80px);aspect-ratio:1;border-radius:22px;background:var(--panel);color:var(--accent);border:1px solid var(--line)}
.vwe-hero-mark .vwe-svg{width:64%;height:64%}
.vwe-body .vwe-grid{gap:14px}
.vwe-body .vwe-tile{min-height:145px;grid-template-columns:1fr;gap:8px;border-radius:22px}
.vwe-body .vwe-tile strong{font-size:1.1rem}
.vwe-body .vwe-result{grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;gap:12px;padding:12px 14px}
.vwe-body .vwe-result>.vwe-svg:first-child{display:grid;width:40px;height:40px;padding:8px;border-radius:13px;background:var(--wash);color:var(--accent)}
.vwe-body .vwe-result-copy{display:grid;gap:2px;overflow-wrap:anywhere}
.vwe-body .vwe-result-copy strong{color:var(--text)}
.vwe-body .vwe-result:hover,.vwe-body .vwe-result:focus-visible{border-color:var(--accent)}
.vwe-body .vwe-nav a[aria-current] .vwe-svg{color:var(--accent)}
.vwe-body .vwe-article h2{padding-top:.6em;border-top:1px solid var(--line)}
.vwe-body #vwe-calculator{gap:16px}
.vwe-ad{margin:32px auto;max-width:100%}
@media(max-width:560px){
  .vwe-body .vwe-tile{grid-template-columns:48px minmax(0,1fr);min-height:84px;align-items:center;gap:2px 12px}
  .vwe-body .vwe-tile>.vwe-icon{grid-row:span 2}
  .vwe-body .vwe-tile>span:nth-child(3){grid-column:2}
  .vwe-body .vwe-tile-arrow{top:50%;transform:translateY(-50%) rotate(-90deg)}
}
