/* ZeroErrata — viewer page (loaded after site.css and projects.css) */
.vw-head{padding:48px 0 0}
.vw-sep{color:#5F6A64;margin:0 6px}
.vw-head .sk{margin-bottom:24px}
.vw-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;border:1px solid var(--ln);border-bottom:0}
.vw-id{display:grid;grid-template-columns:84px minmax(0,1fr);min-height:84px}
.vw-no{font-family:var(--fm);font-size:40px;font-weight:500;color:var(--cu);display:grid;place-items:center;border-right:1px solid var(--ln)}
.vw-t{padding:14px 20px;min-width:0}
.vw-t b{display:block;font-family:var(--fm);font-weight:400;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.vw-t h1{font-family:var(--fh);font-weight:var(--hw);font-size:clamp(26px,3vw,42px);letter-spacing:-.025em;line-height:1.1;margin:0}
.vw-proj{display:flex;align-self:stretch;border-left:1px solid var(--ln)}
.vw-proj a{display:grid;place-items:center;min-width:56px;padding:0 12px;font-family:var(--fm);font-size:15px;color:var(--mu);border-left:1px solid var(--ln)}
.vw-proj a:first-child{border-left:0}
.vw-proj a:hover{color:var(--tx);background:var(--s1)}
.vw-proj a.on{background:var(--cu);color:#0A0A0A}

.vw-tabs{display:flex;align-items:stretch;border:1px solid var(--ln);border-bottom:0;background:var(--s1)}
.vw-tab{min-height:44px;padding:0 20px;border:0;border-right:1px solid var(--ln);background:transparent;color:var(--mu);font-family:var(--fm);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.vw-tab:hover{color:var(--tx);background:var(--s2)}
.vw-tab.on{background:var(--cu);color:#0A0A0A}
.vw-tab:disabled{color:var(--ln2);cursor:default;background:transparent}
.vw-file{margin-left:auto;display:flex;align-items:center;padding:0 16px;font-family:var(--fm);font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

.vw-stage{position:relative;height:clamp(480px,calc(100vh - 230px),900px);border:1px solid var(--ln);background:var(--bg)}
.vw-pane{position:absolute;inset:0;display:none}
.vw-pane.on{display:block}
.vw-pane kicanvas-embed{display:block;width:100%;height:100%}
.vw-3d{background-image:radial-gradient(var(--ln) 1px,transparent 1px);background-size:20px 20px;background-position:10px 10px}
.vw-3d model-viewer{width:100%;height:100%;background:transparent;--poster-color:transparent;--progress-bar-height:0}
.vw-views{position:absolute;top:12px;left:12px;display:flex;border:1px solid var(--ln2);background:var(--bg);z-index:2}
.vw-views button{min-height:34px;padding:0 14px;border:0;border-left:1px solid var(--ln2);background:transparent;color:var(--mu);font-family:var(--fm);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.vw-views button:first-child{border-left:0}
.vw-views button:hover{color:var(--cu)}
.vw-msg{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:14px;padding:24px;text-align:center;font-family:var(--fm);font-size:13px;letter-spacing:.04em;color:var(--mu);background:var(--bg);z-index:3}
.vw-msg[hidden]{display:none}
.vw-bar-p{width:min(320px,70%);height:2px;background:var(--ln)}
.vw-bar-p i{display:block;height:100%;width:0;background:var(--cu);transition:width .2s}

.vw-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--ln);border-top:0}
.vw-keys .cell{padding:12px 16px;border-left:1px solid var(--ln);min-width:0}
.vw-keys .cell:first-child{border-left:0}
.vw-keys b{display:block;font-family:var(--fm);font-weight:400;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.vw-keys span{font-size:14px;line-height:1.4;color:var(--tx)}
.vw-note{margin:16px 0 0;font-size:13.5px;line-height:1.55;color:var(--dim);max-width:860px}
.vw-note a{color:var(--cu);text-decoration:underline;text-decoration-color:rgba(232,162,92,.45);text-underline-offset:4px}
.vw-note a:hover{color:var(--tx);text-decoration-color:var(--tx)}
.vw-note code{font-family:var(--fm);font-size:12.5px;color:var(--mu)}
.page-viewer .foot{margin-top:64px;border-top:1px solid var(--ln)}

@media (max-width:960px){
.vw-bar{grid-template-columns:minmax(0,1fr);gap:0}
.vw-proj{border-left:0;border-top:1px solid var(--ln);overflow-x:auto}
.vw-proj a{min-height:44px}
.vw-keys{grid-template-columns:repeat(2,minmax(0,1fr))}
.vw-keys .cell:nth-child(3){border-left:0}
.vw-keys .cell:nth-child(n+3){border-top:1px solid var(--ln)}
.vw-stage{height:clamp(420px,72vh,720px)}
}
@media (max-width:560px){
.vw-id{grid-template-columns:64px minmax(0,1fr);min-height:72px}
.vw-no{font-size:30px}
.vw-tab{padding:0 14px;letter-spacing:.04em}
.vw-file{display:none}
}
