/* Equipment RGB is fixed; text, geometry, spacing and background remain editable. */
.rf-diagram {position:relative;container-type:inline-size;width:100%;aspect-ratio:1000/900;color:#f1f6fa;isolation:isolate;font-family:"Noto Sans JP",sans-serif}
.rf-diagram * {box-sizing:border-box}
.rf-diagram .rf-lines {position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.rf-storage-pointer {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.rf-diagram p,.rf-diagram h3 {margin:0;padding:0;text-shadow:none;-webkit-text-stroke:0}
.rf-diagram .rf-equipment {position:absolute;display:block;height:auto;object-fit:contain}
.rf-diagram .rf-heading {position:absolute;left:0;font-size:3cqw;line-height:1.5;font-weight:700;color:#53d9e5}
.rf-heading>span {display:inline-grid;place-items:center;width:4cqw;height:4cqw;margin-right:.8cqw;border-radius:50%;background:#53d9e5;color:#0c202c;font-size:2.7cqw}
.rf-diagram .rf-record {top:1%}
.rf-diagram .rf-playback {top:58.5%;color:#56e7b1}
.rf-playback>span {background:#56e7b1}
.rf-diagram .rf-antenna {left:2%;top:21%;width:7.3%}
.rf-diagram .rf-capture-usrp {left:22.5%;top:26.4%;width:25%}
.rf-diagram .rf-pc {left:53.5%;top:20.8%;width:28%}
.rf-diagram .rf-analysis {left:82.8%;top:12%;width:17%;border:1px solid #53d9e5;border-radius:3px}
.rf-diagram .rf-dut {left:2%;top:72.3%;width:21.5%}
.rf-diagram .rf-playback-usrp {left:36.5%;top:71.6%;width:25%}
.rf-diagram .rf-pc-note {position:absolute;left:53%;top:6.7%;width:27%;padding:1cqw 1.3cqw;border:1px solid #53d9e5;border-radius:1cqw;font-size:1.65cqw;line-height:1.55}
.rf-diagram .rf-analysis-label {position:absolute;left:81%;top:2%;width:19%;text-align:center;font-size:1.65cqw;line-height:1.55}
.rf-concept-note {display:block;color:#b7cbd5;font-size:1.3cqw}
.rf-diagram .rf-ssd {position:absolute;left:82.5%;top:30%;width:17.5%;padding:1cqw .5cqw;border:1px solid #53d9e5;border-radius:1cqw;text-align:center;line-height:1.5;background:var(--surface,#0c202c);z-index:2}
.rf-ssd img {display:block;width:94%!important;height:auto;margin:0 auto 1.2cqw}
.rf-ssd strong {display:block;color:#53d9e5;font-size:1.95cqw;font-weight:700}
.rf-ssd span {display:block;font-size:1.35cqw}
.rf-diagram .rf-signal {position:absolute;font-size:2cqw;font-weight:600;line-height:1.4;color:#53d9e5;text-align:center;white-space:nowrap}
.rf-diagram .rf-rf-in {left:16%;top:23%;width:8%}
.rf-diagram .rf-iq-in {left:46.5%;top:23%;width:8%}
.rf-diagram .rf-rf-out {left:26%;top:73.5%;width:9%;color:#56e7b1}
.rf-diagram .rf-iq-out {left:65%;top:73.5%;width:21%;color:#56e7b1}
.rf-diagram .rf-caption {position:absolute;top:43%;text-align:center;line-height:1.6}
.rf-caption strong {display:block;font-size:2.1cqw;font-weight:700;color:#53d9e5}
.rf-caption span {display:block;margin-top:.6cqw;font-size:1.65cqw}
.rf-caption .rf-device-name {color:#b7cbd5;font-size:1.55cqw}
.rf-diagram .rf-antenna-caption {left:0;width:19%}
.rf-diagram .rf-capture-caption {left:19.5%;width:30%}
.rf-diagram .rf-pc-caption {left:51%;width:31%}
.rf-pc-caption strong {font-size:1.95cqw}
.rf-diagram .rf-dut-caption {left:0;top:88%;width:27%}
.rf-diagram .rf-playback-caption {left:33%;top:88%;width:32%}
.rf-dut-caption strong,.rf-playback-caption strong {color:#56e7b1}
@media(max-width:900px){
 .rf-diagram {display:flex;flex-direction:column;align-items:center;aspect-ratio:auto;gap:0}
 .rf-diagram .rf-lines,.rf-diagram .rf-storage-pointer {display:none}
 .rf-diagram .rf-heading,.rf-diagram .rf-equipment,.rf-diagram .rf-caption,.rf-diagram .rf-signal,.rf-diagram .rf-pc-note,.rf-diagram .rf-analysis-label,.rf-diagram .rf-ssd {position:static;max-width:100%;width:100%;margin:0}
 .rf-diagram .rf-heading {font-size:20px;line-height:1.5;text-align:left;margin-bottom:26px}
 .rf-heading>span {width:30px;height:30px;font-size:20px;margin-right:5px}
 .rf-diagram .rf-equipment {width:260px;margin:0 auto}
 .rf-diagram .rf-antenna {width:65px}
 .rf-diagram .rf-caption {margin-top:12px;text-align:center;line-height:1.6}
 .rf-caption strong,.rf-pc-caption strong {font-size:18px}
 .rf-caption span,.rf-caption .rf-device-name {font-size:14px;margin-top:4px}
 .rf-diagram .rf-signal {font-size:15px;line-height:1.5;margin:18px 0;text-align:center;white-space:normal}
 .rf-signal::after {content:"↓";display:block;font-size:36px;line-height:1.2}
 .rf-diagram .rf-pc-note {font-size:14px;line-height:1.6;border:0;padding:0;text-align:center;color:#b7cbd5;margin:14px 0}
 .rf-pc-note br {display:none}
 .rf-diagram .rf-ssd {width:230px;margin:12px 0 24px;padding:12px;line-height:1.6;border-radius:8px}
 .rf-ssd img {width:170px!important;max-width:100%;margin:0 auto 8px}
 .rf-ssd strong {font-size:17px}.rf-ssd span {font-size:14px}
 .rf-diagram .rf-analysis-label {font-size:15px;margin-bottom:12px}
 .rf-concept-note {font-size:13px}
 .rf-diagram .rf-analysis {width:230px}
 .rf-diagram .rf-record {order:1}
 .rf-diagram .rf-antenna {order:2}
 .rf-diagram .rf-antenna-caption {order:3}
 .rf-diagram .rf-rf-in {order:4}
 .rf-diagram .rf-capture-usrp {order:5}
 .rf-diagram .rf-capture-caption {order:6}
 .rf-diagram .rf-iq-in {order:7}
 .rf-diagram .rf-pc {order:8}
 .rf-diagram .rf-pc-caption {order:9}
 .rf-diagram .rf-pc-note {order:10}
 .rf-diagram .rf-ssd {order:11}
 .rf-diagram .rf-analysis-label {order:12}
 .rf-diagram .rf-analysis {order:13}
 .rf-diagram .rf-playback {order:14;margin:44px 0 10px;color:#56e7b1}
 .rf-diagram .rf-iq-out {order:15;margin-top:0}
 .rf-diagram .rf-playback-usrp {order:16}
 .rf-diagram .rf-playback-caption {order:17}
 .rf-diagram .rf-rf-out {order:18}
 .rf-diagram .rf-dut {order:19}
 .rf-diagram .rf-dut-caption {order:20}
}
