:root{font-family:Arial,sans-serif;color:#102440;background:#edf2f7;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#071a35;color:white;padding:14px 4%;display:flex;justify-content:space-between;align-items:center}header a{color:white;text-decoration:none;display:flex;align-items:center;gap:12px}header img{width:48px;height:48px;object-fit:contain}main{max-width:1580px;margin:auto;padding:28px 4%}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:12px;letter-spacing:.14em;color:#406177}h1{font-size:36px;margin:8px 0}h2{font-size:18px;margin:0 0 14px}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px}aside{background:white;border:1px solid #d4dfe8;border-radius:12px;padding:20px}section+section{border-top:1px solid #e0e7ee;margin-top:20px;padding-top:20px}p{font-size:14px;color:#4a6077;line-height:1.55}label{display:block;font-size:14px;margin:12px 0 8px;font-weight:600}input,select{display:block;width:100%;padding:10px;margin-top:7px;border:1px solid #aebeca;border-radius:6px;font:inherit;background:white;color:#102440}button,.upload{font:600 14px Arial;cursor:pointer;border:1px solid #aebeca;border-radius:6px;padding:11px 12px;background:white;color:#173956;min-height:42px}button:hover,button.active{background:#ddf7fa;border-color:#008d9c}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #00a2b7;outline-offset:2px}.primary{background:#071a35;color:white;width:100%;margin-top:12px}.primary:hover{background:#12385b}.row,.pair{display:flex;gap:8px}.row>*{flex:1}.pair label{width:50%}.upload{border-style:dashed;background:#f1fafc;display:block}input[type=file]{font-size:12px;border:0;padding:0;background:transparent}output{display:block;font-size:14px;margin-top:12px;color:#007784}video{width:100%;margin-top:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.metrics>div{background:white;border:1px solid #d4dfe8;padding:18px;border-radius:8px}.metrics span{font-size:14px;color:#577086;display:block;margin-bottom:8px}.metrics strong{font-size:26px}.canvasWrap{background:#071a35;border-radius:12px;overflow:hidden;border:1px solid #aebeca}canvas{display:block;width:100%;height:auto;touch-action:none}#status{background:white;border-left:4px solid #00b9c7;padding:14px;margin:14px 0}.legend{display:flex;gap:20px;font-size:14px;margin:16px 0}.legend span:before{content:'';display:inline-block;width:10px;height:10px;margin-right:7px}.cyan:before{background:#00becd}.red:before{background:#ff806e}.blue:before{background:#2c64a6}details,.note{background:white;padding:18px;border:1px solid #d4dfe8;border-radius:8px;margin-top:16px}summary{cursor:pointer;font-weight:600}li{font-size:14px;line-height:1.8}.note p:last-child{margin-bottom:0}@media(max-width:950px){main{padding:22px 16px}.workspace{grid-template-columns:1fr}.drawing{grid-row:1}aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}section+section{margin-top:0;padding-top:0;border:0}.metrics strong{font-size:22px}}@media(max-width:580px){aside{display:block}section+section{border-top:1px solid #ddd;margin-top:20px;padding-top:20px}.heading{align-items:flex-start}h1{font-size:28px}.eyebrow{font-size:11px}.metrics>div{padding:12px}.metrics strong{font-size:19px}.metrics span{font-size:12px}.legend{gap:12px;font-size:12px}header a{font-size:14px}}

/* Keep the original navy, cyan and gold logo visible on a light header. */
header{background:#fff;color:#071a35;border-bottom:3px solid #00b8d9}
header a{color:#071a35;font-weight:600}
header a:hover{color:#00778d}
header img{width:64px;height:64px;mix-blend-mode:normal;filter:none}
