/* Sybernetic device drawings. Orthographic geometry; calm, functional motion. */
.device-art{--da-ink:#e3ecda;--da-edge:#91a696;--da-dark:#0c1711;--da-mint:#c4dcb3;overflow:visible;isolation:isolate}
.device-art text{font-family:Inter,Arial,sans-serif;font-weight:500;fill:var(--da-ink);text-rendering:geometricPrecision;letter-spacing:0}
.device-art .da-title{font-size:19px;font-weight:600;letter-spacing:-.3px}
.device-art .da-ui-label{font-size:16px}
.device-art .da-label{font-size:11px;font-weight:600;letter-spacing:1.1px;fill:#cddcc6}
.device-art .da-detail-label{font-size:16px;letter-spacing:.5px}
.device-art .da-note{font-size:12px;fill:#b4c5b3}
.device-art .da-component-label{font-size:14px;font-weight:600;letter-spacing:1px;fill:#d8e5ce}
.device-art .da-shell{fill:#24352b;stroke:#9bac9b;stroke-width:2}
.device-art .da-button{fill:#a1b29f}
.device-art .da-screen{fill:#101e16;stroke:#536d58;stroke-width:1.5}
.device-art .da-tile{fill:#263b2c;stroke:#56705a;stroke-width:1.2}
.device-art .da-photo-mat{fill:#324d38}
.device-art .da-rule{fill:none;stroke:#b7cdb0;stroke-width:1.5;stroke-linecap:round}
.device-art .da-rule--quiet{stroke:#718b72}
.device-art .da-icon-surface{fill:#afc7a0;stroke:#d0dfc0;stroke-width:1.3;stroke-linejoin:round}
.device-art .da-icon-line{fill:none;stroke:#3b5941;stroke-width:2;stroke-linecap:round}
.device-art .da-leader{fill:none;stroke:#a4b99e;stroke-width:1.5;stroke-dasharray:3 5}
.device-art .da-leader-dot{fill:#c4dcb3}
.device-art .da-pin{fill:none;stroke:#9aac96;stroke-width:4;stroke-linecap:round}
.device-art .da-chip{fill:#1c2f22;stroke:#c0d3ae;stroke-width:2}
.device-art .da-die{fill:#394f37;stroke:#809d77;stroke-width:1}
.device-art .da-hinge{fill:#8fa38c;stroke:#c9d6bf;stroke-width:1}
.device-art .da-deck{fill:#90a28b;stroke:#c9d6bf;stroke-width:2}
.device-art .da-deck-lip{fill:#60765f;stroke:#aec1a6;stroke-width:1.5}
.device-art .da-keyboard-well{fill:#2a3b2a;stroke:#cad9bd;stroke-width:1.3}
.device-art .da-key{fill:#6e876a}
.device-art .da-trackpad{fill:#9cae94;stroke:#415d44;stroke-width:1.5}
.device-art .da-speaker{fill:none;stroke:#456046;stroke-width:1.4}
.device-art .da-board{fill:#29432f;stroke:#678263;stroke-width:1.5}
.device-art .da-trace{fill:none;stroke:#65855b;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.device-art .da-board-part{fill:#8ea880;stroke:#c3d5b4;stroke-width:1}
.device-art .da-board-mount{fill:#d3dfc4;stroke:#182e1f;stroke-width:1}
.device-art .da-feet{fill:#81967d;stroke:#bbccb1;stroke-width:1}
.device-art .da-case-top{stroke:#c4d2ba;stroke-width:1.5;stroke-linecap:round}
.device-art .da-case-interior{fill:#14251a;stroke:#5a7556;stroke-width:1.2}
.device-art .da-case-front{fill:#263c29;stroke:#8ca17e;stroke-width:1}
.device-art .da-mesh{stroke:#90a980;stroke-width:1}
.device-art .da-power{fill:#b4cda3;stroke:#d2e1c3;stroke-width:1}
.device-art .da-io{fill:#87987a;stroke:#c4d0b6;stroke-width:1}
.device-art .da-expansion{fill:none;stroke:#acbb96;stroke-width:2}
.device-art .da-cable{fill:none;stroke:#748669;stroke-width:4;stroke-linejoin:round}
.device-art .da-psu-divider{stroke:#8aa17d;stroke-width:1.5}
.device-art .da-socket{fill:#15271a;stroke:#78966b;stroke-width:1.5}
.device-art .da-fan-frame{fill:#233e27;stroke:#a7c28d;stroke-width:2}
.device-art .da-fan-blade{fill:#a8c28e;stroke:#cfdfbb;stroke-width:1}
.device-art .da-fan-hub{fill:#415d34;stroke:#c4d7aa;stroke-width:1.5}
.device-art .da-fan-hub-inner{fill:#b2c99a}
.device-art .da-ram-slot{fill:#1b2f1e;stroke:#6d8d60;stroke-width:1}
.device-art .da-ram{fill:#96b97d;stroke:#c6dcaf;stroke-width:1.3}
.device-art .da-ram-detail{stroke:#49643a;stroke-width:2}
.device-art .da-ram-clip{stroke:#cfdbbd;stroke-width:3}
.device-art .da-ssd{fill:#71905e;stroke:#bfd3a6;stroke-width:1.2}
.device-art .da-chip-small{fill:#1a2d1c;stroke:#a3bb8c;stroke-width:.8}
.device-art .da-gold-contact{stroke:#cdb57b;stroke-width:4}
.device-art .da-gpu{fill:#536d46;stroke:#c4d8ab;stroke-width:1.5}
.device-art .da-gpu-top{stroke:#b2c99a;stroke-width:1.5}
.device-art .da-gpu-vents{stroke:#223b23;stroke-width:3}
.device-art .da-gpu-foot{stroke:#9eb98b;stroke-width:3}
.device-art .da-psu{fill:#324a2c;stroke:#a3b98d;stroke-width:1.5}
.device-art .da-psu-vents{stroke:#9eb787;stroke-width:2}
.device-art .da-psu-socket{fill:#132418;stroke:#b2c89c;stroke-width:1}
.device-art .da-fan-edge{fill:#4b683e;stroke:#bfd7a6;stroke-width:1.5}
.device-art .da-fan-edge-core{stroke:#a6c18d;stroke-width:1.5}
.device-art .da-flow-track{fill:none;stroke:#708a61;stroke-width:1.5}
.device-art .device-airflow{fill:none;stroke:#c8deb5;stroke-width:2;stroke-dasharray:8 12}
.device-art .da-shutter{fill:#92a78a;stroke:#c9d9bf;stroke-width:1.5}
.device-art .da-camera-face{fill:#2a3d2f;stroke:#627e64;stroke-width:1.5}
.device-art .da-camera-grip{stroke:#a9bf9f;stroke-width:1.5;stroke-linecap:round}
.device-art .da-record-light{fill:#c0d7aa}
.device-art .da-camera-screen-rim{fill:#111e16;stroke:#a0b69c;stroke-width:1.5}
.device-art .da-viewfinder{fill:none;stroke:#d7e7c5;stroke-width:1.5;stroke-linejoin:round}
.device-art .da-lens-housing{fill:#182a1e;stroke:#a6bb9e;stroke-width:1.5}
.device-art .da-lens-outer{fill:#394f37;stroke:#bbcfad;stroke-width:2}
.device-art .da-lens-ring{fill:#1a2c20;stroke:#8da380;stroke-width:1.5}
.device-art .da-lens-glass{fill:#315443;stroke:#6a9279;stroke-width:1.5}
.device-art .da-lens-aperture{fill:#101e17;stroke:#5d8168;stroke-width:1.5}
.device-art .da-lens-reflection{fill:none;stroke:#b2d0ac;stroke-width:7;stroke-linecap:round}
.device-art .da-lens-reflection-small{fill:none;stroke:#7fa287;stroke-width:3;stroke-linecap:round}
.device-art .da-port-face{fill:#2f4532;stroke:#abc1a1;stroke-width:1.5}
.device-art .da-port-opening{fill:#0d1c13;stroke:#849e7c;stroke-width:1.5}
.device-art .da-port-tongue{stroke:#c8d8b9;stroke-width:5;stroke-linecap:round}
.device-art .da-sd{fill:#354d35;stroke:#a8c19d;stroke-width:1.5;stroke-linejoin:round}
.device-art .da-sd-contacts{stroke:#d0bb82;stroke-width:2.5}
.device-art .da-sd-rule{stroke:#afc59f;stroke-width:2;stroke-linecap:round}
/* A sweep indicates inspection only. Neither this nor the phone display claims a successful recovery. */
.device-art .device-memory-scan{stroke:#e0f0d1;stroke-width:2;animation:device-memory-inspect 6s ease-in-out infinite}
.device-art .device-diagnostic-scan{stroke:#d1e7bc;stroke-width:1.5;stroke-dasharray:6 5;animation:device-board-inspect 7s ease-in-out infinite}
.device-art .device-cpu-fan{transform-origin:248px 168px;animation:device-fan-turn 12s linear infinite}
.device-art .device-airflow{animation:device-air-direction 2.8s linear infinite}
.device-art .device-motion{animation-play-state:paused}
.v-technical.is-visible .device-art .device-motion{animation-play-state:running}
.v-technical.is-paused .device-art .device-motion{animation-play-state:paused!important}
.v-service-card .device-art .device-motion{animation:none}
@keyframes device-memory-inspect{0%,15%{transform:translateY(0);opacity:0}25%{opacity:1}70%{transform:translateY(98px);opacity:1}80%,100%{transform:translateY(98px);opacity:0}}
@keyframes device-board-inspect{0%,12%{transform:translateY(0);opacity:0}22%{opacity:.8}72%{transform:translateY(134px);opacity:.8}82%,100%{transform:translateY(134px);opacity:0}}
@keyframes device-fan-turn{to{transform:rotate(360deg)}}
@keyframes device-air-direction{to{stroke-dashoffset:-40}}
/* Dimming retains context; the selected part gains a crisp outline, not a glow. */
.v-technical.has-highlight .device-art [data-component]{opacity:.65}
.v-technical.has-highlight .device-art [data-component].is-highlight{opacity:1;filter:none}
.v-technical.has-highlight .device-art [data-component].is-highlight>.da-chip,.v-technical.has-highlight .device-art [data-component].is-highlight>.da-socket,.v-technical.has-highlight .device-art [data-component].is-highlight>.da-gpu,.v-technical.has-highlight .device-art [data-component].is-highlight>.da-psu,.v-technical.has-highlight .device-art [data-component].is-highlight>.da-lens-housing,.v-technical.has-highlight .device-art [data-component].is-highlight>.da-camera-screen-rim,.v-technical.has-highlight .device-art [data-component].is-highlight>.da-port-face,.v-technical.has-highlight .device-art [data-component].is-highlight>.da-sd{stroke:#f2f8e8;stroke-width:3}
@media(prefers-reduced-motion:reduce){.device-art .device-motion{animation:none!important}.device-art .device-memory-scan,.device-art .device-diagnostic-scan{opacity:0}}

.device-art .da-bga-package{fill:#263a2c}
.device-art .da-bga-pad{fill:#b7cbaa}
.device-art .da-bga-marker{fill:none;stroke:#91aa83;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* Labels supplement the surrounding HTML. Small drawings keep the device silhouette clear. */
.v-service-card .device-art .da-label,.v-service-card .device-art .da-note,.v-service-card .device-art .da-detail-label,.v-service-card .device-art .da-ui-label,.v-service-card .device-art .da-title,.v-service-card .device-art .da-component-label{display:none}
@media(max-width:650px){.device-art .da-label,.device-art .da-note{display:none}}
