.viewport{position:absolute;inset:0;overflow:hidden;touch-action:none}.viewport canvas{width:100%;height:100%;display:block;outline:none;cursor:grab}.viewport canvas:active{cursor:grabbing}.reticle{position:absolute;width:13px;height:13px;border-color:#40618270;border-style:solid;pointer-events:none;z-index:2}.reticle-tl{top:105px;left:25px;border-width:1px 0 0 1px}.reticle-tr{top:105px;right:25px;border-width:1px 1px 0 0}.reticle-bl{bottom:88px;left:25px;border-width:0 0 1px 1px}.reticle-br{bottom:88px;right:25px;border-width:0 1px 1px 0}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;color:#83a4c9;font-size:11px;z-index:4;background:radial-gradient(ellipse,#14263b,#0b1522);letter-spacing:.5px}.loading span{height:15px;width:15px;border:1px solid #325373;border-top-color:#81c6ff;border-radius:50%;animation:loading-turn 1s linear infinite}.loading.error{padding:40px;text-align:center;color:#dfaa92}.loading.error span{display:none}@keyframes loading-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading span{animation:none}.view-selector button{transition:none}}@media(max-width:520px){.reticle-tl,.reticle-tr{top:97px}.reticle-bl,.reticle-br{bottom:112px}.reticle-tl,.reticle-bl{left:17px}.reticle-tr,.reticle-br{right:17px}}
.complete-annotations{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.complete-annotation-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;pointer-events:none}.complete-annotation-leaders path{stroke:#80a2bf;stroke-width:1;opacity:.47;vector-effect:non-scaling-stroke}.complete-annotation-leaders circle{fill:#8dbfdf;stroke:#b3d7ec;stroke-width:.5;opacity:.8}.complete-annotation{position:absolute;top:calc(22% + var(--annotation-row)*21%);width:165px;padding:8px 10px;border:1px solid #6585a028;border-radius:5px;background:linear-gradient(120deg,#0a1625d9,#0a16255c);backdrop-filter:blur(5px);font-size:9px;line-height:1.45;letter-spacing:.1px;pointer-events:none}.complete-annotation.is-left{left:28px}.complete-annotation.is-right{right:28px;text-align:right}.complete-annotation strong{display:block;color:#b5cbe0;font-size:10px;font-weight:500}.complete-annotation span{display:block;margin-top:3px;color:#5e7c99;font-size:8px}@media(max-width:850px){.complete-annotation{width:135px;padding:7px 8px}.complete-annotation.is-left{left:19px}.complete-annotation.is-right{right:19px}.complete-annotation strong{font-size:9px}.complete-annotation span{font-size:7px}}@media(max-width:600px){.complete-annotation-leaders{display:none}.complete-annotation{top:calc(25% + var(--annotation-row)*19%);width:111px;padding:5px 6px;background:#091523b0;border-color:#52708b24;backdrop-filter:blur(3px)}.complete-annotation.is-left{left:12px}.complete-annotation.is-right{right:12px}.complete-annotation strong{font-size:8px;line-height:1.4}.complete-annotation span{font-size:6px;margin-top:2px}}
