/* R4: three topics, native 3D views, concise complete contact lists. */
.pin-talk{--serial:#347b99;--control:#32816e;--spare:#a67a36;--jtag:#785697;--ground:#697782;--power:#b78040;background:#f2f0eb;background-image:radial-gradient(ellipse at 95% 3%,#e7eef0 0,transparent 52%),radial-gradient(ellipse at 0 95%,#f4e9d9 0,transparent 55%);background-attachment:fixed}
.pin-talk .serial{--group:var(--serial)}.pin-talk .control{--group:var(--control)}.pin-talk .spare{--group:var(--spare)}.pin-talk .jtag{--group:var(--jtag)}.pin-talk .ground{--group:var(--ground)}.pin-talk .power{--group:var(--power)}
.pin-talk header,.pin-talk .presentation-controls{background:#faf9f5;border-color:#deded6}.pin-talk aside{background:transparent}.pin-talk .layout{max-width:1550px;gap:28px;padding-top:28px;grid-template-columns:145px minmax(0,1fr)}
.pin-talk .talk-slide{padding:29px 32px 30px;background:#fffefa;border:1px solid #deded6;border-radius:16px;box-shadow:0 8px 28px #26394a05;margin-bottom:24px;position:relative;overflow:hidden}.pin-talk .talk-slide:before{content:"";position:absolute;top:0;left:32px;width:70px;height:3px;border-radius:0 0 4px 4px;background:#347b99}
.pin-talk h1,.pin-talk h2{margin:7px 0 22px;line-height:1.15;font-size:clamp(30px,3.5vw,48px)}.pin-talk h1 em,.pin-talk h2 em{font-style:normal;color:var(--serial)}.pin-talk .section-number{margin:0;color:#677782;font-size:11px}.pin-talk .button{background:#fffefa}.pin-talk .button.primary{background:#24465b}.pin-talk .presentation-controls button{background:#fffefa}
.asic-layout{display:grid;grid-template-columns:1fr 1.03fr;gap:26px;align-items:center}.asic-visual{margin:0;align-self:center}.asic-visual svg{display:block;width:100%;height:auto}.asic-chips rect{fill:#eef4f5;stroke:#c6d7dd;stroke-width:1.4}.chip-title{font-size:17px;font-weight:650;fill:#265970}.chip-detail{font-size:13px;fill:#5e7480}.fpga-block{fill:#edf3e8;stroke:#b8c9ad;stroke-width:1.5}.fpga-title{font:32px Palatino,Georgia,serif;fill:#365944}.fpga-name{font-size:17px;fill:#365944}.flow-number{font:29px Palatino,Georgia,serif;fill:#347b99}.control-flow{font-size:16px;fill:#32816e}
.allocation-list,.contact-list{padding:0;margin:0;list-style:none}.allocation-list li{display:grid;grid-template-columns:48px 1fr;gap:12px;border-top:1px solid #dce3df;margin:0;padding:10px 0;align-items:center}.allocation-list li:first-child{border:0}.allocation-list b{font:29px/1 Palatino,Georgia,serif;color:var(--group)}.allocation-list strong{font-size:15px;font-weight:650}.allocation-list small{display:block;font-size:11px;line-height:1.55;color:#647584;margin-top:3px}
.slide-bottom{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;border-top:1px solid #dce3df;padding-top:14px;margin-top:20px}.essential-note{font-size:12px;line-height:1.5;color:#5f6f7b;margin:0;flex:1}.essential-note strong{font-weight:650;color:#344d5f}.text-link{font-size:12px;white-space:nowrap;color:#326f89;text-decoration:none}.text-link:hover{text-decoration:underline}
.cable-slide-layout{display:grid;grid-template-columns:.85fr 1.4fr;gap:28px;align-items:stretch}.contact-list li{display:grid;grid-template-columns:115px 1fr;align-items:center;gap:14px;padding:9px 0;border-top:1px solid #e3e6df;margin:0}.contact-list li:first-child{border:0}.contact-numbers{font:19px/1.2 Palatino,Georgia,serif;color:var(--group);white-space:nowrap}.contact-list strong{font-size:14px;color:var(--group);font-weight:650}.contact-list small{display:block;font-size:10px;color:#657583;line-height:1.45;margin-top:1px}.contact-list .ground .contact-numbers{font-size:14px;letter-spacing:-.3px}
.model-figure{margin:0;min-width:0;border:1px solid #d9e1e0;border-radius:12px;background:#e9f0f1;overflow:hidden;display:flex;flex-direction:column}.model-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-size:11px;color:#536c7a;background:#f4f7f3;border-bottom:1px solid #d9e1e0}.model-header a{white-space:nowrap;text-decoration:none}.model-header b{color:#2b617c}.talk-model{display:block;width:100%;border:0;background:#e6eef1;min-height:0;flex:1}.fpga-model{height:420px}.model-figure figcaption{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:9px 14px;margin:0;background:#f4f7f3;font-size:11px;color:#60717d}.model-figure figcaption strong{font-weight:600;color:#8d663b}.schematic-ready{font-size:20px;font-family:Palatino,Georgia,serif;color:#2d6c5c;text-decoration:none;flex:1}.schematic-ready>span{display:inline-block;width:25px}.schematic-ready small{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11px;display:inline-block;margin-left:12px;color:#5d796d}.schematic-ready:hover{text-decoration:underline}.cable-note{margin-top:10px;font-size:11px}
.layout-model .interposer-model{height:500px;flex:none}.layout-model .model-header{font-size:12px}
.pin-talk.presenting .layout{max-width:1500px;padding:18px 3vw 72px}.pin-talk.presenting .talk-slide.active{justify-content:center;border:1px solid #deded6;border-radius:20px;padding:24px 34px;min-height:calc(100dvh - 104px);margin:0;box-shadow:0 10px 36px #26394a07}.pin-talk.presenting .talk-slide:before{left:34px;width:80px}.pin-talk.presenting h1,.pin-talk.presenting h2{font-size:clamp(30px,3.5vw,48px);margin:7px 0 22px}.pin-talk.presenting .asic-visual{max-height:53vh}.pin-talk.presenting .asic-visual svg{max-height:53vh}.pin-talk.presenting .allocation-list li{padding:11px 0}.pin-talk.presenting .allocation-list strong{font-size:17px}.pin-talk.presenting .allocation-list small{font-size:12px}.pin-talk.presenting .fpga-model{height:min(50vh,460px)}.pin-talk.presenting .contact-list li{padding:8px 0}.pin-talk.presenting .contact-list strong{font-size:16px}.pin-talk.presenting .contact-list small{font-size:11px}.pin-talk.presenting .interposer-model{height:55vh;max-height:550px}.pin-talk.presenting .slide-bottom{margin-top:17px;padding-top:13px}.pin-talk.presenting .essential-note,.pin-talk.presenting .text-link{font-size:13px}.pin-talk.presenting .cable-note{font-size:11px;margin-top:9px}
@media(min-width:761px) and (max-height:780px){.pin-talk.presenting .talk-slide.active{padding:18px 28px}.pin-talk.presenting h1,.pin-talk.presenting h2{font-size:36px;margin-bottom:16px}.pin-talk.presenting .allocation-list li{padding:8px 0}.pin-talk.presenting .allocation-list strong{font-size:15px}.pin-talk.presenting .allocation-list small{font-size:11px}.pin-talk.presenting .contact-list li{padding:6px 0}.pin-talk.presenting .contact-list strong{font-size:14px}.pin-talk.presenting .contact-list small{font-size:10px}.pin-talk.presenting .fpga-model{height:48vh}.pin-talk.presenting .interposer-model{height:52vh}.pin-talk.presenting .slide-bottom{margin-top:13px;padding-top:11px}.pin-talk.presenting .schematic-ready{font-size:19px}}
@media(max-width:1100px){.pin-talk .layout{grid-template-columns:120px minmax(0,1fr);gap:22px;padding-inline:3vw}.pin-talk .talk-slide{padding-inline:24px}.asic-layout{gap:20px;grid-template-columns:.95fr 1.1fr}.allocation-list li{padding:8px 0;grid-template-columns:40px 1fr;gap:8px}.allocation-list strong{font-size:14px}.allocation-list small{font-size:10px}.cable-slide-layout{grid-template-columns:1fr 1.3fr;gap:20px}.contact-list li{grid-template-columns:100px 1fr;gap:10px}.contact-list .ground .contact-numbers{font-size:12px}.model-header{font-size:10px;padding-inline:10px}.model-figure figcaption{font-size:10px}.schematic-ready{font-size:19px}.schematic-ready small{display:block;margin:4px 0 0 29px}}
@media(max-width:760px){.pin-talk .layout{display:block;padding:18px 15px 50px}.pin-talk aside{background:#f2f0eb;border-color:#deded6}.pin-talk .talk-slide{padding:25px 18px 24px;border-radius:12px}.pin-talk .talk-slide:before{left:18px}.asic-layout,.cable-slide-layout{grid-template-columns:1fr;gap:18px}.asic-visual svg{max-height:320px}.allocation-list li{padding:10px 0;grid-template-columns:45px 1fr}.allocation-list strong{font-size:15px}.allocation-list small{font-size:11px}.contact-list{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.contact-list li{grid-template-columns:1fr;gap:3px;align-content:start;padding:9px 0}.contact-list .ground{grid-column:1/-1}.contact-list .ground .contact-numbers{font-size:16px}.contact-list strong{font-size:13px}.contact-list small{font-size:10px}.fpga-model{height:390px}.layout-model .interposer-model{height:400px}.slide-bottom{gap:12px 17px}.essential-note{flex-basis:100%;font-size:11px}.model-header{font-size:10px}.model-header a{font-size:10px}.model-figure figcaption{font-size:10px}.schematic-ready{flex-basis:100%;font-size:19px}.pin-talk.presenting .layout{padding:12px 10px 75px}.pin-talk.presenting .talk-slide.active{min-height:0;padding:24px 18px;justify-content:flex-start}.pin-talk.presenting h1,.pin-talk.presenting h2{font-size:30px}.pin-talk.presenting .asic-visual svg{max-height:320px}.pin-talk.presenting .fpga-model{height:390px}.pin-talk.presenting .interposer-model{height:400px}.pin-talk.presenting .essential-note,.pin-talk.presenting .text-link{font-size:11px}.pin-talk.presenting .contact-list strong{font-size:13px}}
@media print{.pin-talk{background:white}.pin-talk .talk-slide{box-shadow:none;border:0;break-before:page;padding:18px 0}.pin-talk .review-section:first-child .talk-slide{break-before:auto}.pin-talk .talk-slide:before{display:none}.asic-layout{grid-template-columns:1fr 1fr}.cable-slide-layout{grid-template-columns:1fr 1.3fr}.talk-model{height:320px}.essential-note,.text-link{font-size:10pt}.allocation-list small{font-size:9pt}}

/* Final simplification: the ASIC slide is only the counted signal list. */
.list-only{display:block}.list-only .allocation-list li{grid-template-columns:70px 1fr;padding:15px 0}.list-only .allocation-list b{font-size:33px}.list-only .allocation-list li>div{display:grid;grid-template-columns:245px 1fr;align-items:center;gap:20px}.list-only .allocation-list strong{font-size:17px}.list-only .allocation-list small{font-size:12px;margin:0}.layout-status{font-size:12px;font-weight:600;color:#8d663b;white-space:nowrap;margin-left:auto;margin-right:12px}.pin-talk.presenting .list-only .allocation-list li{padding:15px 0}.pin-talk.presenting .list-only .allocation-list strong{font-size:18px}.pin-talk.presenting .list-only .allocation-list small{font-size:13px}
@media(min-width:761px) and (max-height:780px){.pin-talk.presenting .list-only .allocation-list li{padding:11px 0}.pin-talk.presenting .list-only .allocation-list strong{font-size:16px}.pin-talk.presenting .list-only .allocation-list small{font-size:12px}}
@media(max-width:1100px){.list-only .allocation-list li>div{grid-template-columns:200px 1fr;gap:15px}.list-only .allocation-list strong{font-size:15px}.list-only .allocation-list small{font-size:11px}}
@media(max-width:760px){.list-only .allocation-list li{grid-template-columns:45px 1fr;padding:12px 0}.list-only .allocation-list li>div{display:block}.list-only .allocation-list small{margin-top:4px;font-size:11px}.layout-status{font-size:10px;margin-inline:0}.layout-model .model-header{flex-wrap:wrap}.layout-model .model-header>span{flex-basis:100%}.layout-model .model-header>a{margin-left:auto}.pin-talk.presenting .list-only .allocation-list strong{font-size:15px}.pin-talk.presenting .list-only .allocation-list small{font-size:11px}}

/* R6: page 2 shows connector contacts instead of whole-board geometry. */
.contact-figure{margin:0;min-width:0;align-self:center;border:1px solid #d9e1e0;border-radius:12px;background:#fffefa;overflow:hidden}.contact-view-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;background:#f4f7f3;border-bottom:1px solid #d9e1e0;font-size:12px;color:#536c7a}.contact-view-head a{font-size:10px;white-space:nowrap;text-decoration:none}.contact-figure img{display:block;width:100%;height:auto}.contact-figure figcaption{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:0;padding:13px 16px;border-top:1px solid #e0e4dc;font-size:11px;color:#60717d}.contact-figure figcaption strong{font-weight:600;color:#536c7a;white-space:nowrap}
@media(max-width:760px){.contact-figure{grid-row:1}.contact-view-head{font-size:11px}.contact-figure figcaption{font-size:10px;padding:12px}.contact-figure figcaption strong{font-size:9px}}
@media print{.contact-figure{break-inside:avoid}}

/* R7: concise proposed-parts table, before the full system assembly. */
.proposal-attribution{margin:-8px 0 25px;color:#647581;font-size:13px}.component-table{width:100%;border-collapse:collapse;table-layout:fixed}.component-table th,.component-table td{text-align:left;border-bottom:1px solid #dce3df;padding:17px 14px;vertical-align:middle;font-size:14px;line-height:1.5}.component-table thead th{font-size:10px;text-transform:uppercase;letter-spacing:.8px;font-weight:500;color:#647581;padding-top:0;padding-bottom:12px}.component-table th:first-child{width:21%;padding-left:0}.component-table th:nth-child(2){width:46%}.component-table th:nth-child(3){width:33%}.component-table tbody th{font-size:15px;font-weight:600;color:#294252}.component-table td:last-child{color:#647581;padding-right:0}.component-table a{color:#326f89;text-decoration:none;overflow-wrap:anywhere}.component-table a:hover{text-decoration:underline}.component-review{font-size:13px}.pin-talk.presenting .component-table th,.pin-talk.presenting .component-table td{font-size:17px;padding-block:22px}.pin-talk.presenting .component-table tbody th{font-size:18px}.pin-talk.presenting .component-table thead th{font-size:11px;padding-top:0;padding-bottom:14px}.pin-talk.presenting .proposal-attribution{font-size:15px;margin-bottom:28px}
@media(min-width:761px) and (max-height:780px){.pin-talk.presenting .component-table th,.pin-talk.presenting .component-table td{font-size:14px;padding-block:15px}.pin-talk.presenting .component-table tbody th{font-size:15px}.pin-talk.presenting .component-table thead th{font-size:10px}.pin-talk.presenting .proposal-attribution{font-size:12px;margin-bottom:18px}}
@media(max-width:760px){.component-table th,.component-table td{font-size:11px;padding:13px 8px}.component-table tbody th{font-size:12px}.component-table th:first-child{width:23%}.component-table th:nth-child(2){width:43%}.component-table th:nth-child(3){width:34%}.component-table thead th{font-size:8px}.proposal-attribution{font-size:11px}.pin-talk.presenting .component-table th,.pin-talk.presenting .component-table td{font-size:11px;padding-block:13px}.pin-talk.presenting .component-table tbody th{font-size:12px}.pin-talk.presenting .proposal-attribution{font-size:11px}.pin-talk.presenting .component-table thead th{font-size:8px}}
