/* Illustrated editorial layout, shared by normal reading and bate blending. */
.product-intro{--chapter-gap:88px}.v-directory{display:flex;gap:8px;overflow-x:auto;white-space:nowrap;padding:16px 0 24px;border-bottom:1px solid var(--line);scrollbar-width:thin}.v-directory a{flex:none;padding:8px 12px;border:1px solid transparent;border-radius:8px;font-size:12px;color:var(--muted)}.v-directory a:hover{background:var(--surface);border-color:var(--line);color:var(--text)}.p-summary{display:none}.v-chapter{padding-block:var(--chapter-gap);border-bottom:1px solid var(--line)}.v-chapter-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center}.v-copy h2{font-size:clamp(28px,3vw,40px);line-height:1.4;font-weight:600;letter-spacing:-1.2px;margin:20px 0}.v-lead{font-size:15px;line-height:1.95;color:var(--muted);margin:0;max-width:43ch}.v-reverse .v-copy{order:2}.v-reverse .v-visual{order:1}.v-visual{margin:0;min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden;box-shadow:0 18px 44px #0000000c}.v-visual figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 22px;border-bottom:1px solid var(--line);font-size:12px;color:var(--text)}.v-visual figcaption>span{display:flex;align-items:center;gap:9px}.v-visual figcaption svg{width:17px;height:17px;color:var(--accent)}.v-visual figcaption small{font-size:10px;color:var(--muted);white-space:nowrap}.v-art{padding:26px}.v-search{display:flex;align-items:center;gap:10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-size:12px;color:var(--muted)}.v-search>span{margin-left:auto}.v-search svg{width:17px;height:17px}.v-thumb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.v-visual .v-landscape{display:block;width:100%;height:auto;stroke:none;fill:none}.v-thumb-grid>div{min-width:0}.v-thumb-grid b{font-size:12px;font-weight:500;display:block;margin:12px 0 4px}.v-thumb-grid small{font:9px ui-monospace,monospace;letter-spacing:.5px;color:var(--muted)}.v-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.v-tags span{padding:6px 10px;font-size:10px;border:1px solid var(--line);border-radius:6px;color:var(--muted)}.v-tabs{display:flex;gap:24px;font-size:12px;color:var(--muted);padding-bottom:18px}.v-tabs .on{color:var(--accent)}.v-list-row{display:flex;gap:14px;align-items:center;padding:15px 12px;border-top:1px solid var(--line)}.v-icon{height:38px;width:38px;display:grid;place-items:center;color:var(--accent);border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);flex:none}.v-icon svg{width:21px;height:21px}.v-list-row>div{flex:1}.v-list-row b{display:block;font-size:13px;font-weight:500}.v-list-row small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.v-list-row>svg{height:15px;width:15px;color:var(--mint)}.v-mini-flow{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;color:var(--muted);font-size:11px}.v-mini-flow i{width:30px;height:1px;background:var(--line);position:relative;overflow:hidden}.v-mini-flow i:after{content:"";display:block;width:10px;height:1px;background:var(--accent);animation:v-flow 2s linear infinite}.v-bedrock-art{position:relative}.v-game-tile{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;gap:8px}.v-game-tile>svg{height:40px;width:40px;stroke-width:1.3;animation:v-float 6s ease-in-out infinite}.v-game-tile b{font-size:20px;letter-spacing:2px;font-weight:600;text-shadow:0 1px 4px #173c4c}.v-game-tile small{font-size:11px}.v-three-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.v-three-actions span{display:flex;align-items:center;gap:7px;font-size:11px}.v-three-actions svg{width:16px;height:16px;color:var(--accent)}.v-message{display:flex;gap:12px;padding:18px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;margin-top:16px;font-size:13px;line-height:1.8}.v-message:first-child{margin-top:0}.v-message>svg{width:20px;height:20px;color:var(--violet);margin-top:2px}.v-message b{font-weight:500}.v-message ul{list-style:none;margin:10px 0 0;padding:0;color:var(--muted);font-size:12px;line-height:2}.v-question{margin-left:30px;background:var(--surface-2)}.v-permission{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;line-height:1.7;color:var(--muted);margin-top:22px}.v-permission svg{width:15px;height:15px;color:var(--mint)}.v-message-lines{padding:12px 0 0 32px}.v-message-lines i{height:5px;display:block;background:var(--line);border-radius:3px;width:83%;margin:8px 0;transform-origin:left;animation:v-answer 5s ease-in-out infinite}.v-message-lines i:last-child{width:55%;animation-delay:.3s}.v-language-board{padding:12px 4px}.v-speech{display:flex;align-items:center;gap:10px;padding:16px 18px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;width:85%;font-size:12px}.v-speech:first-child{width:max-content;max-width:100%;color:var(--muted);padding:10px 14px}.v-speech:not(:first-child){display:block;margin:20px 0}.v-speech b{display:block;font-size:17px;font-weight:500;margin-bottom:7px}.v-speech small{font-size:11px;color:var(--muted)}.v-speech.alternative{margin-left:auto;background:var(--surface-2);animation:v-float 7s ease-in-out infinite}.v-free-mark{display:flex;justify-content:center;align-items:baseline;gap:10px;color:var(--accent);padding-top:15px}.v-free-mark span{font-size:30px}.v-free-mark b{font-size:96px;font-weight:500;line-height:1.2;letter-spacing:-5px}.v-free-label{text-align:center;font-size:14px;margin-top:8px}.v-free-icons{display:flex;justify-content:center;gap:16px;margin:27px 0}.v-free-icons span{height:44px;width:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.v-journey{position:relative;display:grid;gap:24px}.v-journey:before{content:"";position:absolute;top:24px;bottom:24px;left:21px;width:1px;background:var(--line)}.v-journey>div{display:flex;align-items:center;gap:16px;position:relative}.v-step-icon{height:44px;width:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--accent);background:var(--surface);flex:none}.v-journey small{font:9px ui-monospace,monospace;color:var(--muted);margin-right:8px}.v-journey b{font-size:13px;font-weight:500}.v-journey p{margin:5px 0 0;font-size:11px;color:var(--muted)}.v-release-head{display:flex;align-items:center;gap:14px}.v-release-head>svg{height:36px;width:36px;color:var(--accent)}.v-release-head b{display:block;font-size:17px;font-weight:500}.v-release-head small{font-size:11px;color:var(--muted)}.v-timeline{margin:24px 0 0 17px;padding-left:24px;border-left:1px solid var(--line)}.v-timeline>div{position:relative;padding-bottom:22px}.v-timeline>div:last-child{padding-bottom:0}.v-timeline i{position:absolute;left:-28px;top:6px;width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px var(--surface)}.v-timeline b{font-size:13px;font-weight:500}.v-timeline p{font-size:12px;color:var(--muted);margin:6px 0 0}.v-visual .v-community{width:100%;height:auto;fill:var(--surface-soft);stroke:var(--accent);stroke-width:1.5}.v-community .v-wire{stroke:var(--muted);stroke-dasharray:5 7;animation:v-wire 8s linear infinite}.v-community-label{display:grid;grid-template-columns:1fr 1fr 1fr;text-align:center;font-size:12px;color:var(--muted);margin-top:-12px}.v-community-label strong{font-size:16px;color:var(--text)}.v-api-chapter{grid-template-columns:1fr auto;gap:28px}.v-api-chapter>.v-visual{grid-column:1/-1;width:100%}.v-api-chapter .v-art{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.v-api-flow{display:flex;align-items:center;justify-content:space-between;gap:12px}.v-api-flow>span{display:grid;place-items:center;gap:12px}.v-api-flow svg{height:36px;width:36px;color:var(--accent)}.v-api-flow b{font-size:12px;font-weight:500}.v-api-flow>i{height:1px;flex:1;background:var(--line);min-width:10px}.v-api-code{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:10px;font-size:12px}.v-api-code>span{color:var(--muted);font-size:11px;margin-bottom:8px}.v-api-code>b{color:var(--accent);font-weight:500}.v-api-code i{height:1px;width:60%;background:var(--line)}.v-detail{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.v-detail>summary{padding:18px 3px;cursor:pointer;font-size:13px;color:var(--accent);line-height:1.7}.v-detail-body{padding:10px 0 26px;max-width:940px;margin-inline:auto}.v-detail-body h2{font-size:24px;margin:24px 0 14px}.v-detail-body h3{font-size:18px;margin:28px 0 12px;font-weight:600}.v-detail-body p,.v-detail-body li{font-size:14px;line-height:1.95;color:var(--muted)}.v-detail-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.v-detail-body .p-reference-notes{grid-template-columns:1fr 1fr}.v-detail-body .p-reference-notes p{font-size:12px}.v-wide{grid-column:1/-1;width:100%;margin-top:0}.v-faq{padding-block:80px;border-top:1px solid var(--line)}.v-faq h2{font-size:34px;font-weight:600;letter-spacing:-1px;margin:18px 0 32px}.v-faq-item{border-bottom:1px solid var(--line)}.v-faq-item summary{cursor:pointer;padding:22px 4px;font-size:15px;line-height:1.8;font-weight:500}.v-faq-item p{font-size:14px;color:var(--muted);line-height:1.95;margin:0;padding:0 4px 24px;max-width:85ch}.v-comparison{padding-block:70px}.v-comparison h2{font-size:30px}.p-final>.v-detail{text-align:left;max-width:760px;margin:36px auto 0}.p-final .v-detail-body{padding-inline:12px}.v-capability-index{padding-block:60px}.p-capability summary{padding:18px}.p-capabilities{gap:10px}.bat-reading .bat-panel{border-radius:0;box-shadow:none}.bat-reading .v-chapter{padding-block:60px}.bat-reading .v-visual{box-shadow:none}.bat-reading .bat-panel:has(:focus-visible){opacity:1!important}.no-anim .v-art *{animation:none!important}@keyframes v-flow{to{transform:translateX(40px)}}@keyframes v-float{50%{transform:translateY(-5px)}}@keyframes v-answer{50%{transform:scaleX(.85)}}@keyframes v-wire{to{stroke-dashoffset:-96}}
@media(max-width:1100px){.v-chapter-row{gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.v-art{padding:22px}.v-thumb-grid{gap:9px}.v-three-actions{gap:8px}.v-three-actions span{font-size:10px}.v-copy h2{font-size:32px}.v-lead{font-size:14px}}
@media(max-width:800px){.v-chapter-row{grid-template-columns:1fr;gap:28px}.v-copy{max-width:620px}.v-reverse .v-copy,.v-reverse .v-visual{order:initial}.v-visual{width:100%;max-width:640px;justify-self:center}.v-copy h2{font-size:32px}.v-lead{max-width:60ch}.v-chapter{padding-block:58px}.v-api-chapter{grid-template-columns:1fr}.v-api-chapter .v-art{grid-template-columns:1fr;gap:28px}.v-api-flow{max-width:480px;width:100%;margin-inline:auto}.v-faq{padding-block:58px}.v-faq h2{font-size:30px}.v-detail-body .p-reference-notes{grid-template-columns:1fr}.bat-reading .v-chapter{padding-block:42px}}
@media(max-width:480px){.v-directory{gap:4px;padding-block:8px 16px}.v-directory a{font-size:11px;padding:7px 9px}.v-copy h2{font-size:28px;letter-spacing:-.8px}.v-lead{font-size:14px}.v-art{padding:18px}.v-visual{border-radius:14px}.v-visual figcaption{padding:14px 17px;font-size:11px}.v-visual figcaption small{font-size:9px}.v-thumb-grid{grid-template-columns:1fr;gap:16px}.v-thumb-grid>div{display:grid;grid-template-columns:100px 1fr;gap:3px 14px;align-items:center}.v-thumb-grid .v-landscape{grid-column:1;grid-row:1/3}.v-thumb-grid b{margin:0;font-size:13px;align-self:end}.v-thumb-grid small{align-self:start;font-size:9px;margin-top:4px}.v-tabs{gap:18px;font-size:11px}.v-list-row{padding-inline:2px;gap:11px}.v-list-row b{font-size:12px}.v-three-actions{flex-wrap:wrap;justify-content:flex-start;gap:16px}.v-three-actions span{font-size:11px}.v-message{padding:14px;font-size:12px}.v-message ul{font-size:11px}.v-game-tile>svg{width:28px;height:28px}.v-game-tile b{font-size:17px}.v-free-mark b{font-size:80px}.v-speech{width:93%;padding:14px}.v-speech b{font-size:15px}.v-api-flow svg{width:28px;height:28px}.v-api-flow b{font-size:11px}.v-detail>summary{font-size:12px}.v-detail-body p,.v-detail-body li{font-size:13px}.v-faq h2{font-size:27px}.v-faq-item summary{font-size:14px;padding-block:18px}.v-faq-item p{font-size:13px}.v-community-label{font-size:11px}.v-community-label strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.v-art *, .v-art *::after{animation:none!important}}
/* Switching modes must not change reading height or lose focused controls. */
.bat-reading .v-chapter{padding-block:var(--chapter-gap)}
.bat-reading .p-api{margin-block:90px}
.bat-reading .bat-panel:has(:focus-visible){opacity:1!important;transform:none!important;pointer-events:auto!important}
@media(max-width:800px){.bat-reading .v-chapter{padding-block:58px}}
@media(max-width:760px){.bat-reading .p-api{margin-block:60px}}
.v-author-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}.v-author-links a{border:1px solid var(--line);padding:9px 13px;border-radius:8px;font-size:12px;text-decoration:none}
.v-detail>summary,.v-faq-item>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}
.v-detail>summary::-webkit-details-marker,.v-faq-item>summary::-webkit-details-marker{display:none}
.v-detail>summary:after,.v-faq-item>summary:after{content:"+";font:300 22px/1 "Segoe UI",sans-serif;color:var(--muted);flex:none;width:20px;text-align:center;transition:transform .2s}
.v-detail[open]>summary:after,.v-faq-item[open]>summary:after{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.v-detail>summary:after,.v-faq-item>summary:after{transition:none}}

.v-api-chapter>.p-api-mark{display:none}
/* Four visible field guides: instance map, compatibility, downloads, preferences. */
.v-explain{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:20px}.v-explain>li{display:flex;gap:14px}.v-explain>li>b{font:11px/1.9 ui-monospace,monospace;color:var(--accent);padding-top:2px}.v-explain strong{font-size:14px;font-weight:600}.v-explain p{margin:6px 0 0;font-size:13px;line-height:1.9;color:var(--muted)}.v-extra-art svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.v-map-root{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto 0;padding:16px;width:140px;background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;color:var(--accent)}.v-map-wires svg{width:100%;height:60px;display:block;color:var(--muted);stroke-dasharray:5 6;animation:v-wire 8s linear infinite}.v-map-worlds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v-map-world{border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);padding:14px 10px;min-width:0}.v-map-world>svg{display:block;margin-bottom:14px;color:var(--mint)}.v-map-world.blue>svg{color:var(--accent)}.v-map-world.purple>svg{color:var(--violet)}.v-map-world b{display:block;font-size:12px;font-weight:600}.v-map-world small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.v-folder-lines{display:grid;gap:7px;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font:10px/1.5 ui-monospace,monospace;color:var(--muted)}.v-art-note{font-size:11px;line-height:1.8;text-align:center;color:var(--muted);margin:24px 0 0}.v-compat-title{display:flex;align-items:center;gap:12px;margin:6px 0 24px;font-size:14px}.v-compat-title svg{color:var(--accent)}.v-compat-row{display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:14px;border-top:1px solid var(--line);padding:20px 0;font-size:13px}.v-compat-row code{font-size:12px;background:var(--surface-soft);padding:5px 8px;border-radius:5px}.v-compat-row svg{width:18px;height:18px;color:var(--mint)}.v-dependency{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:18px;margin-top:14px;background:var(--surface-soft);font-size:13px;color:var(--accent)}.v-download-row{display:flex;gap:20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.v-download-row:first-child{padding-top:0}.v-download-row>div{flex:1}.v-download-row strong{display:block;font-size:15px}.v-download-row small{display:block;margin-top:7px;font-size:12px;color:var(--muted)}.v-download-row>svg{width:18px;color:var(--muted)}.v-file-sheet{width:54px;height:64px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;padding:7px;color:var(--accent);background:var(--surface-soft)}.v-file-sheet b{font:10px ui-monospace,monospace;letter-spacing:1px}.v-mirror-path{display:flex;align-items:center;gap:16px;margin-top:24px;font-size:12px;color:var(--muted)}.v-mirror-path i{flex:1;height:1px;background:var(--line)}.v-preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v-preview-theme{padding:14px;border:1px solid #8799ae44;border-radius:10px}.v-preview-theme.light{background:#f4f7fc;color:#233f63}.v-preview-theme.dark{background:#141c29;color:#dbe8fa}.v-preview-theme>span{display:block;width:45%;height:6px;border-radius:4px;background:currentColor;opacity:.6}.v-preview-theme>div{display:flex;gap:6px;margin:18px 0}.v-preview-theme i{height:34px;border:1px solid #8799ae44;border-radius:4px;flex:1;background:#8799ae22}.v-preview-theme b{font:11px ui-monospace,monospace}.v-pref-line{display:flex;gap:12px;align-items:center;margin:24px 0;font-size:12px;color:var(--muted)}.v-bate-stack{height:120px;position:relative}.v-bate-stack>div{position:absolute;inset:0 28px 26px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--accent);font:11px ui-monospace,monospace;animation:v-stack-out 6s ease-in-out infinite}.v-bate-stack>div+div{inset:26px 0 0 28px;background:var(--surface-2);color:var(--mint);animation-name:v-stack-in}@keyframes v-stack-out{0%,100%{opacity:1;transform:translateY(0)}50%{opacity:.25;transform:translateY(20px)}}@keyframes v-stack-in{0%,100%{opacity:.45;transform:translateY(12px)}50%{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.v-map-worlds{gap:6px}.v-map-world{padding:12px 7px}.v-map-world b{font-size:11px}.v-compat-row{font-size:12px;gap:9px}.v-compat-row code{font-size:11px}.v-explain p{font-size:13px}.v-preview-pair{gap:9px}}
.no-anim .v-extra-art *{animation:none!important}@media(prefers-reduced-motion:reduce){.v-extra-art *{animation:none!important}}
