.case-map{display:flex!important;flex-direction:column;overflow:hidden;background:#10223a!important;color:#d8e8f6}
.case-map header{flex-shrink:0;gap:12px}.case-map header h2{font-size:19px;line-height:1.3;margin:4px 0}
.case-scroll{overflow:auto;min-height:0;padding:14px 18px 80px;overscroll-behavior:contain}
.case-nodes{display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative}
.case-lines{position:absolute;inset:0;overflow:visible;pointer-events:none;fill:none;stroke:#80d8bb;stroke-width:2;z-index:0}
.case-node{border:1px solid #658494;border-radius:16px;background:#28455b;padding:12px;min-width:0;position:relative;z-index:1}
.case-node.chosen{outline:2px solid #69efc3;box-shadow:0 0 15px #69efc333}
.case-node>button[data-case-node]{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;background:transparent;border:0;color:inherit;padding:4px;min-height:68px}
.case-node>button[data-case-node]:disabled{opacity:1;cursor:default}
.case-node small{display:block;color:#b5c9da;font-size:12px}.case-node strong{font-size:15px;line-height:1.35}
.case-hybrid{grid-column:1/-1;border-style:dashed;background:#253b50;margin-top:14px}
.case-hybrid:has(button[aria-pressed]):has(.case-remove){padding:14px}
.case-node p{font-size:13px;line-height:1.45;margin:10px 0}.case-node .main-action{font-size:14px;min-height:40px;margin-top:12px}
.case-remove{background:none;border:0;color:#afc2d7;font-size:12px;padding:12px 0 0}
.case-parents{border-bottom:1px solid #688d9a;padding-bottom:6px;color:#8ee4cb!important}
.case-connect{position:sticky;bottom:0;padding:14px;background:#19354f;border:1px solid #6deac7;border-radius:14px;z-index:3;box-shadow:0 -6px 24px #091321}
.case-connect button{display:block;text-align:left;width:100%;padding:12px;margin-top:8px;border:1px solid #648598;border-radius:10px;background:#294b63;color:#e0ecff}
.case-root{border:1px dashed #65768b;border-radius:14px;text-align:center;padding:22px;margin:22px 0;color:#afbad1}.case-root small{display:block;margin-top:8px}
.case-routine{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;border:1px solid #537f87;border-radius:12px;background:#18384a;color:#d8edf3;padding:10px 12px;margin:0 0 12px}
.case-routine strong{font-size:13px}.case-routine small{font-size:12px;color:#96d9c9}
.case-marker{position:absolute;right:34px;top:2px;font-size:12px;z-index:2;pointer-events:none}
.case-trial-strip{position:absolute;top:4px;left:5%;width:94%;height:56px;display:flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid #bdabe8;border-left:4px solid #cfbbff;border-radius:11px;background:#564b72;color:#f0eaff;text-align:left;box-shadow:0 3px 0 #302944;z-index:2}
.trial-symbol{font-size:20px}.trial-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.trial-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trial-copy small{font-size:11px;color:#e1d6f6}.trial-progress{display:flex;gap:3px}.trial-progress i{height:15px;width:5px;background:#352d49;border-radius:2px}.trial-progress .filled{background:#b6f4d8}
.case-node details{font-size:12px;margin:8px 0;color:#b8c9dc}.case-node details summary{cursor:pointer}.case-node>button[data-case-node]{min-height:48px}.case-root{padding:14px;margin:16px 0}.case-hybrid .main-action{margin-top:8px}

.case-card-title{padding:5px 0;line-height:1.4}.case-port{display:block;width:44px;height:44px;margin:6px auto -12px;border:0;background:transparent;color:#93efd0;font-size:32px;line-height:1;touch-action:none;user-select:none;-webkit-touch-callout:none;cursor:crosshair}.case-port:focus-visible{outline:2px solid #fff;border-radius:50%}.case-drag-line{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:9999}.connecting .case-node:has(.case-port){border-color:#92caba}.connecting .connection-target{outline:3px solid #8ff5cf;background:#315b61}.case-status{margin:8px 0}.case-connect [data-case-cancel]{position:absolute;right:10px;top:6px;width:32px;padding:4px;text-align:center;margin:0}.case-node details button{margin:8px 12px 0 0}
