/* Shared navigation enhancements; use the site's existing light/dark tokens. */
html{scroll-padding-top:90px}
:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
main{min-width:0}
main:focus{outline:none}
.skip-link{position:fixed;top:8px;left:12px;z-index:10001;padding:10px 16px;background:var(--surface);color:var(--ink);border:2px solid var(--ink);transform:translateY(-160%)}
.skip-link:focus{transform:none}
/* Resource previews use neutral, high-contrast paper; metadata stays readable. */
.resource-card{display:flex;flex-direction:column;gap:12px}
.resource-card .resource-preview{margin:-28px -28px 8px;border-bottom:1px solid var(--line);border-radius:4px 4px 0 0}
.resource-preview{padding:20px;background:#F0ECE9;color:#2B282C;overflow:hidden;min-height:140px;display:flex;align-items:center;justify-content:center}
.resource-preview img,.resource-preview svg{width:100%;max-width:100%;height:140px;object-fit:contain;display:block}
.resource-preview .preview-paper{width:100%;max-width:270px;padding:16px;background:#fff;border:1px solid #D9D2D1;box-shadow:0 4px 12px #2b282c10}
.resource-meta{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;color:var(--muted);font:500 12px/1.6 Montserrat,sans-serif;margin:8px 0 14px}
.resource-meta time{font-variant-numeric:tabular-nums}
.resource-card .resource-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px}
.resource-card>.btn:last-child{margin-top:auto;align-self:flex-start}
.resource-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.resource-jumps a{display:inline-flex;padding:9px 13px;border:1px solid var(--line);background:var(--surface);font:600 13px/1.5 Montserrat,sans-serif;text-decoration:none;min-height:44px;align-items:center}
.resource-jumps a:hover{border-color:var(--ink)}

/* Four purposeful footer groups replace the previous uninterrupted link list. */
footer.site.site-footer{padding:48px 0 32px}
footer.site.site-footer .wrap{display:block}
.footer-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin:28px 0 36px}
.footer-group h2,.footer-group h3{font:700 13px/1.4 Montserrat,sans-serif;color:var(--ink);margin:0 0 14px}
.footer-group ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-group a{display:inline-block;padding:3px 0;line-height:1.6;text-decoration:none}
.footer-group a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.resource-badge{display:inline-flex;font:600 11px/1.5 Montserrat,sans-serif;padding:4px 8px;border:1px solid var(--line);color:var(--charcoal);background:var(--paper)}
.resource-card .resource-preview{margin:0 0 8px}.card p.resource-meta{display:block;font:500 12px/1.8 Montserrat,sans-serif;color:var(--muted)}
.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img.mark{width:auto;height:30px}.home-actions{display:flex;gap:12px;flex-wrap:wrap}
.form-status{padding:14px;border-left:3px solid var(--red);background:var(--red-tint);color:var(--ink)}.form-status:empty{display:none}.project-form{max-width:820px}.project-form input,.project-form select,.project-form textarea{min-width:0}
.tutorial-page .guide ol{max-width:70ch;line-height:1.75}.tutorial-page .guide li+li{margin-top:16px}
.source-inspector{position:sticky;top:68px;z-index:15;background:var(--surface);border-block:1px solid var(--line);padding:12px 0}.source-inspector .wrap{display:flex;gap:16px;align-items:center;justify-content:space-between}.source-readout{font-size:14px;line-height:1.5}#clear-source{min-height:44px;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:8px 12px;cursor:pointer}
.paper .source-marker{font:inherit;color:inherit;border:0;border-bottom:1.5px solid #D9412C;min-height:32px;padding:2px 4px;cursor:pointer}.paper .source-marker:hover,.paper .source-marker[aria-pressed="true"]{background:#B8321F;color:#fff}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ink);outline-offset:4px}
#btnCopyTest{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:640px){.footer-groups{grid-template-columns:1fr 1fr;gap:24px 16px}.footer-group a{padding:7px 0}.resource-card .resource-preview{margin:0}.source-inspector .wrap{align-items:flex-start}.source-readout{font-size:12px}}
@media(max-width:1300px){nav#siteNav.open ul{max-height:calc(100dvh - 100px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{.skip-link,.source-inspector,.site-footer,#vlchat-widget{display:none!important}.paper .source-marker{background:none;border:0;padding:0;min-height:0}}

.paper-wrap,.paper-wrap>*{min-width:0}.sample-table-scroll{max-width:100%;overflow-x:auto}.paper svg{max-width:100%;height:auto}.sample-table-scroll:focus-visible{outline-offset:-3px}@media print{.sample-table-scroll{overflow:visible}}

/* Restore prepared readable action colors without changing decorative brand tokens. */
.btn:not(.ghost):not(.on-red){background:#B8321F;border-color:#B8321F;color:#fff}.btn:not(.ghost):not(.on-red):hover{background:#942817;border-color:#942817;color:#fff}.btn,button,summary{min-height:44px}button:disabled{opacity:1;background:var(--mist);color:var(--charcoal);cursor:not-allowed}

/* Dr. Valentine's PsychLab round logo (nav + footers) */
img.mark-dv{height:44px;width:44px;border-radius:50%;display:block;flex:none}.footer-brand img.mark-dv{height:40px;width:40px}footer.site img.mark-dv{height:36px;width:36px}@media (max-width:560px){#siteNav img.mark-dv{height:38px;width:38px}}

/* Product and parent site share layout but retain distinct identities. */
img.mark-automata{width:44px;height:44px;object-fit:contain;flex:none}.footer-brand img.mark-automata{width:40px;height:40px}
