.nav-group{position:relative;padding:0!important;border:0!important}.nav-group summary{cursor:pointer;font-size:14px;white-space:nowrap;color:inherit;padding:10px 3px}.nav-group>div{position:absolute;top:100%;left:0;background:white;box-shadow:0 12px 30px #15384720;border:1px solid #dce7ed;border-radius:10px;padding:10px;min-width:215px;z-index:100;display:grid;gap:2px}.nav-group>div a{padding:10px!important;display:block!important;white-space:nowrap}.home-journey{max-width:1320px;margin:0 auto;padding:58px 44px 24px}.home-journey h2{font-size:29px;margin:8px 0}.home-journey p{color:#53707c;line-height:1.7}.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0}.journey-grid>a{border:1px solid #d7e6ec;background:#fff;border-radius:12px;padding:22px;color:#153847;text-decoration:none}.journey-grid>a:hover{border-color:#0b879d;background:#f1fafb}.journey-grid span{font-size:12px;letter-spacing:.1em;color:#0b879d;font-weight:800}.journey-grid h3{margin:16px 0 8px;font-size:18px}.journey-grid p{font-size:13px;margin:0}.journey-entry{background:#edf6f8;border-radius:12px;padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.journey-entry h3{margin:0 0 7px}.journey-entry p{margin:0;font-size:14px}.journey-entry a{font-size:14px;color:#087a92;white-space:nowrap}.exp-result-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.exp-result-summary>div{border:1px solid #cfe1e8;border-radius:10px;background:#eef8fa;padding:16px}.exp-result-summary small,.exp-result-summary strong{display:block}.exp-result-summary strong{margin-top:8px;font-size:18px;color:#08718a}.exp-part-detail{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:18px;padding:20px;background:#eef7fa;border:1px solid #c3e0ea;border-radius:10px;margin:16px 0}.exp-part-detail strong{display:block;margin:10px 0}.exp-part-detail p{font-size:13px;line-height:1.6}.exp-part-detail small{color:#4e7688}.exp-selected-row{background:#e8f7fc!important;box-shadow:inset 4px 0 #0c8eaa}.exp-selected-row td{background:transparent!important}
@media(max-width:1000px){.home-journey{padding:35px 24px}.journey-grid{grid-template-columns:repeat(2,1fr)}.journey-entry{display:block}.journey-entry .actions{margin-top:15px}.exp-result-summary{grid-template-columns:repeat(2,1fr)}.exp-part-detail{grid-template-columns:1fr}}
@media(max-width:650px){.home-journey{padding:28px 18px}.journey-grid{gap:10px}.journey-grid>a{padding:17px}.journey-grid h3{font-size:16px}.nav-group>div{position:fixed;left:14px;right:14px;top:auto;min-width:0}.exp-result-summary strong{font-size:15px}.home-journey .home-section-heading{display:block}}

/* Ver7.14: device size and pipe editing controls. */
.pid-size-tools,.pid-pipe-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}
.pid-size-tools{padding:12px;background:#f5f9fc;border:1px solid #d8e5ef;border-radius:8px}
.pid-size-tools>label{margin:0}.pid-size-tools input[type=range]{width:180px;padding:0;min-height:30px;accent-color:#1673bc;margin:0}
.pid-size-tools .pid-size-number{display:flex;align-items:center;gap:5px}.pid-size-tools input[type=number]{width:85px;margin:0}
.pid-pipe-tools{margin:14px 0;border:1px solid #d8e5ef;border-radius:10px;padding:14px;background:#fbfdff}
.pid-pipe-tools summary{font-weight:700;cursor:pointer}.pid-pipe-row>label{flex:1 1 220px;min-width:0}.pid-pipe-row select{width:100%;margin-top:4px}
.pid-pipe-row button{align-self:flex-end}.pid-pipe-tools .fine{margin-bottom:8px}.pid-pipe-tools [aria-pressed=true]{color:white;background:#176fc0;border-color:#176fc0}
.pid-network-status{font-size:13px;color:#557086;margin:8px 0 0}.pid-tools>label{max-width:100%}
.exp-pid [data-pid-pipe]:focus>path:last-child{stroke:#d27813;stroke-width:4}.exp-pid [data-pid-port]:focus circle:last-child{stroke:#d27813;stroke-width:4}
.pid-size-tools .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.pid-size-tools{gap:8px}.pid-size-tools>strong{width:100%}.pid-pipe-row>label{flex-basis:100%}.pid-pipe-tools{padding:10px}.pid-pipe-row button{font-size:13px;padding:8px}}
@media print{.pid-size-tools,.pid-pipe-tools,.pid-help{display:none!important}}

/* Ver7.15: independently rotate instruments and movable supply / DUT / outlet. */
.pid-rotation-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px;border:1px solid #d8e5ef;border-radius:8px;background:#f5f9fc;margin:12px 0}
.pid-rotation-tools>label{display:flex;align-items:center;gap:6px;margin:0}.pid-rotation-tools input[type=number]{width:85px;margin:0}
@media(max-width:600px){.pid-rotation-tools>strong{width:100%}.pid-rotation-tools button{font-size:13px;padding:8px}}
@media print{.pid-rotation-tools{display:none!important}}

/* Ver7.16: grid drawing and free placement controls. */
.pid-draw-tools{padding:16px;border:2px solid #a9cbdc;border-radius:10px;background:#f3faff;margin:16px 0}.pid-draw-tools>p{margin:8px 0;font-size:14px}.pid-draw-tools [data-pid-draw-status]{color:#176fc0;font-weight:600}.pid-draw-tools [aria-pressed=true]{background:#0a6054;border-color:#0a6054}
.pid-position-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid #d8e5ef;border-radius:8px;margin:12px 0}.pid-position-tools label{display:flex;align-items:center;gap:6px}.pid-position-tools input{width:105px;margin:0}
.exp-pid [data-pid-hit]{pointer-events:all}.exp-pid [data-pid-id]:focus>[data-pid-hit]{stroke:transparent}.exp-pid [data-pid-junction]{cursor:crosshair}
@media(max-width:600px){.pid-position-tools>strong{width:100%}.pid-draw-tools{padding:10px}}
@media print{.pid-draw-tools,.pid-position-tools{display:none!important}}
.pid-component-tools{border:1px solid #a9cbdc;border-radius:10px;background:#f5faff;padding:14px;margin:16px 0}.pid-component-tools>strong{display:block;color:#173c60}.pid-component-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.pid-component-picker img{width:132px;height:90px;object-fit:contain;flex-shrink:0;background:white;border:1px solid #d8e5ef;border-radius:8px;padding:6px}.pid-component-picker label{flex:1 1 240px;margin:0}.pid-component-picker select{width:100%;margin:4px 0 0}.pid-component-tools p{margin:9px 0 0}.pid-component-picker button{align-self:center}
@media(max-width:600px){.pid-component-picker img{width:94px;height:75px}.pid-component-picker label{flex:1 1 170px}.pid-component-picker button{font-size:13px;padding:9px}}
@media print{.pid-component-tools{display:none!important}}

/* Ver7.19: viewport tools and context editor remain independent of SVG zoom. */
.pid-workspace{position:relative;border:1px solid #b8cddd;border-radius:12px;background:#f5f9fc;isolation:isolate;overflow:hidden}
.pid-dock{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px;border-bottom:1px solid #cddde8;background:#f4f8fc}
.pid-dock button,.pid-draw-dock button{font-size:13px;padding:8px 10px;min-height:36px;white-space:nowrap}.pid-dock label{margin:0;display:flex;gap:6px;align-items:center;font-size:13px;font-weight:600}.pid-dock select{width:auto;margin:0;min-height:36px;padding:7px 22px 7px 7px}.pid-dock input{width:65px;margin:0;padding:7px}.pid-dock-spacer{flex:1}.pid-dock output{min-width:42px;text-align:center;font-size:13px;font-weight:700}.pid-dock [aria-pressed=true]{background:#dceefa;color:#164f77;border-color:#3283b9}
.pid-stage{position:relative;min-height:0;overflow:hidden}.pid-workspace .exp-pid{margin:0;border:0;border-radius:0;height:clamp(380px,65vh,760px);max-height:760px;min-height:320px;outline:none}.pid-workspace .exp-pid:focus-visible{outline:2px solid #1673bc;outline-offset:-2px}
.pid-feedback{padding:9px 12px;margin:0;border-top:1px solid #cfdee9;font-size:13px;color:#29546d;background:#eff6fa;min-height:36px}.pid-advanced{padding:10px 12px;background:white;border-top:1px solid #d8e5ef}.pid-advanced>summary{cursor:pointer;color:#48677f;font-size:13px}.pid-advanced .pid-status{display:none}
.pid-floating{position:absolute;z-index:5;background:white;border:1px solid #a4c4d8;border-radius:10px;box-shadow:0 8px 32px #173c602b;padding:12px;width:270px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);overflow:auto;cursor:default}.pid-floating[hidden],.pid-workspace [hidden]{display:none!important}.pid-add-panel{left:12px;top:12px;width:300px}.pid-panel-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.pid-panel-heading strong{font-size:14px}.pid-panel-heading button{padding:1px 7px;min-height:27px;font-size:20px}.pid-floating label{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:13px}.pid-floating label input{width:92px;margin:0;margin-left:auto;padding:7px}.pid-floating label select{min-width:0;flex:1;margin:0;padding:7px}.pid-floating button{font-size:13px;padding:8px;margin:2px 0}.pid-context-actions{display:flex;flex-wrap:wrap;gap:5px}.pid-context .pid-danger{color:#a02e38;border-color:#eccbd0;width:100%;margin-top:8px}.pid-floating .fine{font-size:12px;margin:8px 0 0;line-height:1.55}.pid-add-panel>label{display:block}.pid-add-panel select{width:100%;margin-top:6px!important}.pid-add-panel>img{display:block;width:100%;height:100px;object-fit:contain;margin:10px 0}.pid-add-panel>button{width:100%}
.pid-draw-dock{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#e8f5ef;border-bottom:1px solid #acd6c5;flex-wrap:wrap}.pid-draw-dock strong{font-size:13px;flex:1 1 220px;color:#23634f}.pid-large{position:fixed;inset:12px;z-index:2000;display:flex;flex-direction:column;box-shadow:0 0 0 20px #183e5a66}.pid-large .pid-stage{flex:1}.pid-large .exp-pid{height:100%;max-height:none;min-height:0}.pid-large .pid-advanced{display:none}
@media(max-width:700px){.pid-dock{gap:4px;padding:7px}.pid-dock button{padding:7px;font-size:12px}.pid-dock-spacer{display:none}.pid-dock .pid-direction{flex:1}.pid-dock .pid-direction select{flex:1}.pid-large{inset:0;border-radius:0}.pid-workspace .exp-pid{height:60vh}.pid-large .exp-pid{height:100%}.pid-floating{width:250px}.pid-add-panel{width:280px}.pid-feedback{font-size:12px}}
@media print{.pid-dock,.pid-draw-dock,.pid-floating,.pid-feedback,.pid-advanced{display:none!important}.pid-workspace,.pid-stage{overflow:visible;border:0}.pid-large{position:static;display:block;box-shadow:none}}

/* Ver7.20: four task categories, with NI/PLC inside DAQ. */
.pid-categories{display:flex;align-items:center;gap:5px;flex-wrap:wrap;border-right:1px solid #cbdce7;padding-right:9px;margin-right:3px}.pid-categories [aria-expanded=true]{background:#dceefa;border-color:#3283b9;color:#164f77}.pid-categories button{font-weight:650}
@media(max-width:1000px){.pid-categories{flex:1 1 100%;border-right:0;border-bottom:1px solid #cbdce7;padding:0 0 7px;margin:0 0 2px}.pid-categories button{flex:1}}
@media print{.pid-categories{display:none!important}}

/* Ver7.21: automatic pipe control and separately named DAQ groups. */
.pid-auto-arrange{display:flex!important;align-items:center;gap:5px;white-space:nowrap;font-size:12px}.pid-auto-arrange input{width:16px!important;min-width:16px;margin:0}.exp-daq-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.exp-daq-groups>div{border:1px solid var(--line,#dbe3e7);border-radius:8px;padding:12px}.exp-daq-groups h3{margin:0 0 6px}.exp-daq-groups p{margin:0}

.cloud-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 24px;background:#eff6fa;border-bottom:1px solid #d3e1e7;font-size:14px}.cloud-toolbar>span{margin-right:auto}.cloud-toolbar button{font-size:14px;min-height:40px}.cloud-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #dde5e9}.cloud-row small{display:block;margin-top:6px}.cloud-toolbar a{color:#174e65}.project-toolbar #save-status{max-width:360px;line-height:1.5}@media(max-width:640px){.cloud-toolbar{padding:12px}.cloud-toolbar>span{flex-basis:100%}.cloud-row{display:block}}
