/* Page 454 only. Keep the validated image and SVG in one proportional coordinate system. */
.mg-guide .mg-photo-zoom{display:grid;justify-items:center;gap:12px;color:var(--blue);font-weight:700;text-align:center;text-decoration:none;cursor:zoom-in;border-radius:var(--radius)}
.mg-guide .mg-photo-zoom>span{padding:10px 14px;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--pale)}
.mg-guide .mg-zoom-dialog{width:min(900px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);box-shadow:0 20px 60px #03182b55;overflow:auto}
.mg-guide .mg-zoom-dialog::backdrop{background:rgba(3,24,43,.65)}
.mg-guide .mg-zoom-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.mg-guide .mg-zoom-toolbar button{min-width:44px;min-height:44px;padding:8px 12px;font:inherit;color:var(--blue);background:var(--pale);border:1px solid var(--line);border-radius:8px;cursor:pointer}
.mg-guide .mg-zoom-toolbar button:disabled{opacity:.45;cursor:default}
.mg-guide .mg-zoom-dialog p{font-size:.9rem;margin:12px 0}
.mg-guide .mg-zoom-viewport{height:min(65dvh,650px);overflow:auto;overscroll-behavior:contain;cursor:grab;background:var(--light);border:1px solid var(--line);border-radius:8px}
.mg-guide .mg-zoom-viewport:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.mg-guide .mg-zoom-viewport.is-dragging{cursor:grabbing;user-select:none}
.mg-guide .mg-zoom-viewport img{display:block;max-width:none;height:auto;max-height:none;margin-inline:auto;pointer-events:none}
html.has-meter-dialog{overflow:hidden}
.mg-guide .meter-shortcuts:not([hidden]){display:grid;gap:10px;margin-top:20px}
.mg-guide .meter-shortcut{display:flex;align-items:center;gap:14px;text-align:left;min-height:52px;padding:10px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--pale);color:var(--blue);font:inherit;font-weight:700;cursor:pointer;box-shadow:0 3px 10px #18334412;transition:background .2s,box-shadow .2s}
.mg-guide .meter-shortcut-number{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid currentColor;border-radius:50%;background:var(--paper)}
.mg-guide .meter-shortcut:hover{background:var(--paper);box-shadow:0 6px 16px #18334426}
.mg-guide .meter-dialog{position:fixed;inset:0;margin:auto;width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--ink);box-shadow:0 20px 60px #03182b55}
.mg-guide .meter-dialog::backdrop{background:rgba(3,24,43,.55)}
.mg-guide .meter-sources article+article{margin-top:20px}
@media(prefers-reduced-motion:reduce){.mg-guide .meter-shortcut{transition:none}}
.mg-guide .mg-lead{margin:20px 0 28px;color:var(--muted)}
.mg-guide h2{max-width:none}.mg-guide h2,.mg-guide h3{text-wrap:wrap}.mg-guide h3{font-size:1.3rem;line-height:1.25}
.mg-guide .mg-toc{display:flex;flex-wrap:wrap;gap:12px;padding-block:20px;border-block:1px solid var(--line)}
.mg-guide .mg-toc a{padding:12px 18px;min-height:48px;background:var(--pale);border:1px solid var(--line);border-radius:var(--radius);color:var(--blue);text-decoration:none;font-weight:700}
.mg-guide .mg-roles,.mg-guide .mg-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.mg-guide .mg-roles article,.mg-guide .mg-questions article{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:white}
.mg-guide .mg-roles article{display:flex;flex-direction:column;gap:16px;box-shadow:0 8px 20px #03182b0c}
.mg-guide .mg-roles a{margin-top:auto;min-height:44px;display:flex;align-items:center;color:var(--blue);font-weight:700}
.mg-guide .mg-chip{color:var(--blue);font-size:.82rem;font-weight:700}
.mg-guide .mg-note{margin-top:26px;padding:20px 24px;border-left:3px solid var(--blue);background:var(--pale);max-width:none}
.mg-guide .mg-band{background:var(--light);border-block:1px solid var(--line)}
.mg-guide .mg-explorer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 12px 32px #18334412}
.mg-guide .visual{position:relative;width:min(100%,340px);margin:auto;aspect-ratio:340/480}
.mg-guide .visual img{position:absolute;width:72.941176%;max-width:none;height:100%;object-fit:contain;left:13.529412%;top:0}
.mg-guide .annotations{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;display:none}
.mg-guide .is-enhanced .annotations{display:block}
.mg-guide .leader{fill:none;stroke:#0060a1;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 1px 1px white)}
.mg-guide .target{fill:none;stroke:#0060a1;stroke-width:2;opacity:0}
.mg-guide .selected .target{stroke-width:3;fill:#0060a11c;opacity:1}
.mg-guide .selected .leader{stroke-width:3.5}
.mg-guide .hotspot{position:absolute;left:var(--x);top:var(--y);width:44px;height:44px;padding:0;border:2px solid var(--blue);border-radius:50%;color:var(--blue);background:white;font-weight:700;font-size:18px;box-shadow:0 3px 10px #18334426;transform:translate(-50%,-50%);cursor:pointer}
.mg-guide .hotspot[aria-expanded=true]{background:var(--blue);color:white;box-shadow:0 0 0 4px #d8edf9}
.mg-guide :is(button,summary,a):focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.mg-guide .copy{align-self:center;min-width:0}.mg-guide .hint{color:var(--muted)}
.mg-guide .panel{background:var(--pale);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.mg-guide .panel h3{font-size:24px;line-height:1.25;margin:12px 0 16px;clear:both}
.mg-guide .panel p{margin-top:12px}.mg-guide .number{font-weight:700;color:var(--blue);font-size:.9rem}
.mg-guide .close{float:right;border:1px solid var(--line);background:white;color:var(--ink);border-radius:8px;min-height:44px;padding:8px 12px;font-size:.85rem}
.mg-guide .extra{margin-top:22px;border-top:1px solid var(--line);padding-top:15px}
.mg-guide summary{cursor:pointer;font-weight:700;min-height:44px;padding-block:8px;color:var(--blue)}
.mg-guide .extra article{margin-top:20px}.mg-guide .extra article p{margin-top:8px}
.mg-guide .mg-credit,.mg-guide figcaption{font-size:.8rem;color:var(--muted);margin-top:12px;line-height:1.5}
.mg-guide .mg-details{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:16px 24px;margin-top:28px}
.mg-guide .mg-details[open] summary{margin-bottom:18px}
.mg-guide .mg-symbols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}
.mg-guide .mg-symbols p{margin:0;padding:16px;background:var(--pale);border-radius:8px}
.mg-guide .mg-symbols strong{display:block;font-size:1.4rem;color:var(--blue)}
.mg-guide .mg-pince{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;align-items:center;margin-top:30px}
.mg-guide .mg-pince figure{max-width:330px;margin:auto}.mg-guide .mg-pince img{width:100%;height:480px;object-fit:contain}
.mg-guide .mg-pince h3+p{margin-top:20px}.mg-guide .mg-pince .button{margin-top:24px;max-width:100%}
.mg-guide .mg-second{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:center}.mg-guide .mg-second img{max-height:340px;width:100%;object-fit:contain}.mg-guide .mg-second p{margin-top:18px}
.mg-guide .mg-questions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.mg-guide .mg-questions p{margin-top:18px}
.mg-guide .mg-links a{background:var(--pale);border:1px solid var(--line);border-bottom:3px solid var(--blue);padding:24px;border-radius:var(--radius);color:var(--blue);font-weight:700;text-decoration:none;box-shadow:0 8px 20px #03182b0c}.mg-guide .mg-links span{display:block;font-size:.9rem;font-weight:400;margin-top:14px}
@media(max-width:1000px){.mg-guide .mg-roles,.mg-guide .mg-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.mg-guide .mg-explorer{grid-template-columns:1fr;padding:20px 12px;gap:20px}.mg-guide .visual{max-width:270px}.mg-guide .panel{padding:18px}.mg-guide .mg-pince,.mg-guide .mg-questions,.mg-guide .mg-second{grid-template-columns:1fr;gap:24px}.mg-guide .mg-pince img{height:380px}.mg-guide .mg-symbols{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-guide .mg-details{padding:14px 18px}.mg-guide .mg-toc{gap:8px}.mg-guide .mg-toc a{padding:10px 12px;font-size:.9rem}}
@media(max-width:450px){.mg-guide .mg-roles,.mg-guide .mg-links{grid-template-columns:1fr}.mg-guide .mg-roles article{padding:20px;gap:12px}.mg-guide .mg-symbols{grid-template-columns:1fr}}

/* Three device roles; preserve the four comparison destinations. */
.mg-guide .mg-roles{grid-template-columns:repeat(3,minmax(0,1fr))}.mg-guide .mg-interactive-title{margin-top:40px}.mg-guide .mg-details p+p{margin-top:16px}.mg-guide .mg-pince p+p{margin-top:18px}
@media(max-width:700px){.mg-guide .mg-roles{grid-template-columns:1fr}}

/* Symbols: compact tiles with one shared full-width explanation per selected row. */
.mg-guide .sg-browser{margin-top:48px}.mg-guide #symboles-title{font-size:1.75rem;line-height:1.3;max-width:none}
.mg-guide .sg-group{margin-top:30px}.mg-guide .sg-group>h4{font-size:1.15rem;margin-bottom:16px}
.mg-guide .sg-grid{--sg-cols:5;display:grid;grid-template-columns:repeat(var(--sg-cols),minmax(0,1fr));gap:16px;align-items:stretch}
.mg-guide .sg-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:120px;min-width:0;padding:16px 10px;background:white;color:var(--ink);border:1px solid var(--line);border-bottom:3px solid var(--blue);border-radius:var(--radius);box-shadow:0 8px 20px #18334426;cursor:pointer;font:inherit;text-align:center;transition:transform .25s ease,box-shadow .25s,border-color .25s,background .25s}
.mg-guide .sg-symbol{display:flex;align-items:center;justify-content:center;gap:3px;min-height:42px;max-width:100%;font-weight:700;font-size:1.25rem;color:var(--blue)}.mg-guide .sg-symbol svg{width:64px;height:40px;flex-shrink:0}.mg-guide .sg-label{font-weight:700;font-size:.95rem;line-height:1.3;overflow-wrap:anywhere}
.mg-guide .sg-tile[aria-expanded=true]{border-color:var(--blue);background:var(--pale);box-shadow:0 12px 32px #18334433;outline:2px solid var(--blue);outline-offset:-2px}
.mg-guide .sg-panel{grid-column:1/-1;min-width:0;border:1px solid var(--blue);border-radius:var(--radius);background:white;box-shadow:0 12px 32px #18334426}
.mg-guide .sg-panel-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;background:var(--pale);border-radius:var(--radius) var(--radius) 0 0}.mg-guide .sg-panel-top h4{font-size:1.15rem;margin:0}.mg-guide .sg-close{font:inherit;font-size:.9rem;color:var(--blue);background:white;border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:44px;flex-shrink:0;cursor:pointer}
.mg-guide .sg-panel-copy,.mg-guide .sg-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:22px}.mg-guide .sg-panel-copy p,.mg-guide .sg-copy p{margin:0;min-width:0}.mg-guide .sg-panel-copy strong,.mg-guide .sg-copy strong{display:block;margin-bottom:8px}.mg-guide .sg-example{background:var(--pale);padding:14px 16px;border-left:3px solid var(--blue)}
.mg-guide .sg-source{margin:12px 0;background:white;border:1px solid var(--line);border-radius:var(--radius)}.mg-guide .sg-source summary{display:flex;gap:16px;align-items:center;padding:16px}
.mg-guide .sg-grid[hidden],.mg-guide .sg-sources[hidden],.mg-guide .sg-panel[hidden]{display:none}
.mg-guide .sg-tile:focus-visible{border-color:var(--blue);background:var(--pale);box-shadow:0 16px 32px rgb(3 24 43 / 22%)}
@media(hover:hover) and (pointer:fine){.mg-guide .sg-tile:hover{border-color:var(--blue);background:var(--pale);box-shadow:0 16px 32px rgb(3 24 43 / 22%)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.mg-guide .sg-tile:is(:hover,:focus-visible){transform:translateY(-4px)}}
@media(max-width:1000px){.mg-guide .sg-grid{--sg-cols:3}}
@media(max-width:700px){.mg-guide .sg-grid{--sg-cols:2;gap:12px}.mg-guide .sg-tile{padding:14px 8px;min-height:112px}.mg-guide .sg-label{font-size:.9rem}.mg-guide .sg-panel-copy,.mg-guide .sg-copy{grid-template-columns:1fr;padding:18px 16px;gap:20px}.mg-guide .sg-panel-top{padding:12px;gap:8px}.mg-guide .sg-panel-top h4{font-size:1rem}.mg-guide .sg-browser{margin-top:36px}}
@media(prefers-reduced-motion:reduce){.mg-guide .sg-tile{transition:none}}

/* Page-local hierarchy: readable introductions and three compact families. */
.mg-guide .sg-intro{max-width:none;margin:12px 0 20px;color:var(--muted)}
.mg-guide .sg-fold{border:1px solid var(--line);border-bottom:3px solid var(--blue);border-radius:var(--radius);background:white;box-shadow:0 12px 32px #18334426;overflow:clip}
.mg-guide .sg-fold>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;background:var(--pale);list-style:none}
.mg-guide .sg-fold>summary::-webkit-details-marker{display:none}
.mg-guide .sg-fold-mark{font-size:1.5rem;line-height:1;transition:transform .25s}
.mg-guide .sg-fold[open] .sg-fold-mark{transform:rotate(45deg)}
.mg-guide .sg-fold-body{padding:24px;overflow:hidden}
.mg-guide .sg-tile{box-shadow:0 12px 24px #1833442b}
.mg-guide .mg-questions article,.mg-guide .mg-roles article{border-top:3px solid var(--blue);box-shadow:0 12px 32px #18334426;transition:box-shadow .25s}
.mg-guide .mg-questions article:last-child{background:var(--pale)}
.mg-guide .mg-details,.mg-guide .mg-links a{box-shadow:0 12px 32px #18334426}
.mg-guide a.mg-compare{background:var(--blue);color:white;border-color:var(--blue);box-shadow:0 8px 20px #18334433;white-space:normal;text-align:center}
.mg-guide .mg-note a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;margin-top:12px;border-radius:var(--radius);background:var(--blue);color:white;text-decoration:none;font-weight:700;box-shadow:0 8px 20px #18334433}
.mg-guide .sg-browser>.mg-note{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mg-guide .sg-browser>.mg-note>strong{grid-column:1/-1}
.mg-guide .sg-browser>.mg-note>a{margin:0;min-width:0;text-align:center}
@media(max-width:700px){.mg-guide .sg-browser>.mg-note{grid-template-columns:1fr}}
@media(hover:hover){.mg-guide .mg-note a:hover{background:var(--ink)}}
@media(hover:hover){.mg-guide .sg-fold>summary:hover{background:#d8edf9}.mg-guide .mg-questions article:hover,.mg-guide .mg-roles article:hover{box-shadow:0 16px 36px #18334433}.mg-guide a.mg-compare:hover{background:var(--ink);color:white}}
@media(max-width:700px){.mg-guide .sg-fold>summary{padding:18px 16px}.mg-guide .sg-fold-body{padding:18px 12px}.mg-guide .sg-tile{min-height:112px}.mg-guide a.mg-compare{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.mg-guide .sg-fold-mark,.mg-guide .mg-questions article,.mg-guide .mg-roles article{transition:none}}
