/* Shared styling for every model's 3D Assembly Guide (body.v-guide) and Parts Identifier (body.v-ident). */
/* Common + Assembly Guide */
  html,body{margin:0;height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);overflow:hidden}
  a{color:var(--color-accent-700)} a:hover{color:var(--color-accent)}
  three-d-stage:not(:defined){visibility:hidden}
  body.v-guide{display:grid;grid-template-columns:400px minmax(0,1fr);height:100vh}
  body.capture{grid-template-columns:1fr} body.capture .guide{display:none} body.capture three-d-stage{border-left:0}
  three-d-stage{position:relative;width:100%;height:100%;min-height:0;border-left:2px solid var(--color-divider)}
  .guide{order:-1;display:flex;flex-direction:column;min-height:0;box-sizing:border-box}
  .g-head{padding:20px 24px 16px;border-bottom:2px solid var(--color-divider)}
  .g-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-700);display:flex;justify-content:space-between;gap:12px}
  .g-body{flex:1;overflow:auto;padding:0 24px 24px}
  .g-num{font-family:var(--font-heading);font-size:72px;font-weight:700;line-height:.9;letter-spacing:-0.03em;margin:20px 0 8px;color:var(--color-accent);font-variant-numeric:tabular-nums}
  .g-title{font-family:var(--font-heading);font-size:28px;line-height:1.1;letter-spacing:-0.01em;margin:0 0 12px;text-wrap:pretty}
  .g-meta{display:flex;gap:8px;flex-wrap:wrap}
  .g-h{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:24px 0 8px;font-weight:600}
  .g-parts{width:100%;border-collapse:collapse;border-top:2px solid var(--color-divider);font-size:14px}
  .g-parts td{padding:7px 0;border-bottom:1px solid var(--color-neutral-300);vertical-align:top}
  .g-parts td.no{font-weight:700;width:76px;font-variant-numeric:tabular-nums}
  .g-parts td.q{text-align:right;font-weight:700;width:76px;font-variant-numeric:tabular-nums}
  .g-parts .d{display:block;color:var(--color-neutral-700);font-size:12px;margin-top:2px}
  .g-steps{margin:0;padding:0;list-style:none;counter-reset:s;border-top:2px solid var(--color-divider)}
  .g-steps li{counter-increment:s;display:grid;grid-template-columns:28px 1fr;padding:10px 0;border-bottom:1px solid var(--color-neutral-300);font-size:15px;line-height:1.5;text-wrap:pretty}
  .g-steps li::before{content:counter(s);font-weight:700;color:var(--color-accent-700);font-variant-numeric:tabular-nums}
  .g-warn{margin-top:20px;background:var(--color-accent-100);border-top:2px solid var(--color-accent);padding:12px 14px;font-size:14px;line-height:1.5;color:var(--color-accent-900)}
  .g-warn b{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;margin-bottom:4px}
  .g-p{font-size:14px;line-height:1.5;margin:8px 0;text-wrap:pretty}
  .g-tip{color:var(--color-neutral-700)}
  .g-none{font-size:14px;color:var(--color-neutral-700);margin:0}
  .g-foot{border-top:2px solid var(--color-divider);padding:12px 24px 16px;display:grid;gap:12px}
  .g-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .g-nav .btn{justify-content:flex-start}
  .g-row{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:13px}
  .g-row select{flex:1;min-width:0}
  .g-legend{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--color-neutral-700)}
  .g-legend i{width:12px;height:12px;background:var(--color-accent);display:inline-block}
  @media (max-width:760px){body.v-guide{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 45vh}three-d-stage{border-left:0;border-bottom:2px solid var(--color-divider)}.guide{order:1}.g-num{font-size:48px}.g-title{font-size:22px}}

/* Parts Identifier */
  body.v-ident{display:grid;grid-template-columns:304px minmax(0,1fr);height:100vh}
  .sheet{padding:24px;border-top:2px solid var(--color-divider);box-sizing:border-box;order:-1;overflow:auto}
  .sheet h1{font-family:var(--font-heading);font-size:40px;line-height:1;margin:12px 0 4px;letter-spacing:-0.02em}
  .sheet .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-700);margin-top:12px}
  .sheet h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:24px 0 8px}
  .sheet dl{display:grid;grid-template-columns:1fr auto;margin:16px 0 0;border-top:2px solid var(--color-divider)}
  .sheet dt,.sheet dd{margin:0;padding:8px 0;border-bottom:1px solid var(--color-neutral-300);font-size:14px}
  .sheet dd{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}
  details.pn{margin-top:24px;border-top:2px solid var(--color-divider);border-bottom:2px solid var(--color-divider)}
  details.pn summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
  details.pn summary::-webkit-details-marker{display:none}
  details.pn summary::after{content:'+';font-size:20px;font-weight:400;line-height:1;color:var(--color-accent)}
  details.pn[open] summary::after{content:'−'}
  details.pn summary:hover{color:var(--color-accent-700)}
  details.pn summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
  .sheet details.pn dl{margin:0 0 12px}
  @media (max-width:700px){body.v-ident{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}three-d-stage{border-left:0;border-top:2px solid var(--color-divider)}.sheet{padding:16px;max-height:40vh}.sheet h1{font-size:28px}.sheet dl{grid-template-columns:1fr auto 1fr auto;column-gap:16px}}

/* Capture mode (manual pictures): hide the main-menu link */
  body.capture > a[href$="Main Menu.dc.html"]{display:none}
