/* Functional layout only. Override colors/spacing in the three editable Page shells. */
:where(.vl-library,.vl-gate,.vl-classroom,.vl-notice){--vl-ink:#17282a;--vl-muted:#637174;--vl-accent:#165a53;--vl-soft:#f3f6f3;--vl-line:#dbe4df;color:var(--vl-ink);font-family:inherit;box-sizing:border-box;width:100%;min-width:0}
:where(.vl-library,.vl-gate,.vl-classroom,.vl-notice) *{box-sizing:border-box}
:where(.vl-library,.vl-gate,.vl-classroom) a{color:inherit;text-underline-offset:4px}
:where(.vl-library,.vl-gate,.vl-classroom) :is(a,button,input):focus-visible{outline:3px solid #2383b3;outline-offset:4px}
:where(.vl-library,.vl-gate,.vl-classroom) button{border:0;border-radius:999px;padding:13px 22px;background:var(--vl-accent);color:#fff;font:inherit;cursor:pointer;min-height:44px}
.vl-search{max-width:640px;margin:0 0 32px}.vl-search label,.vl-password label{display:block;font-weight:600;margin:0 0 8px}.vl-search>div{display:flex;gap:10px}
:where(.vl-search,.vl-password) input:not([type=hidden]){border:1px solid var(--vl-line);border-radius:10px;padding:13px 15px;min-width:0;background:#fff;color:var(--vl-ink);font:inherit;font-size:16px;min-height:48px;width:100%}
.vl-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px}.vl-card{min-width:0;margin:0}.vl-card>a{display:block;text-decoration:none}.vl-card img{display:block;aspect-ratio:1;object-fit:cover;width:100%;height:auto;border-radius:18px;background:var(--vl-soft);transition:transform .25s ease}.vl-card a:hover img{transform:translateY(-3px)}.vl-card h2{font-family:inherit;font-weight:600;font-size:clamp(16px,1.4vw,20px);line-height:1.35;margin:15px 0 7px}.vl-card-label,.vl-muted{color:var(--vl-muted);font-size:14px;line-height:1.5}.vl-card a .vl-card-label{text-decoration:underline}.vl-pagination{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:36px}.vl-pagination .page-numbers{padding:8px 12px;min-width:40px;text-align:center}.vl-pagination .current{background:var(--vl-soft);border-radius:8px}
.vl-gate{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,80px);max-width:1000px;margin-inline:auto}.vl-cover img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:24px}.vl-gate h2{font-size:clamp(24px,3vw,36px);line-height:1.16;margin:0 0 28px}.vl-password p,.vl-error{font-size:14px;line-height:1.6}.vl-password p{color:var(--vl-muted)}.vl-error{padding:12px 16px;border-radius:10px;background:#fff0ee;color:#7e271b}.vl-password button{margin-top:8px;width:100%}
.vl-classroom-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.vl-classroom-heading h2{margin:0;line-height:1.2}.vl-classroom .vl-quiet{background:none;padding:6px 0;color:var(--vl-muted);font-size:13px;text-decoration:underline;border-radius:0}.vl-lessons{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,3fr);gap:32px}.vl-chapters{padding:22px;background:var(--vl-soft);border-radius:18px;align-self:start}.vl-chapters h3{font-size:17px;margin:0 0 16px}.vl-chapters ol{padding-left:20px;margin:0}.vl-chapters li{padding:8px 0;font-size:15px}.vl-chapters a{display:inline-block;line-height:1.6}.vl-chapters [aria-current],.vl-files [aria-current]{font-weight:700}.vl-watch h3{margin:0 0 16px}.vl-video{display:block;aspect-ratio:16/9;width:100%;height:auto;border:0;border-radius:16px;background:#152425}.vl-patterns{margin-top:48px}.vl-files{display:flex;flex-wrap:wrap;gap:10px}.vl-files a{padding:10px 14px;border:1px solid var(--vl-line);border-radius:999px;font-size:14px}.vl-files [aria-current]{background:var(--vl-soft)}.vl-pdf{display:block;width:100%;height:75vh;min-height:420px;max-height:900px;border:1px solid var(--vl-line);border-radius:12px;background:var(--vl-soft)}
@media(max-width:1023px){.vl-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vl-lessons{grid-template-columns:minmax(160px,1fr) minmax(0,2fr);gap:20px}}
@media(max-width:640px){.vl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.vl-gate,.vl-lessons{grid-template-columns:1fr}.vl-cover{max-width:360px;margin-inline:auto}.vl-classroom-heading{display:block}.vl-classroom-heading form{margin-top:10px}.vl-chapters{padding:18px}.vl-chapters ol{display:grid;grid-template-columns:1fr;max-height:240px;overflow:auto}.vl-search>div{gap:8px}.vl-search button{padding-inline:16px}.vl-pdf{height:65vh;min-height:360px}}
@media(prefers-reduced-motion:reduce){.vl-card img{transition:none}.vl-card a:hover img{transform:none}}
