/* Article-only additions; shared brand typography and themes remain inherited. */
.article-body .device-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.device-links a{display:inline-flex;align-items:center;min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:8px;background:var(--glass);font-size:15px;font-weight:600;text-decoration:none}
.device-links a:hover{border-color:var(--accent);color:var(--ink)}
.article-body .file-list,.article-body .guide-faq{margin:24px 0}
.file-list dt,.guide-faq dt{font-weight:650;color:var(--ink);margin-top:22px;overflow-wrap:anywhere}
.file-list dt{border-top:1px solid var(--line);padding-top:16px}
.file-list dd,.guide-faq dd{margin:7px 0 20px;color:var(--muted)}
.article-body strong{overflow-wrap:anywhere}
.guide-table-wrap{overflow-x:auto;max-width:100%;margin:24px 0}
.guide-table-wrap table{min-width:360px;margin:0}
.guide-table-wrap caption{text-align:left;color:var(--muted);font-size:14px;margin-bottom:14px}
.guide-table-wrap th:nth-child(n+2),.guide-table-wrap td:nth-child(n+2){white-space:nowrap;font-variant-numeric:tabular-nums}
.article-body h3{margin:28px 0 16px}
@media print{.article-toc,.mobile-toc,.device-links,.guide-figure__expand{display:none}.guide-figure{break-inside:avoid}.guide-table-wrap{overflow:visible}}

/* Visual previews and responsive teaching cards share the existing theme. */
.guide-preview__cover{display:block;aspect-ratio:4/3;margin-bottom:24px;overflow:hidden;background:#FFFDF8;border:1px solid var(--line);border-radius:10px}
.guide-preview__cover img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .25s ease}
.guide-preview__cover img[src$=".jpg"]{object-fit:cover}
.guide-preview:hover .guide-preview__cover img{transform:scale(1.025)}
.learn-visual{margin:32px 0 42px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--glass);line-height:1.5}
.learn-visual__heading>span{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--link);font-weight:650}
.article-body .learn-visual h3{font-family:var(--display);font-size:27px;line-height:1.25;margin:9px 0 24px}
.article-body .learn-visual h4{font-family:inherit;font-size:16px;line-height:1.45;margin:0 0 16px;color:var(--ink)}
.learn-visual figcaption{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;font-size:13px;color:var(--muted)}
.visual-steps{display:grid;gap:16px}
.visual-step{min-width:0;border:1px solid var(--line);border-radius:9px;padding:19px;background:var(--paper)}
.visual-step__number{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#C72559;color:#fff;font-size:14px;font-weight:650;margin-bottom:12px}
.article-body .visual-step p{margin:15px 0 0;font-size:14px;line-height:1.6;color:var(--muted)}
.visual-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.visual-eyebrow{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--link);display:block;margin-bottom:10px;font-weight:650}
.file-window{border:1px solid #C6BACC;border-radius:8px;background:#FFFDF8;color:#32205D;overflow:hidden;text-align:left}
.file-window__bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#E5EEF8;border-bottom:1px solid #C6BACC;font-size:12px;line-height:1.4}
.file-window__bar>span{font-size:7px;letter-spacing:2px;color:#796582;white-space:nowrap}
.file-row{display:flex;align-items:center;gap:12px;padding:13px 14px;border-bottom:1px solid #E9E2EA;font-size:14px;overflow-wrap:anywhere;line-height:1.5}
.file-row:last-child{border-bottom:0}.file-row--selected{background:#F5DFE7}
.file-symbol{display:inline-grid;place-items:center;position:relative;flex-shrink:0;width:32px;height:38px;border:1.5px solid currentColor;border-radius:3px;color:#C72559;font-size:9px;font-weight:700;background:#FFFDF8}
.file-symbol--zip{background:repeating-linear-gradient(0deg,#F5DFE7 0px,#F5DFE7 4px,#FFFDF8 4px,#FFFDF8 8px)}
.file-symbol--folder{height:24px;width:34px;background:#E5EEF8;color:#32205D;margin-top:6px;border-radius:0 3px 3px 3px}
.file-symbol--folder:before{content:"";position:absolute;top:-7px;left:-1.5px;width:16px;height:6px;border:1.5px solid currentColor;border-bottom:0;border-radius:3px 3px 0 0;background:#E5EEF8}
.visual-command{display:inline-block;margin:14px;padding:9px 17px;background:#C72559;border-radius:5px;color:#fff;font-size:13px;font-weight:650;line-height:1.4}
.visual-option{padding:0 14px 14px;font-size:13px}.visual-option small{display:block;margin-top:4px;color:#695975}
.visual-url{margin:16px;padding:10px 13px;border:1px solid #C6BACC;border-radius:20px;font-size:15px;font-weight:650}
.visual-menu{padding:0 16px 12px;font-size:14px;line-height:2}.visual-menu .visual-command{margin:12px 0 0}
.article-body .visual-note{margin:22px 0 0;padding:13px 16px;border-left:3px solid var(--accent);font-size:14px;color:var(--ink);background:var(--paper)}
.file-routes{display:grid;gap:15px}.file-route{display:grid;grid-template-columns:38px 1fr;column-gap:16px;padding:18px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}
.file-route .file-symbol{grid-row:1/3}.article-body .file-route h4{margin-bottom:8px}.article-body .file-route ol{grid-column:2;margin:0;padding-left:19px;font-size:14px;color:var(--muted)}
.article-body .file-route li{margin:5px 0}
.sample-grid{display:grid;grid-template-columns:repeat(6,var(--sample-cell,25px));width:max-content;border-top:1px solid #96899F;border-left:1px solid #96899F;font-family:Arial,sans-serif;color:#241332;font-weight:400;line-height:1}
.sample-cell{display:grid;place-items:center;width:var(--sample-cell,25px);height:var(--sample-cell,25px);font-size:calc(var(--sample-cell,25px) * .59);border-right:1px solid #96899F;border-bottom:1px solid #96899F;background:#FFFDF8}
.sample-cell--1{background:#ECB2C7}.sample-cell--2{background:#D5E5F5}.sample-cell--3{background:#F9EBD0}.sample-grid--mono .sample-cell{background:#fff}
.sample-key{display:flex;flex-wrap:wrap;gap:9px 17px;margin-top:20px;font-size:12px;color:var(--muted)}
.scale-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.scale-card{text-align:center;min-width:0}.scale-card>strong,.scale-card>span{display:block;font-size:13px;line-height:1.7}.scale-card>span{color:var(--muted)}
.paper-sample{width:100%;aspect-ratio:210/297;max-height:270px;overflow:hidden;background:#FFFDF8;border:1px solid #C6BACC;box-shadow:3px 4px 0 #C6BACC33;margin-bottom:17px;padding:10px;color:#32205D;text-align:left}
.paper-label{display:block;font-size:11px;letter-spacing:.04em;margin-bottom:16px}.paper-sample .sample-grid{margin-left:0}
.finish-checks{display:grid;gap:14px}.finish-check-card{padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:9px}
.finish-check-card .visual-step__number{float:left;margin:0 12px 12px 0}.article-body .finish-check-card h4{min-height:30px;line-height:30px;margin-bottom:8px}
.article-body .finish-check-card ul{list-style:none;padding:0;margin:0;clear:both;font-size:14px;color:var(--muted)}
.finish-check-card li{position:relative;padding-left:23px;margin:10px 0}.finish-check-card li:before{content:"✓";position:absolute;left:0;color:var(--link);font-weight:700}
@media(min-width:600px){.visual-steps .visual-step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 15px}.visual-steps .visual-step__number{grid-row:1/4}.visual-steps .file-window,.visual-steps .visual-step p{grid-column:2}}
@media(max-width:599px){.learn-visual{padding:18px 14px}.article-body .learn-visual h3{font-size:25px}.visual-pair,.scale-comparison{grid-template-columns:1fr}.visual-step{padding:16px}.paper-sample{width:150px;max-height:none;margin-inline:auto}.chart-pair .sample-grid{--sample-cell:30px;margin:20px auto}.scale-card{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:6px}.scale-card:last-child{border:0;padding-bottom:0}.guide-preview__cover{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.guide-preview__cover img{transition:none}.guide-preview:hover .guide-preview__cover img{transform:none}}
@media print{.learn-visual{break-inside:avoid;background:#fff;color:#32205D}.visual-step,.finish-check-card,.file-route{background:#fff}.guide-preview__cover{display:none}}
