/* A field-guide layout: existing Minecraft green, paper pages, pumpkin accents. */
.bb-course-page { --bb-ink:#17392c; --bb-paper:#f6f4e9; --bb-line:#cbd4c1; --bb-green:#abf257; --bb-muted:#54634f; background:#10271e; }
.bb-course-page * { box-sizing:border-box; }
.bb-course-page [hidden] { display:none!important; }
.bb-course-page h1,.bb-course-page h2,.bb-course-page h3 { font-family:inherit; letter-spacing:-.035em; }
.bb-course-page p { line-height:1.85; }
.bb-course-page a:focus-visible,.bb-course-page button:focus-visible,.bb-course-page summary:focus-visible,.bb-course-page input:focus-visible,.bb-course-page select:focus-visible { outline:3px solid #ed912e; outline-offset:4px; }
.bb-wrap { width:min(1180px,calc(100% - 3rem)); margin-inline:auto; }
.bb-hero { padding:155px 0 64px; background:radial-gradient(ellipse at 83% 42%,#254834 0,transparent 56%),#10271e; border-bottom:1px solid #416040; }
.bb-hero .mc-route-switch { margin:0 0 40px; }
.bb-hero-grid { display:grid; grid-template-columns:1fr 1.06fr; gap:48px; align-items:center; }
.bb-hero-copy { min-width:0; }
.bb-eyebrow { font-size:.72rem; line-height:1.4!important; font-weight:900; letter-spacing:.15em; text-transform:uppercase; color:var(--bb-green); margin-bottom:18px; }
.bb-section-label { font-size:1.1rem; margin-bottom:16px; color:#d0dfc2; font-weight:750; }
.bb-hero h1 { font-size:clamp(2.7rem,4.4vw,4.6rem); line-height:1.13; margin:0 0 25px; color:var(--bb-paper); font-weight:900; }
.bb-hero h1 span { color:var(--bb-green); }
.bb-hero .bb-lead { color:#d1ddc9; font-size:1rem; max-width:35rem; margin-bottom:28px; }
.bb-hero .bb-hero-note { font-size:.78rem; color:#bacdb2; margin:20px 0 0; }
.bb-actions { display:flex; flex-wrap:wrap; gap:12px; }
.bb-button { min-height:48px; padding:13px 20px; display:inline-flex; align-items:center; justify-content:center; gap:20px; border:1px solid #72946c; color:#f6f4e9; font-size:.92rem; font-weight:800; text-decoration:none; line-height:1.4; border-radius:3px; }
.bb-button:hover { transform:translateY(-2px); border-color:var(--bb-green); }
.bb-button.is-primary { background:var(--bb-green); color:#10271e; border-color:var(--bb-green); }
.bb-button.is-dark { background:var(--bb-ink); color:#fff; border-color:var(--bb-ink); }
.bb-button.is-outline { border-color:var(--bb-ink); color:var(--bb-ink); background:transparent; }
.bb-feature-art { position:relative; margin:0; border:1px solid #6c8754; box-shadow:9px 9px 0 #081b14; background:#0d211b; }
.bb-feature-art img { width:100%; height:auto; display:block; }
.bb-feature-art figcaption { display:flex; flex-direction:column; gap:7px; padding:20px 26px; color:var(--bb-paper); border-top:1px solid #4f6643; font-size:.9rem; }
.bb-feature-art figcaption span { color:#bacdb2; font-size:.78rem; }
.bb-art-stamp { position:absolute; z-index:2; top:20px; left:20px; padding:10px 13px; border:1px solid #759968; background:#122b21; color:#d5e7bd; font:700 10px/1.5 monospace; letter-spacing:.12em; }
.bb-art-stamp b { display:block; font-size:32px; color:var(--bb-green); }
.bb-principles { background:var(--bb-green); color:var(--bb-ink); }
.bb-principles .bb-wrap { display:grid; grid-template-columns:repeat(3,1fr); padding-block:24px; gap:24px; }
.bb-principles .bb-wrap > div { display:flex; flex-direction:column; gap:5px; padding-left:20px; border-left:1px solid #689b37; }
.bb-principles b { font-size:.94rem; }.bb-principles span { font-size:.82rem; }
.bb-paper { background:var(--bb-paper); color:var(--bb-ink); }
.bb-paper .bb-eyebrow { color:#40662f; }
.bb-catalog { padding:80px 0; }
.bb-section-heading { display:flex; gap:32px; align-items:end; justify-content:space-between; margin-bottom:32px; }
.bb-section-heading h2 { font-size:clamp(1.6rem,3vw,2.35rem); margin:0; }
.bb-section-heading > p { font-size:.9rem; color:var(--bb-muted); margin:0; }
.bb-lesson-card { display:grid; grid-template-columns:1.05fr 1fr; border:1px solid var(--bb-ink); background:#fffdf5; box-shadow:6px 6px 0 #d9dfce; }
.bb-lesson-card + .bb-lesson-card { margin-top:40px; }
.bb-card-image { position:relative; background:#e8ede0; min-width:0; display:flex; align-items:center; border-right:1px solid var(--bb-ink); }
.bb-card-image img { display:block; width:100%; height:auto; }
.bb-card-image > span { position:absolute; top:20px; left:20px; background:#15382b; color:#f6f4e9; padding:7px 12px; font-size:.8rem; font-weight:800; }
.bb-card-copy { padding:36px; }
.bb-card-copy h3 { font-size:2.1rem; margin-bottom:12px; }
.bb-card-deck { font-size:1.35rem; font-weight:800; line-height:1.5!important; }
.bb-card-copy > p:not(.bb-card-deck):not(.bb-eyebrow) { color:var(--bb-muted); font-size:.95rem; }
.bb-tags { padding:0; margin:0 0 26px; list-style:none; display:flex; gap:8px; flex-wrap:wrap; }
.bb-tags li { padding:5px 9px; border:1px solid #91a27c; font-size:.72rem; line-height:1.4; border-radius:2px; }
.bb-hero .bb-tags { color:#d9e6cc; }
.bb-text-link { display:block; width:fit-content; color:var(--bb-ink); font-size:.85rem; font-weight:750; margin-top:18px; text-decoration:underline!important; text-underline-offset:5px; }
.bb-course-bridge { margin-top:56px; padding-top:36px; border-top:1px solid var(--bb-line); display:flex; gap:32px; align-items:center; justify-content:space-between; }
.bb-course-bridge h3 { font-size:1.55rem; margin-bottom:12px; }
.bb-course-bridge p:not(.bb-eyebrow) { max-width:650px; margin:0; color:var(--bb-muted); }.bb-course-bridge .bb-button { flex-shrink:0; }
.bb-footer { background:#10271e; padding:36px 0; color:#bbceb2; font-size:.8rem; }
.bb-footer .bb-wrap { display:flex; gap:24px; flex-wrap:wrap; align-items:center; }
.bb-footer a { color:#f6f4e9; }.bb-footer span { margin-left:auto; }
.bb-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:.8rem; color:#c1d4b5; margin-bottom:35px; }
.bb-breadcrumb a { color:#c1d4b5; }.bb-breadcrumb a:hover { color:#abf257; }
.bb-chapter { display:flex; align-items:center; gap:23px; margin-bottom:30px; }
.bb-chapter > span { width:74px; border:1px solid #b9eb80; box-shadow:5px 5px 0 #071b13; text-align:center; flex-shrink:0; }
.bb-chapter small { display:block; font-size:10px; letter-spacing:.2em; padding:5px 3px; background:#203d2c; }
.bb-chapter b { display:block; font:900 39px/1.3 monospace; color:#133727; background:#abf257; }
.bb-chapter p { color:#b4c8a4; font-size:.7rem; letter-spacing:.08em; margin:0; }
.bb-chapter strong { font-size:.86rem; letter-spacing:0; color:#eef4e8; }
.bb-lesson-page .bb-hero h1 { font-size:clamp(3.3rem,5.5vw,5.25rem); margin-bottom:22px; }
.bb-hero-deck { font-size:1.4rem; line-height:1.55!important; font-weight:750; color:#f1f1e4; margin-bottom:20px; }
.bb-preview-card { border:1px solid #526d44; box-shadow:8px 8px 0 #091d14; min-width:0; min-height:640px; align-self:stretch; display:flex; flex-direction:column; }
.bb-viewer { position:relative; min-height:480px; flex:1; background:radial-gradient(ellipse at 50% 65%,#3c4626,transparent 65%),repeating-linear-gradient(0deg,transparent 0 47px,#ffffff07 47px 48px),repeating-linear-gradient(90deg,transparent 0 47px,#ffffff07 47px 48px),#0d1d18; }
.bb-viewer .model-viewer-toolbar { position:relative; inset:auto; display:flex; flex-direction:column; align-items:stretch; gap:12px; padding:16px; }
.bb-viewer .model-viewer-live { align-self:flex-start; font-size:.7rem; box-shadow:none; max-width:100%; }
.bb-viewer .model-viewer-toolbar > div { display:flex; justify-content:flex-start; flex-wrap:wrap; gap:6px; }
.bb-viewer .model-viewer-toolbar select { flex:1 0 100%; max-width:100%; min-width:0; width:100%; white-space:normal; font-size:.76rem; }
.bb-viewer .model-viewer-toolbar button { padding:8px; min-height:36px; flex:1; justify-content:center; font-size:.7rem; white-space:nowrap; }
.bb-viewer .model-viewer-toolbar button span { display:inline; }
.bb-viewer .model-viewer-stage { inset:140px 0 30px; background-size:contain; }
.bb-viewer .model-viewer-hint { left:16px; bottom:12px; padding:4px 8px; min-height:0; color:#d4dbce; font-size:.7rem; }
.bb-preview-caption { background:#19362a; padding:18px 22px; border-top:1px solid #526d44; display:flex; flex-direction:column; gap:6px; }
.bb-preview-caption b { font-size:.95rem; color:#f7f4e8; }.bb-preview-caption span { color:#b9cbb0; font-size:.76rem; line-height:1.7; }
.bb-lesson-strip { background:#abf257; color:#163725; }
.bb-lesson-strip .bb-wrap { display:flex; align-items:center; gap:24px; padding-block:22px; font-size:.9rem; }
.bb-lesson-strip strong { flex-shrink:0; padding-right:24px; border-right:1px solid #608336; }.bb-lesson-strip a { margin-left:auto; flex-shrink:0; color:#193b20; font-weight:750; }
.bb-reader { display:grid; grid-template-columns:240px minmax(0,1fr); gap:60px; padding-block:68px 90px; align-items:start; }
.bb-toc { position:sticky; top:125px; padding-right:22px; border-right:1px solid var(--bb-line); }
.bb-toc h2 { font-size:1.05rem; margin-bottom:24px; }.bb-toc ol { list-style:none; padding:0; margin:0; }
.bb-toc li a { display:flex; align-items:baseline; gap:12px; padding:10px 0; font-size:.8rem; color:#4c624a; }
.bb-toc li a span { font:700 .75rem/1.3 monospace; color:#79916b; }
.bb-toc a[aria-current="step"] { font-weight:900; color:#143b24; text-decoration:underline; text-underline-offset:5px; }
.bb-progress-box { border-top:1px solid var(--bb-line); padding-top:20px; margin-top:20px; }
.bb-progress-box label { display:flex; gap:12px; justify-content:space-between; font-size:.76rem; color:var(--bb-ink); }
.bb-progress-box progress { display:block; width:100%; height:6px; margin:12px 0; accent-color:#4d782e; background:#d9dfce; border:0; }
.bb-progress-box progress::-webkit-progress-bar { background:#d9dfce; }.bb-progress-box progress::-webkit-progress-value { background:#4d782e; }
.bb-progress-box small { display:block; color:#61715b; font-size:.7rem; line-height:1.65; }
.bb-article { min-width:0; font-size:1rem; }
.bb-article p { margin:0 0 20px; line-height:1.9; }
.bb-article h2 { font-size:1.65rem; line-height:1.45; }
.bb-article a:not(.bb-button) { color:#28633b; text-decoration:underline; text-underline-offset:3px; }
.bb-before { border:1px solid #a7b995; padding:30px; background:#e9eedf; margin-bottom:68px; scroll-margin-top:130px; }
.bb-before .bb-button { margin-bottom:22px; }.bb-before h2 { margin-bottom:18px; }
.bb-checkpoints { list-style:none; margin:0 0 20px; padding:0; font-size:.8rem; }
.bb-checkpoints li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; border-bottom:1px solid #cbd6bc; padding:10px 0; }
.bb-small { font-size:.78rem; color:#52634b; margin-bottom:0!important; }
.bb-article code { font-family:Consolas,"Courier New",monospace; font-size:.88em; background:#e5eadc; padding:2px 4px; color:#28512c; overflow-wrap:anywhere; }
.bb-step { padding-bottom:50px; margin-bottom:50px; border-bottom:1px solid var(--bb-line); scroll-margin-top:130px; }
.bb-step-heading { display:flex; gap:22px; align-items:flex-start; margin-bottom:25px; }
.bb-step-heading h2 { margin:0 0 8px; }.bb-step-heading p { font-size:.86rem; color:#66745b; margin:0; }
.bb-step-cube { display:block; width:55px; flex-shrink:0; text-align:center; background:#d9eea9; color:#143a2a; border:1px solid #17392c; box-shadow:4px 4px 0 #17392c; font:900 30px/1.25 monospace; padding-bottom:3px; }
.bb-step-cube small { display:block; background:#17392c; color:#eef4db; font:700 9px/1.8 monospace; letter-spacing:.16em; }
.bb-directions { padding-left:22px; margin:0 0 25px; }.bb-directions li { padding-left:6px; margin-bottom:14px; line-height:1.9; }
.bb-directions li::marker { color:#56803b; font-weight:900; }
.bb-concept { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0; }.bb-concept span { padding:12px 20px; background:#e5eadc; font-weight:800; font-size:.9rem; border-bottom:2px solid #9bb46f; }
.bb-note { border-left:4px solid #9cc758; padding:18px 22px; background:#e9eedf; margin:26px 0; }
.bb-note > b { display:block; font-size:.9rem; margin-bottom:8px; }.bb-note p { font-size:.88rem; margin:0; }
.bb-article mark { background:#dcedaf; color:#143a2a; padding:1px 3px; }
.bb-check { padding:18px 20px; display:flex; align-items:flex-start; gap:14px; border:1px dashed #90a574; cursor:pointer; background:#fffdf5; color:var(--bb-ink); }
.bb-check input { width:20px; height:20px; flex-shrink:0; margin:3px 0 0; accent-color:#47732d; }
.bb-check span { display:block; font-size:.85rem; line-height:1.8; }.bb-check strong { display:block; color:#49742e; }
.bb-check:has(input:checked) { background:#e3edce; border-style:solid; }
.bb-figure { margin:26px 0; border:1px solid #bbc8ab; background:#e8ede0; }
.bb-figure img { display:block; width:100%; height:auto; }
.bb-figure figcaption { font-size:.76rem; line-height:1.7; padding:12px 16px; background:#fbfaf2; border-top:1px solid #bbc8ab; color:#55614e; }
.bb-figure-pair { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:20px; }
.bb-figure-pair .bb-figure { margin:0; }.bb-figure-pair img { aspect-ratio:1.05; object-fit:contain; }
.bb-software-shot { margin:28px 0; min-width:0; border:1px solid #81976a; background:#fffdf5; box-shadow:4px 4px 0 #dae1ce; }
.bb-software-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 16px; padding:11px 16px; background:#17392c; color:#e4eed8; font-size:.72rem; line-height:1.6; }
.bb-software-bar a:not(.bb-button) { color:#c3f291; font-weight:800; padding:3px 0; }
.bb-software-image { display:block; background:#15181d; cursor:zoom-in; }
.bb-software-image img { display:block; width:100%; height:auto; }
.bb-software-shot figcaption { padding:18px 20px; border-top:1px solid #81976a; }
.bb-software-shot figcaption > strong { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 12px; font-size:.94rem; line-height:1.6; }
.bb-software-shot figcaption > strong > span { flex-shrink:0; padding:3px 7px; background:#e2edce; color:#36582c; font-size:.68rem; letter-spacing:.04em; }
.bb-software-shot ul { margin:12px 0 0; padding-left:18px; color:#52614b; font-size:.8rem; line-height:1.85; }
.bb-software-shot li + li { margin-top:5px; }
@media(max-width:760px) { .bb-software-bar { padding:10px 12px; font-size:.68rem; }.bb-software-shot figcaption { padding:14px; }.bb-software-shot figcaption > strong { font-size:.85rem; }.bb-software-shot ul { font-size:.76rem; } }
.bb-table-scroll { overflow-x:auto; margin:22px 0; border:1px solid #c3ceba; border-radius:2px; }
.bb-article table { width:100%; border-collapse:collapse; text-align:left; font-size:.78rem; background:#fffef7; }
.bb-article th,.bb-article td { padding:12px 15px; border-bottom:1px solid #d6dfca; white-space:nowrap; }
.bb-article thead { background:#dfe8d2; }.bb-article tbody th { font:700 .75rem/1.5 Consolas,monospace; }
.bb-article tbody tr:nth-child(even) { background:#f0f3e8; }
.bb-details { border-top:1px solid #b6c4a8; border-bottom:1px solid #b6c4a8; padding:0 18px; margin:25px 0; background:#eeefe4; }
.bb-details summary { padding:17px 0; cursor:pointer; font-weight:750; font-size:.88rem; line-height:1.65; }
.bb-details[open] { padding-bottom:18px; }.bb-details > p { font-size:.86rem; margin-bottom:15px; }.bb-details .bb-table-scroll { margin-top:0; }
.bb-example { padding:24px; background:#f5e7c8; border-left:4px solid #df8d32; margin:24px 0; }.bb-example b { display:block; margin-bottom:10px; }.bb-example p { margin:0; font-size:.86rem; }.bb-example code { background:transparent; padding:0; }
.bb-texture-map { display:grid; grid-template-columns:240px minmax(0,1fr); gap:25px; align-items:center; margin:26px 0; padding:24px; background:#e8edde; border:1px solid #b7c5a8; }
.bb-texture-map img { width:100%; height:auto; image-rendering:pixelated; border:1px solid #73865b; }
.bb-texture-map figcaption { font-size:.8rem; line-height:1.9; }.bb-texture-map ol { padding-left:20px; }.bb-texture-map span { color:#5f6d53; }
.bb-pivot-layout { display:grid; grid-template-columns:1.3fr 1fr; gap:20px; margin:25px 0; }
.bb-tree { background:#193a2c; color:#e6efda; overflow-x:auto; padding:22px; margin:0; font: .8rem/2.05 Consolas,"Microsoft YaHei",monospace; }
.bb-pivot-card { padding:24px; border:2px solid #648b40; background:#e2edcf; }.bb-pivot-card > b { font:900 1.7rem/1.5 monospace; }.bb-pivot-card > p { margin:4px 0 14px; }.bb-pivot-card span { font-size:.8rem; line-height:1.8; display:block; }
.bb-timeline { display:flex; align-items:center; justify-content:space-between; gap:8px; background:#e4ebd6; padding:24px; margin:25px 0; text-align:center; font-size:.8rem; }.bb-timeline b { display:block; margin-top:5px; font-size:.9rem; }.bb-timeline i { font-style:normal; font-size:1.3rem; color:#648543; }
.bb-goal { border:2px solid #163b28; box-shadow:6px 6px 0 #17392c; background:#d8f0a7; padding:38px 32px; margin:18px 0 70px; position:relative; }
.bb-goal-label { position:absolute; top:-17px; right:25px; background:#f1a13c; padding:6px 18px; border:2px solid #17392c; box-shadow:3px 3px 0 #17392c; font:900 18px/1.3 monospace; letter-spacing:.12em; }
.bb-goal h2 { font-size:1.85rem; }.bb-goal ul { padding-left:20px; font-size:.9rem; line-height:1.9; margin-bottom:26px; }.bb-goal li { margin-bottom:10px; }
.bb-faq { scroll-margin-top:130px; }.bb-faq .bb-details { margin:0; border-bottom:0; }.bb-faq .bb-details:last-child { border-bottom:1px solid #b6c4a8; }.bb-faq h2 { margin-bottom:25px; }
.bb-reading { margin-top:40px; padding-top:26px; border-top:1px solid var(--bb-line); font-size:.8rem; }.bb-reading h3 { font-size:1rem; }.bb-reading a { display:inline-block; margin:0 15px 10px 0; }
@media(min-width:1050px) { .bb-hub-hero .bb-hero-copy h1 { font-size:3.7rem; } }
@media(max-width:1050px) {
 .bb-hero { padding-top:135px; }.bb-hero-grid { gap:28px; }.bb-reader { grid-template-columns:195px minmax(0,1fr); gap:32px; }.bb-toc { padding-right:16px; }.bb-toc li a { gap:7px; font-size:.75rem; }.bb-texture-map { grid-template-columns:180px 1fr; gap:18px; }.bb-pivot-layout { grid-template-columns:1fr; }.bb-viewer { min-height:530px; }.bb-card-copy { padding:28px; }
}
@media(max-width:760px) {
 .bb-wrap { width:calc(100% - 36px); }.bb-hero { padding:116px 0 40px; }.bb-hero-grid { grid-template-columns:1fr; gap:34px; }.bb-hero h1 { font-size:2.85rem; }.bb-lesson-page .bb-hero h1 { font-size:3.7rem; }.bb-hero .mc-route-switch { margin-bottom:30px; }.bb-feature-art { max-width:580px; }.bb-principles .bb-wrap { grid-template-columns:1fr; gap:17px; }.bb-principles .bb-wrap>div { flex-direction:row; align-items:baseline; flex-wrap:wrap; gap:7px 15px; }.bb-section-heading { display:block; }.bb-section-heading > p { margin-top:18px; }.bb-section-heading > p br { display:none; }.bb-lesson-card { grid-template-columns:1fr; }.bb-card-image { border-right:0; border-bottom:1px solid var(--bb-ink); }.bb-catalog { padding:48px 0; }.bb-card-copy { padding:26px; }.bb-course-bridge { flex-direction:column; align-items:flex-start; gap:22px; }.bb-footer span { margin-left:0; width:100%; }.bb-footer .bb-wrap { gap:15px 22px; }.bb-chapter { margin-bottom:28px; }.bb-breadcrumb { font-size:.73rem; gap:8px; }.bb-viewer { min-height:520px; }.bb-lesson-strip .bb-wrap { flex-wrap:wrap; gap:10px 16px; }.bb-lesson-strip strong { padding-right:15px; }.bb-lesson-strip .bb-wrap > span { flex-basis:calc(100% - 105px); }.bb-lesson-strip a { margin-left:0; font-size:.8rem; }.bb-reader { grid-template-columns:1fr; gap:36px; padding-top:35px; }.bb-toc { position:static; padding:0 0 24px; border-right:0; border-bottom:1px solid var(--bb-line); }.bb-toc h2 { margin-bottom:16px; }.bb-toc ol { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }.bb-toc li a { font-size:.75rem; padding:10px 0; }.bb-toc .bb-text-link { display:inline-block; margin-right:18px; }.bb-progress-box { padding-top:16px; margin-top:12px; }.bb-article { font-size:.94rem; }.bb-before { padding:23px; margin-bottom:44px; }.bb-before h2 { font-size:1.45rem; }.bb-step { margin-bottom:38px; padding-bottom:38px; scroll-margin-top:105px; }.bb-step-heading { gap:17px; }.bb-step-heading h2 { font-size:1.35rem; }.bb-step-cube { width:45px; font-size:26px; }.bb-step-heading p { font-size:.78rem; }.bb-check { padding:16px; }.bb-note { padding:16px; }.bb-figure-pair { gap:12px; }.bb-figure figcaption { padding:10px; font-size:.7rem; }.bb-article th,.bb-article td { padding:10px 12px; }.bb-texture-map { grid-template-columns:1fr; padding:20px; }.bb-texture-map img { width:192px; max-width:100%; margin:auto; }.bb-example { padding:18px; }.bb-goal { padding:30px 22px; }.bb-goal h2 { font-size:1.6rem; }.bb-before,.bb-faq { scroll-margin-top:110px; }
}
@media(max-width:380px) { .bb-wrap { width:calc(100% - 28px); }.bb-toc ol { grid-template-columns:1fr; }.bb-figure-pair { grid-template-columns:1fr; }.bb-viewer .model-viewer-toolbar button { padding:7px 5px; font-size:.65rem; gap:4px; }.bb-viewer .model-viewer-toolbar { padding:12px; }.bb-actions .bb-button { flex:1 0 100%; }.bb-before { padding:19px; }.bb-tree { font-size:.7rem; padding:16px; } }
@media(max-width:760px) { .bb-figure-pair { grid-template-columns:1fr; }.bb-preview-card { min-height:0; } }
@media(max-width:760px) { .bb-lesson-page[data-lesson="m1-garand"] .bb-hero h1 { font-size:clamp(2rem,10vw,3rem); } }
@media(max-width:760px) { .bb-lesson-page[data-lesson="m110"] .bb-hero h1 { font-size:clamp(2rem,10vw,3rem); } }
@media(max-width:760px) { .bb-lesson-page[data-lesson="gatling"] .bb-hero h1 { font-size:clamp(2rem,10vw,3rem); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.bb-button:hover { transform:none; } }
@media print { .site-header,.bb-toc,.bb-footer,.bb-hero,.bb-lesson-strip,.bb-button,.skip-link { display:none!important; }.bb-reader { display:block; width:100%; padding:0; }.bb-course-page,.bb-paper { background:#fff!important; color:#000; }.bb-step,.bb-before { break-inside:auto; }.bb-step-heading,.bb-figure,.bb-goal { break-inside:avoid; }.bb-article details { display:block; }.bb-article img { max-height:350px; object-fit:contain; } }
