/* Platform profile: scoped to the information dialog in both workspace themes. */
#platformInfoModal { --profile-accent:#267b68; --profile-tint:#267b6810; }
body.dark-mode #platformInfoModal { --profile-accent:#7bd9bd; --profile-tint:#7bd9bd0b; }
body #platformInfoModal .modal-dialog { width:calc(100% - 40px); max-width:1060px; margin:24px auto; min-height:calc(100% - 48px); }
body #platformInfoModal .modal-content { border:1px solid var(--line); border-radius:18px; background:var(--panel); color:var(--ink); box-shadow:0 30px 100px #0005; overflow:hidden; max-height:calc(100dvh - 48px); }
body #platformInfoModal .modal-header { padding:20px 28px; align-items:center; }
.platform-panel-title { display:flex; align-items:center; gap:14px; }
.platform-panel-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line); border-radius:12px; color:var(--profile-accent); background:var(--profile-tint); font-size:19px; }
#platformInfoModal .platform-eyebrow { display:block; color:var(--muted); font:10px/1.5 Consolas,monospace; letter-spacing:.15em; }
body #platformInfoModal .modal-title { margin:3px 0 0; font-size:18px; font-weight:600; }
body.workspace-ui #platformInfoModal .modal-header .close,
body #platformInfoModal .modal-header .close { position:static; display:grid; place-items:center; align-self:center; flex:0 0 44px; width:44px; height:44px; padding:0; margin:0 0 0 auto; border:1px solid var(--line); border-radius:10px; background:var(--field); color:var(--muted); opacity:1; line-height:1; }
#platformInfoModal .close svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
body #platformInfoModal .modal-header .close:hover { color:var(--ink); border-color:var(--profile-accent); }
body #platformInfoModal .modal-header .close:focus-visible { outline:2px solid var(--profile-accent); outline-offset:2px; }
#platformInfoModal .platform-panel-title { min-width:0; }
body #platformInfoModal .modal-body { padding:20px; overflow-y:auto; min-height:0; scrollbar-width:thin; }
.platform-hero { display:grid; grid-template-columns:190px minmax(0,1fr); gap:20px; align-items:center; }
.platform-visual { margin:0; padding:10px; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:linear-gradient(var(--profile-tint),var(--profile-tint)), repeating-linear-gradient(0deg,transparent,transparent 23px,var(--line) 24px), repeating-linear-gradient(90deg,transparent,transparent 23px,var(--line) 24px); }
.platform-visual-label { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font:11px Consolas,monospace; }
.platform-photo { display:block; width:100%; height:110px; object-fit:contain; margin:8px 0; border-radius:6px; }
.platform-visual figcaption { color:var(--muted); font:10px/1.5 Consolas,monospace; letter-spacing:.1em; text-transform:uppercase; }
.platform-type { display:inline-flex; align-items:center; gap:8px; color:var(--profile-accent); font:11px/1.4 Consolas,monospace; text-transform:uppercase; letter-spacing:.08em; }
.platform-identity h2 { margin:8px 0 12px; color:var(--ink); font-size:clamp(26px,3vw,38px); font-weight:600; line-height:1.12; letter-spacing:-.045em; overflow-wrap:anywhere; }
.platform-meta { display:flex; flex-wrap:wrap; gap:14px 30px; margin:0; }
.platform-meta .platform-spec { display:block; padding:0; border:0; }
#platformInfoModal dt { color:var(--muted); font-weight:400; font-size:11px; }
#platformInfoModal dd { margin:0; color:var(--ink); }
.platform-meta dd { margin-top:4px !important; font-size:13px; }
.platform-description { margin:14px 0 0; color:var(--muted); font-size:13px; line-height:1.6; white-space:pre-line; overflow-wrap:anywhere; }
.platform-performance { margin-top:18px; }
.platform-section-title { display:flex; align-items:center; gap:10px; margin:0 0 14px; color:var(--ink); font-size:13px; font-weight:600; }
.platform-section-title > span { color:var(--profile-accent); font:10px Consolas,monospace; }
.platform-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; }
.platform-metric { border:1px solid var(--line); border-radius:10px; padding:12px 14px; background:linear-gradient(125deg,var(--profile-tint),transparent); }
#platformInfoModal .platform-metric dt { font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
#platformInfoModal .platform-metric dd { color:var(--profile-accent); font:26px/1.4 Consolas,monospace; overflow-wrap:anywhere; }
.platform-metric dd span { font-size:13px; }
.platform-metric small { color:var(--muted); font:11px/1.5 Consolas,monospace; }
.platform-details { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:18px; }
.platform-specs { margin:0; border-top:1px solid var(--line); }
.platform-spec { display:flex; justify-content:space-between; gap:16px; padding:7px 0; border-bottom:1px solid var(--line); }
.platform-specs dd { font:12px/1.5 Consolas,monospace; text-align:right; overflow-wrap:anywhere; min-width:0; }
.platform-capabilities { border:1px solid var(--line); border-radius:10px; padding:12px; }
.platform-capability + .platform-capability { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); }
.platform-capability h4 { margin:0 0 10px; font-size:11px; font-weight:500; color:var(--muted); }
.platform-chips { display:flex; flex-wrap:wrap; gap:7px; }
.platform-chip { border:1px solid var(--line); background:var(--profile-tint); border-radius:5px; color:var(--profile-accent); padding:5px 8px; font:11px/1.5 Consolas,monospace; }
.platform-chip-review { color:#926009; background:#bd8c1510; border-color:#bd8c1550; }
body.dark-mode .platform-chip-review { color:#e8c170; }
.platform-empty { margin:0; color:var(--muted); font-size:12px; }
body #platformInfoModal .modal-footer { padding:16px 28px; gap:16px; background:var(--profile-tint); }
#platformShareLink { min-width:0; margin:0; }
.platform-share-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; }
.platform-copy-link { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:36px; padding:6px 10px; border:1px solid var(--line); border-radius:8px; background:var(--field); color:var(--ink); font:12px/1.4 Arial,sans-serif; cursor:pointer; }
.platform-copy-link svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.platform-copy-link:hover,.platform-copy-link:focus-visible { border-color:var(--profile-accent); }
.platform-copy-link:focus-visible { outline:2px solid var(--profile-accent); outline-offset:2px; }
.platform-copy-link.is-copied { color:#187647; }
body.dark-mode .platform-copy-link.is-copied { color:#71db9e; }
.platform-copy-link:disabled { cursor:wait; opacity:.6; }
.platform-copy-status { flex-basis:100%; color:var(--muted); font:11px/1.4 Arial,sans-serif; }
.platform-copy-status:empty { display:none; }
#platformShareLink a { display:inline-flex; align-items:center; gap:8px; color:var(--profile-accent); font-size:12px; margin-top:4px; }
body #platformInfoModal .modal-footer .btn { padding:9px 22px; border-radius:7px; }
.platform-state { min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:var(--muted); font-size:13px; text-align:center; }
.platform-state i { color:var(--profile-accent); font-size:25px; }
.platform-state strong { color:var(--ink); font-weight:500; }
#platformInfoModal .platform-country { display:flex; align-items:center; gap:7px; }
#platformInfoModal .platform-country-flag { width:24px; height:16px; object-fit:cover; border-radius:3px; flex-shrink:0; }
.platform-chip { display:inline-flex; align-items:center; gap:8px; }
.platform-status { display:inline-flex; width:16px; height:16px; flex:0 0 16px; vertical-align:middle; align-items:center; justify-content:center; }
.platform-status svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.platform-status-yes { color:#187647; }
.platform-status-no { color:#c73340; }
body.dark-mode .platform-status-yes { color:#71db9e; }
body.dark-mode .platform-status-no { color:#ff818a; }
.platform-status-unknown { color:var(--muted); font-size:10px; }
.platform-chip-inactive { color:var(--muted); background:transparent; }
.platform-review { display:block; margin-top:5px; font:10px/1.4 Consolas,monospace; color:var(--profile-accent); }
.platform-field-group { margin-top:16px; }
.platform-field-group h4 { font-size:12px; margin:0 0 8px; color:var(--ink); }
body.workspace-ui #platformInfoModal .modal-footer .btn { flex:0 0 auto; }
@media(min-width:701px) {
    body.workspace-ui #platformInfoModal.workspace-drawer .modal-dialog { width:min(960px,calc(100vw - 122px)) !important; }
}
@media(max-width:700px) {
    body #platformInfoModal .modal-dialog { width:calc(100% - 12px); margin:6px auto; min-height:calc(100dvh - 12px); }
    body #platformInfoModal .modal-content { max-height:calc(100dvh - 12px); border-radius:12px; }
    body.workspace-ui #platformInfoModal.workspace-drawer .modal-dialog { top:8px; bottom:calc(76px + env(safe-area-inset-bottom)); height:auto; max-height:none; }
    body #platformInfoModal .modal-header { min-height:60px; padding:10px 12px; gap:8px; }
    body #platformInfoModal .modal-footer { padding:8px 12px; gap:8px; }
    body #platformInfoModal .modal-body { padding:12px; }
    .platform-panel-title { gap:8px; min-width:0; }
    .platform-panel-icon { width:30px; height:30px; border-radius:8px; font-size:14px; flex-shrink:0; }
    body #platformInfoModal .modal-title { font-size:15px; padding-right:0; }
    #platformInfoModal .platform-eyebrow { font-size:8px; letter-spacing:.08em; }
    .platform-hero { grid-template-columns:96px minmax(0,1fr); gap:12px; align-items:start; }
    .platform-visual { padding:6px; border-radius:8px; }
    .platform-visual-label { justify-content:center; font-size:9px; }
    .platform-visual-label .platform-eyebrow,.platform-visual figcaption { display:none; }
    .platform-photo { height:74px; margin:5px 0 0; border-radius:4px; }
    .platform-type { font-size:9px; letter-spacing:0; gap:5px; }
    .platform-identity h2 { font-size:22px; margin:5px 0 8px; }
    .platform-meta { gap:6px 12px; }
    #platformInfoModal .platform-meta dt { font-size:9px; }
    #platformInfoModal .platform-meta dd { font-size:11px; margin-top:2px !important; overflow-wrap:anywhere; }
    #platformInfoModal .platform-country-flag { width:20px; height:14px; }
    .platform-description { margin-top:10px; font-size:12px; line-height:1.5; }
    .platform-performance,.platform-details { margin-top:14px; }
    .platform-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
    .platform-metric { padding:9px 7px; border-radius:7px; }
    #platformInfoModal .platform-metric dt { font-size:9px; letter-spacing:0; min-height:27px; }
    #platformInfoModal .platform-metric dd { font-size:19px; line-height:1.4; }
    .platform-metric dd span { font-size:10px; }
    .platform-metric small { display:block; font-size:9px; line-height:1.4; margin-top:3px; }
    .platform-details { grid-template-columns:minmax(0,1fr); gap:14px; }
    .platform-section-title { margin-bottom:9px; font-size:12px; }
    .platform-spec { padding:6px 0; gap:10px; }
    .platform-specs dd { font-size:11px; }
    .platform-specs dt { flex:1 0 42%; }
    .platform-capabilities { padding:10px; }
    .platform-capability + .platform-capability { margin-top:10px; padding-top:10px; }
    .platform-chips { gap:5px; }
    .platform-chip { font-size:10px; padding:3px 6px; gap:6px; }
    #platformShareLink .platform-eyebrow { display:none; }
    #platformShareLink a { font-size:11px; margin:0; }
}
@media(prefers-reduced-motion:reduce) { #platformInfoModal .fa-spin { animation:none; } }
/* Keep the compact sheet above the account menu and shared workspace controls. */
body.workspace-ui #platformInfoModal { z-index:1070; }
@media(max-width:700px) {
    #platformInfoModal .platform-visual-label .platform-eyebrow { display:none; }
}

/* Keep both subsystem summaries alongside one another, including on phones. */
.platform-subsystems { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:16px; }
.platform-subsystems .platform-field-group { min-width:0; margin-top:0; }
.platform-subsystems .platform-spec { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; align-items:start; }
.platform-subsystems .platform-spec dd { max-width:100%; overflow-wrap:anywhere; }
@media(max-width:480px) {
    .platform-subsystems { gap:10px; margin-top:12px; }
    .platform-subsystems .platform-field-group h4 { font-size:11px; }
    .platform-subsystems .platform-spec { grid-template-columns:minmax(0,1fr); gap:2px; padding:5px 0; }
    #platformInfoModal .platform-subsystems dt { font-size:10px; }
    .platform-subsystems .platform-spec dd { text-align:left; font-size:11px; }
}

.platform-subsystems .platform-field-group h4 { font-weight:700; }

.platform-image-credit { display:flex; flex-wrap:wrap; gap:3px 8px; margin-top:8px; color:var(--muted); font:10px/1.4 Arial,sans-serif; overflow-wrap:anywhere; }
.platform-image-credit a { color:var(--profile-accent); text-decoration:underline; }
.platform-image-open { display:block; position:relative; width:100%; padding:0; border:0; background:transparent; color:inherit; cursor:zoom-in; border-radius:6px; }
.platform-image-open:focus-visible { outline:2px solid var(--profile-accent); outline-offset:3px; }
.platform-image-zoom { position:absolute; right:3px; bottom:3px; display:grid; place-items:center; width:24px; height:24px; border-radius:6px; background:#0c171be6; color:#e7f8f4; font:20px/1 Arial,sans-serif; }
.platform-image-viewer { --muted:#b4c7c4; --profile-accent:#8ee0cd; box-sizing:border-box; width:min(1100px,calc(100vw - 24px)); max-width:none; max-height:calc(100dvh - 24px); margin:auto; padding:0; border:1px solid #36514c; border-radius:14px; background:#101c1f; color:#edf5f3; box-shadow:0 24px 90px #0008; }
.platform-image-viewer { pointer-events:auto; }
.platform-image-viewer::backdrop { background:#030a0deb; pointer-events:auto; }
.platform-image-viewer-content { padding:14px; }
.platform-image-viewer header { display:flex; align-items:center; gap:16px; margin-bottom:12px; }
.platform-image-viewer h2 { margin:0; flex:1; min-width:0; overflow-wrap:anywhere; font:600 17px/1.4 Arial,sans-serif; color:inherit; }
.platform-image-viewer [data-close-image] { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #36514c; border-radius:9px; background:#1a2b2c; color:inherit; cursor:pointer; }
.platform-image-viewer [data-close-image]:focus-visible { outline:2px solid #8ee0cd; outline-offset:2px; }
.platform-image-viewer [data-close-image] svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.platform-image-enlarged { display:block; width:100%; max-height:calc(100dvh - 210px); object-fit:contain; border-radius:6px; }
.platform-image-viewer .platform-image-credit { font-size:11px; line-height:1.5; margin-top:12px; }
@media(max-width:700px) {
    .platform-image-credit { font-size:9px; line-height:1.35; }
}
