/* Isolated drawing-to-3D inspector. No global selectors or external dependencies. */
.ship-inspector {
  --si-ink:#254b3e; --si-muted:#5a6d5e; --si-paper:#f4f2e6;
  --si-line:#c5cebc; --si-green:#476e5b; --si-gold:#91662e;
  min-width:0; color:var(--si-ink); background:var(--si-paper);
  font-family:Arial,Helvetica,sans-serif; line-height:1.6; overflow-wrap:break-word;
  container-type:inline-size; isolation:isolate;
}
.ship-inspector, .ship-inspector * { box-sizing:border-box; }
.ship-inspector [hidden] { display:none!important; }
.ship-inspector button { appearance:none; border:0; border-radius:0; background:none; color:inherit; font:inherit; cursor:pointer; margin:0; touch-action:manipulation; }
.ship-inspector button:disabled { cursor:default; opacity:.48; }
.ship-inspector button:focus-visible, .ship-inspector a:focus-visible, .ship-inspector summary:focus-visible, .ship-inspector .si-canvas-scroll:focus-visible { outline:3px solid #a77635; outline-offset:3px; }
.ship-inspector a { color:#395f4a; text-decoration:underline; text-underline-offset:3px; }
.ship-inspector a:hover { color:#895d29; }
.ship-inspector .si-header { padding:22px 22px 0; }
.ship-inspector .si-eyebrow { font:8px/1.5 monospace; letter-spacing:.13em; margin:0 0 8px; color:#6c795c; }
.ship-inspector h3 { font:normal 27px/1.12 Georgia,'Times New Roman',serif; letter-spacing:-.035em; color:var(--si-ink); margin:0; }
.ship-inspector .si-intro { font-size:11px; line-height:1.6; margin:8px 0 16px; color:var(--si-muted); }
.ship-inspector .si-control-label { margin:0 22px 6px; font:9px/1.5 Arial,sans-serif; letter-spacing:.06em; color:#667259; }
.ship-inspector .si-evidence-control { display:grid; grid-template-columns:.83fr 1.17fr; margin:0 22px; padding:3px; border:1px solid var(--si-line); background:#e9edde; gap:3px; }
.ship-inspector .si-evidence-control button { display:flex; align-items:center; justify-content:center; gap:9px; min-height:49px; padding:7px 8px; text-align:left; }
.ship-inspector .si-evidence-control strong { display:block; font-size:11px; line-height:1.45; font-weight:400; white-space:nowrap; }
.ship-inspector .si-evidence-control small { display:block; font-size:8px; line-height:1.55; color:#61705b; white-space:nowrap; }
.ship-inspector .si-evidence-control [aria-pressed="true"] { background:#f9f7ed; box-shadow:0 1px 5px #2d493017; }
.ship-inspector .si-evidence-control [data-si-layer-button="wartime"][aria-pressed="true"] { box-shadow:inset 0 -2px 0 #9b743f,0 1px 5px #2d493017; }
.ship-inspector .si-evidence-control [data-si-layer-button="basis"][aria-pressed="true"] { box-shadow:inset 0 -2px 0 #476e5b,0 1px 5px #2d493017; }
.ship-inspector .si-layer-dot { width:8px; height:8px; border:1px solid; border-radius:50%; flex-shrink:0; }
.ship-inspector .si-basis-dot { background:#63836c; border-color:#476e5b; }
.ship-inspector .si-war-dot { background:#d4b37a; border-color:#92642d; }
.ship-inspector .si-layer-note { min-height:33px; margin:9px 22px 14px; font-size:9px; line-height:1.65; color:#6a735f; }
.ship-inspector .si-drawing-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 18px; border-bottom:1px solid var(--si-line); }
.ship-inspector .si-tabs { display:flex; gap:14px; }
.ship-inspector .si-tabs button { font-size:10px; min-height:39px; padding:8px 2px; border-bottom:2px solid transparent; }
.ship-inspector .si-tabs [aria-selected="true"] { border-color:var(--si-green); color:#183d2d; }
.ship-inspector .si-enlarge { font-size:9px; min-height:39px; padding:7px 2px; white-space:nowrap; }
.ship-inspector .si-enlarge span { font-size:13px; vertical-align:-1px; margin-right:3px; }
.ship-inspector .si-enlarge[aria-pressed="true"] { color:var(--si-gold); }
.ship-inspector .si-sheet { background-color:#f8f6ed; background-image:linear-gradient(#788f7110 1px,transparent 1px),linear-gradient(90deg,#788f7110 1px,transparent 1px); background-size:21px 21px; }
.ship-inspector .si-canvas-scroll { width:100%; max-width:100%; overflow-x:auto; overflow-y:hidden; scrollbar-color:#a4b29a #e9edde; scrollbar-width:thin; overscroll-behavior-inline:contain; }
.ship-inspector .si-canvas { position:relative; width:100%; min-width:0; }
.ship-inspector .si-drawing { display:block; width:100%; height:auto; }
.ship-inspector .si-spot { position:absolute; left:var(--si-x); top:var(--si-y); transform:translate(-50%,-50%); display:grid; place-items:center; width:44px; height:44px; padding:0; z-index:1; }
.ship-inspector .si-spot span { display:grid; place-items:center; width:25px; height:25px; border:1px solid #98aa92; border-radius:50%; background:#f6f4e9f5; font:9px/1 monospace; box-shadow:0 2px 6px #45624712; color:#496b53; transition:background .16s,border-color .16s,box-shadow .16s; }
.ship-inspector .si-spot[aria-pressed="true"] span, .ship-inspector .si-spot:hover:not(:disabled) span { background:#92672f; border-color:#92672f; color:#fffaf0; box-shadow:0 0 0 4px #b58b4121; }
.ship-inspector .si-spot:focus-visible { outline-offset:-3px; border-radius:50%; }
.ship-inspector .si-sheet-caption { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 18px 10px; color:#72816a; }
.ship-inspector .si-sheet-caption>span { font-size:8px; line-height:1.6; max-width:200px; }
.ship-inspector #si-match-view { font-size:9px; line-height:1.6; min-height:32px; padding:3px 0 3px 5px; white-space:nowrap; color:#34533e; }
.ship-inspector #si-match-view span { margin-left:5px; }
.ship-inspector .si-drawing-legend { display:flex; flex-wrap:wrap; gap:5px 13px; padding:9px 22px; border-top:1px solid var(--si-line); font-size:8px; color:#66755e; }
.ship-inspector .si-drawing-legend>span { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.ship-inspector .si-drawing-legend i { display:inline-block; width:14px; height:0; border-top:2px solid; }
.ship-inspector .si-drawing-legend .si-legend-basis { border-color:#547568; }
.ship-inspector .si-drawing-legend .si-legend-war { border-color:#936a32; }
.ship-inspector .si-drawing-legend .si-legend-photo { border-color:#78848d; border-top-style:dotted; }
.ship-inspector .si-stops { display:grid; grid-template-columns:1fr 1fr; column-gap:12px; padding:3px 22px 13px; }
.ship-inspector .si-stops button { display:flex; align-items:center; gap:7px; font-size:9px; min-height:33px; padding:5px 0; text-align:left; border-bottom:1px solid transparent; }
.ship-inspector .si-stops b { font:9px/1 monospace; color:#92764d; font-weight:400; }
.ship-inspector .si-stops [aria-pressed="true"] { border-color:#af9468; color:#77531f; }
.ship-inspector .si-stops button:hover:not(:disabled) { border-color:#c9bc9c; }
.ship-inspector .si-detail { padding:16px 22px 18px; background:#e9eddf; border-top:1px solid #cbd2bd; }
.ship-inspector .si-detail-kicker { font:7px/1.6 monospace; letter-spacing:.04em; color:#85734e; margin:0 0 7px; }
.ship-inspector h4 { font:normal 23px/1.15 Georgia,'Times New Roman',serif; letter-spacing:-.03em; color:var(--si-ink); margin:0 0 9px; }
.ship-inspector .si-detail-body { margin:0 0 10px; font-size:10px; line-height:1.8; color:#5b6f59; }
.ship-inspector .si-detail-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px 13px; }
.ship-inspector .si-detail-bottom a { font-size:9px; line-height:1.6; }
.ship-inspector #si-inspect-detail { color:#2d4e39; font-size:9px; line-height:1.6; min-height:33px; padding:4px 0; border-bottom:1px solid #829977; }
.ship-inspector #si-inspect-detail span { margin-left:7px; }
.ship-inspector .si-detail-context { margin:11px 0 0; padding-top:9px; border-top:1px solid #c4cdb7; color:#7d7258; font-size:9px; line-height:1.75; }
.ship-inspector .si-sources { padding:0 22px; border-top:1px solid #cbd2bd; background:#f2f2e6; }
.ship-inspector .si-sources summary { cursor:pointer; display:flex; justify-content:space-between; gap:10px; list-style:none; font-size:9px; padding:14px 0; color:#68765e; }
.ship-inspector .si-sources summary::-webkit-details-marker { display:none; }
.ship-inspector .si-sources summary>span { font-size:12px; }
.ship-inspector .si-sources[open] summary>span { transform:rotate(45deg); }
.ship-inspector .si-source-content { padding:0 0 7px; }
.ship-inspector .si-source-content p, .ship-inspector .si-source-content li { font-size:10px; line-height:1.8; color:#65715b; margin:0 0 11px; }
.ship-inspector .si-source-content ul { margin:0 0 14px; padding-left:16px; }
.ship-inspector .si-source-content li { margin:0 0 7px; }
.ship-inspector .si-no-script { margin:0; padding:15px 22px; font-size:10px; background:#ede1c7; }
.ship-inspector .si-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.ship-inspector [data-si-evidence] { transition:opacity .2s; }
.ship-inspector[data-si-layer="basis"] [data-si-evidence="wartime"] { opacity:.24; }
.ship-inspector[data-si-layer="wartime"] [data-si-evidence="basis"] { opacity:.65; }
.ship-inspector [data-si-evidence="photo"] { opacity:.8; }
.ship-inspector .si-region-active .si-base, .ship-inspector .si-region-active .si-solid, .ship-inspector .si-region-active .si-hull, .ship-inspector .si-region-active .si-white { stroke:#284f38; stroke-width:3.5; }
.ship-inspector .si-region-active .si-war, .ship-inspector .si-region-active .si-war-line { stroke:#7d471a; stroke-width:4; }
.ship-inspector[data-si-expanded="true"] .si-canvas { min-width:840px; }
@container (min-width:620px) {
  .ship-inspector .si-header { padding-top:25px; }
  .ship-inspector h3 { font-size:32px; }
  .ship-inspector .si-stops { grid-template-columns:repeat(4,1fr); gap:4px 20px; }
  .ship-inspector .si-stops button { font-size:10px; }
  .ship-inspector .si-evidence-control { max-width:420px; }
  .ship-inspector .si-layer-note { min-height:0; }
  .ship-inspector .si-spot span { width:30px; height:30px; font-size:10px; }
  .ship-inspector .si-detail-body { font-size:12px; max-width:850px; }
  .ship-inspector .si-detail-kicker { font-size:8px; }
  .ship-inspector .si-drawing-legend { font-size:9px; }
}
@container (max-width:350px) {
  .ship-inspector .si-header { padding:18px 15px 0; }
  .ship-inspector h3 { font-size:24px; }
  .ship-inspector .si-evidence-control { margin:0 15px; }
  .ship-inspector .si-evidence-control button { gap:6px; padding:7px 4px; }
  .ship-inspector .si-evidence-control small { font-size:7px; }
  .ship-inspector .si-evidence-control strong { font-size:10px; }
  .ship-inspector .si-control-label { margin-left:15px; }
  .ship-inspector .si-layer-note { margin-left:15px; margin-right:15px; }
  .ship-inspector .si-stops { padding-left:15px; padding-right:15px; gap:0 9px; }
  .ship-inspector .si-stops button { font-size:8px; }
  .ship-inspector .si-detail { padding:15px; }
  .ship-inspector .si-sources { padding:0 15px; }
  .ship-inspector .si-sheet-caption { padding-left:15px; padding-right:15px; }
  .ship-inspector .si-sheet-caption>span { max-width:135px; font-size:7px; }
}
@media (prefers-reduced-motion:reduce) {
  .ship-inspector *, .ship-inspector [data-si-evidence] { transition:none!important; scroll-behavior:auto!important; }
}
/* Optional compact companion layout when paired with the existing 3D scene. */
.ship-inspector.si-compact .si-header { padding:16px 18px 0; }
.ship-inspector.si-compact h3 { font-size:24px; }
.ship-inspector.si-compact .si-intro { margin:6px 0 11px; }
.ship-inspector.si-compact .si-control-label { margin-left:18px; }
.ship-inspector.si-compact .si-evidence-control { margin-left:18px; margin-right:18px; }
.ship-inspector.si-compact .si-layer-note { margin:7px 18px 8px; }
.ship-inspector.si-compact .si-stops { display:flex; overflow-x:auto; gap:14px; padding:0 18px 8px; scrollbar-width:thin; overscroll-behavior-inline:contain; }
.ship-inspector.si-compact .si-stops button { flex:0 0 auto; min-height:35px; white-space:nowrap; }
.ship-inspector.si-compact .si-detail { padding:13px 18px; }
.ship-inspector.si-compact .si-detail-body { font-size:10px; line-height:1.75; }

/* Integration shell: only the ship scene and its paired drawing. */
#vessel .ship-inspection-pair{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr);align-items:stretch}
#vessel .ship-inspection-pair #ship-viewer{height:auto;min-height:650px}
#vessel .ship-inspection-pair .ship-inspector{border-left:1px solid #c5cebc}
@media(max-width:1000px){#vessel .ship-inspection-pair{grid-template-columns:1fr}#vessel .ship-inspection-pair #ship-viewer{min-height:440px}#vessel .ship-inspection-pair .ship-inspector{border-left:0;border-top:1px solid #c5cebc}}
@media(max-width:500px){#vessel .ship-inspection-pair #ship-viewer{min-height:340px}}
