.vw-stage{margin-top:0.85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-height:280px;overflow:auto}.vw-stage[hidden]{display:none !important}.vw-toolbar-row{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center}.vw-page{background:#fff;color:#111;margin:1rem auto;padding:1.4rem 1.6rem;max-width:820px;min-height:200px;box-shadow:0 8px 28px rgba(0,0,0,0.28);line-height:1.5;overflow-wrap:anywhere}.vw-page img{max-width:100%;height:auto}.vw-page table{border-collapse:collapse;width:100%;margin:0.6rem 0;font-size:0.92rem}.vw-page td,.vw-page th{border:1px solid #ccc;padding:0.28rem 0.45rem;text-align:left;vertical-align:top}body.theme-light .vw-page{box-shadow:0 8px 24px rgba(15,23,42,0.12)}.vw-canvas-wrap{display:flex;justify-content:center;padding:1rem;overflow:auto;background:#111827}.vw-canvas-wrap canvas{background:#fff;max-width:none;box-shadow:0 10px 30px rgba(0,0,0,0.45)}.vw-img-wrap{display:flex;justify-content:center;align-items:flex-start;padding:1rem;overflow:auto;min-height:240px}.vw-img-wrap img{max-width:100%;height:auto;background:linear-gradient(45deg,#ccc 25%,transparent 25%) 0 0 / 16px 16px,linear-gradient(-45deg,#ccc 25%,transparent 25%) 0 8px / 16px 16px,linear-gradient(45deg,transparent 75%,#ccc 75%) 8px -8px / 16px 16px,linear-gradient(-45deg,transparent 75%,#ccc 75%) -8px 0 / 16px 16px;background-color:#fff}.vw-sheet-tabs{display:flex;flex-wrap:wrap;gap:0.35rem;padding:0.65rem 0.75rem 0}.vw-sheet-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:0.25rem 0.7rem;cursor:pointer;font-size:0.86rem}.vw-sheet-tabs button.is-on{border-color:var(--accent);color:var(--accent)}.vw-table-scroll{overflow:auto;max-height:70vh;padding:0.75rem}.vw-table-scroll table{border-collapse:collapse;min-width:100%;font:13px/1.4 Consolas,ui-monospace,monospace;background:var(--surface)}.vw-table-scroll th,.vw-table-scroll td{border:1px solid var(--border);padding:0.22rem 0.45rem;white-space:pre-wrap;max-width:22rem}.vw-table-scroll th{background:var(--surface-2);font-weight:700;position:sticky;top:0}.vw-pre{margin:0;padding:0.9rem 1rem;font:13px/1.45 Consolas,ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.vw-pre.no-wrap{white-space:pre;overflow:auto}.vw-tree{font:13px/1.5 Consolas,ui-monospace,monospace;padding:0.75rem 1rem;color:var(--text)}.vw-tree .key{color:#e879f9}.vw-tree .str{color:#34d399}.vw-tree .punct{color:var(--muted)}.vw-tree .coll{margin-left:1rem}.vw-tree .collapsed > .coll{display:none}.vw-tree .toggle{cursor:pointer;color:var(--muted);display:inline-block;width:12px}.vw-tree .toggle:hover{color:var(--accent)}.vw-headers{width:100%;border-collapse:collapse;font-size:0.92rem}.vw-headers th,.vw-headers td{border-bottom:1px solid var(--border);padding:0.35rem 0.6rem;text-align:left;vertical-align:top}.vw-headers th{width:9.5rem;color:var(--muted);font-weight:600}.vw-chapters{display:flex;flex-wrap:wrap;gap:0.35rem;padding:0.65rem 0.75rem 0}.vw-chapters button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:0.28rem 0.65rem;cursor:pointer;font-size:0.84rem}.vw-chapters button.is-on{border-color:var(--accent);color:var(--accent)}@media (max-width:700px){.vw-page{margin:0.6rem;padding:1rem}.vw-headers th{width:6.5rem}}.vw-pass{margin:0.85rem 0;padding:0.85rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.vw-pass[hidden]{display:none !important}.vw-pass-row{display:flex;flex-wrap:wrap;gap:0.65rem 0.85rem;align-items:end;margin-top:0.55rem}.vw-pass label{display:flex;flex-direction:column;gap:0.3rem;font-size:0.875rem;font-weight:600;color:var(--text)}.vw-pass label.op-check{flex-direction:row;align-items:center;font-weight:400}.vw-pass input[type="password"],.vw-pass input[type="text"]{font:inherit;font-weight:400;min-width:14rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0.45rem 0.65rem;color:var(--text)}.vw-pass input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px rgba(0,212,255,0.1)}.vw-doc-text{white-space:pre-wrap;font:1rem/1.55 Georgia,'Times New Roman',serif;color:#111}