:root{font-family:Inter,"Aptos",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#21384b;background:#eef3f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#315e7b;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}.viewer-head{padding:18px 24px;background:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #d7e1e9}.viewer-head p{font-size:10px;font-weight:750;letter-spacing:1.1px;color:#7e94a7;margin:0 0 4px}.viewer-head h1{font-size:18px;font-weight:630;margin:0}.viewer-head a{font-size:11px;font-weight:650}.stage{position:relative;height:min(690px,72vh);min-height:350px;background:radial-gradient(ellipse at 55% 47%,#fcfefe 0,#eef4f7 53%,#dae6ec 100%);overflow:hidden}.stage canvas{display:block;width:100%;height:100%;outline:none}.stage canvas:focus-visible{outline:3px solid #5b95ba;outline-offset:-3px}.loading{position:absolute;top:16px;left:19px;font-size:11px;z-index:5;color:#52697b;background:#fffef9d9;border:1px solid #d9e2e7;border-radius:4px;padding:7px 9px;margin:0}.stage-note{position:absolute;top:16px;right:19px;max-width:290px;text-align:right;color:#667d8d;font-size:10px;line-height:1.4;background:#fffdf4de;padding:6px 8px;border-radius:4px}.labels{position:absolute;inset:0;pointer-events:none}.label{position:absolute;transform:translate(-50%,-50%);padding:5px 8px;background:#fffefaee;border:1px solid #d6e1e4;border-radius:4px;box-shadow:0 4px 10px #33546b1c;color:#243d4f;font-size:10px;font-weight:700;white-space:nowrap}.label.adapter{border-color:#d3ae6d;background:#fff6e8e8}.label.fpga{border-color:#a6c2c9}.selected-info{position:absolute;bottom:14px;left:18px;max-width:350px;padding:11px 13px;background:#fffffff2;border:1px solid #d5e0e4;border-radius:5px;box-shadow:0 8px 22px #33546b19}.selected-info strong,.selected-info span{display:block}.selected-info strong{font-size:12px}.selected-info span{font-size:10px;color:#607485;margin-top:4px;line-height:1.45}.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#fff;border-top:1px solid #dce5eb;border-bottom:1px solid #dce5eb}.controls .focus,.controls .views{display:flex;gap:4px;flex-wrap:wrap}.controls button{border:1px solid transparent;border-radius:4px;background:transparent;color:#547084;padding:7px 9px;font-size:10px;font-weight:650;white-space:nowrap}.controls button:hover{background:#f0f5f7}.controls button[aria-pressed="true"]{color:#21485f;background:#eaf2f5;border-color:#c9dce3}footer{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:10px 18px 14px;background:#fff;color:#6b8191;font-size:10px;line-height:1.5}footer p{margin:0}footer p:first-child{max-width:680px}footer a{white-space:nowrap;font-weight:600}.embed .viewer-head{display:none}.embed .stage{height:calc(100vh - 76px);min-height:290px}.embed footer{display:none}.embed .controls{height:76px}.embed .stage-note{top:10px;right:10px}.embed .selected-info{bottom:10px;left:10px}
@media(max-width:750px){.stage{height:65vh;min-height:350px}.stage-note{max-width:185px}.controls{display:block}.controls .views{margin-top:4px}.embed .stage{height:calc(100vh - 96px)}.embed .controls{height:96px}.selected-info{max-width:250px}}
@media(max-width:450px){.viewer-head{padding:12px}.viewer-head h1{font-size:15px}.stage-note{display:none}.label{font-size:9px;padding:3px 5px}.selected-info{max-width:200px;padding:8px}.controls button{font-size:9px;padding:5px 6px}.embed .stage{height:calc(100vh - 88px)}.embed .controls{height:88px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.controls{flex-wrap:wrap}.controls .revisions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.controls .revisions span{font-size:10px;color:#6b8191;font-weight:700;margin-right:4px}.controls .revisions button[aria-pressed="true"]{color:#704a17;background:#fff2db;border-color:#d9b778}.embed .controls{height:auto;min-height:76px}.embed .stage{height:calc(100vh - 104px)}
@media(max-width:750px){.controls .revisions{margin-top:4px}.embed .stage{height:calc(100vh - 132px)}}
@media(max-width:450px){.embed .stage{height:calc(100vh - 146px)}}
.cable-label{position:absolute;transform:translate(-50%,-135%);padding:3px 6px;background:#ffffffdb;border:1px solid #bdd3d8;border-left:3px solid #5b91a0;border-radius:3px;color:#355466;font-size:9px;font-weight:650;letter-spacing:.02em;white-space:nowrap;box-shadow:0 2px 8px #33546b12}
.cable-label.cable-2{border-left-color:#8a80a8}.cable-label.cable-3{border-left-color:#b89169}
@media(max-width:450px){.cable-label{display:none}}

/* Compact controls for a slide-sized native 3D illustration. */
.presentation-view .focus,.presentation-view .revisions,.presentation-view .stage-note,.presentation-view .selected-info,.presentation-view .labels{display:none}.embed.presentation-view .stage{height:calc(100vh - 40px);min-height:200px}.embed.presentation-view .controls{height:40px;min-height:40px;padding:4px 12px;justify-content:flex-end}.presentation-view .controls .views{margin:0}.presentation-view .controls button{padding:5px 9px}

.embed.presentation-view .controls{display:none}.embed.presentation-view .stage{height:100vh}

.presentation-view.board-labels .labels{display:block}.presentation-view.board-labels .cable-label{display:none}.presentation-view.board-labels .label{font-size:11px;padding:5px 9px}
