:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#0c1b2a;background:#f7f9fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:310px}header{background:#0c1b2a;color:#fff;padding:18px max(22px,calc((100vw - 1250px)/2));display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:15px;letter-spacing:.12em}.mark{border:2px solid #1a9aa6;padding:0px 13px 6px;font-size:37px;line-height:1;color:#fff;font-weight:600}.brand strong{font-size:24px;letter-spacing:.23em}.brand small{display:block;letter-spacing:.18em;font-size:9px;color:#a7bfcb;margin-top:3px}.headright{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag{display:inline-block;font-size:10px;font-weight:750;letter-spacing:.08em;border:1px solid #d8e2ea;color:#546b7a;border-radius:30px;padding:6px 10px;white-space:nowrap}.headright .tag{border-color:#4b6673;color:#dfeaf0}.tag.teal{color:#12ccd0;border-color:#159caa}.tag.gold{color:#946b28;border-color:#ceb17c}main{max-width:1280px;margin:auto;padding:32px 22px 65px}.intro{display:grid;grid-template-columns:1.8fr .8fr;gap:24px;align-items:stretch;margin:0 0 26px}.eyebrow,.kicker{font-size:10px;letter-spacing:.19em;color:#14838d;font-weight:800}h1{font-size:clamp(33px,4vw,58px);letter-spacing:-.065em;line-height:1.07;margin:12px 0 15px;max-width:700px}h2{font-size:23px;letter-spacing:-.03em;margin:5px 0 15px}h3{font-size:15px;margin:23px 0 12px}.lead{font-size:17px;line-height:1.6;max-width:650px}.muted,.hint{color:#637381;font-size:12px;line-height:1.7}.callout{background:#13293c;border:1px solid #2a4e5a;color:white;padding:23px 25px;border-radius:4px}.callout>b{font-size:10px;letter-spacing:.21em;color:#bbccda}.callout p{color:#c2d0da;font-size:12px;line-height:1.65}.status-text{font-weight:800;font-size:26px;letter-spacing:-.04em;margin:13px 0;color:#e4f7f8}.status-dot{font-size:12px;color:#29bdad}.tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid #dce4e9;margin-bottom:21px;scrollbar-width:thin}.tabs button{white-space:nowrap;border:0;border-bottom:3px solid transparent;background:transparent;color:#667887;font-size:12px;font-weight:750;letter-spacing:.03em;padding:16px 19px;cursor:pointer}.tabs button.active{color:#0c1b2a;border-bottom-color:#1a9aa6}.pane{display:none}.pane.active{display:block}.two{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}.panel{background:white;border:1px solid #e0e6ea;border-radius:4px;padding:25px;min-height:310px;box-shadow:0 2px 8px #0c1b2a05}.panelhead{display:flex;align-items:start;justify-content:space-between;gap:10px}.panel p{line-height:1.67}.controls,.buttonrow{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px}button,.fileBtn{font:700 12px Inter,system-ui,sans-serif;cursor:pointer;border-radius:3px;background:white;border:1px solid #a9bac3;color:#173449;padding:11px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:hover,.fileBtn:hover{background:#f1f5f7}button.primary,.fileBtn{background:#0c1b2a;color:#fff;border-color:#0c1b2a}button.primary:hover,.fileBtn:hover{background:#1a5260}button.danger{border-color:#ad5853;color:#a5443c}button:disabled{opacity:.5;cursor:not-allowed}#mesh{width:100%;height:auto;aspect-ratio:780/500;background:radial-gradient(circle at 50% 40%,#172e40,#081421);border:1px solid #263d52;touch-action:none;display:block;cursor:grab}.metrics{margin:4px 0 25px}.metrics>div,.decision{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #edf1f4;padding:13px 0;gap:12px}.metrics dt,.decision span{font-size:12px;color:#627687}.metrics dd{font-size:12px;margin:0;max-width:66%;text-align:right;font-weight:750;word-break:break-all}.mono{font-family:monospace;font-size:10px!important}.decision b{font-size:12px;letter-spacing:.06em}.alert{background:#f7f3e9;border-left:3px solid #b9914a;color:#5d513d;font-size:12px;padding:13px 16px;line-height:1.6}.inputgroup{display:flex;flex-direction:column;gap:9px;margin-top:20px}.inputgroup label,label{font-size:12px;color:#354d5d;font-weight:700}input:not([type=checkbox]),select{padding:13px 12px;border:1px solid #cbd7dd;border-radius:3px;background:white;color:#0c1b2a;font:inherit;font-size:13px;width:100%}.inputgroup small{font-size:11px;color:#738591}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.6;margin:10px 0;font-weight:500}.check input{margin-top:4px;accent-color:#148c94}.lenses{font-size:13px;line-height:2;color:#405968;padding-left:22px}.bar{margin-top:18px;height:5px;background:#e7ecee}.bar.good{background:linear-gradient(90deg,#179f9e,#a0d4ce)}.audit{max-height:450px;overflow:auto;background:#f5f8fa;padding:8px;border:1px solid #e8edf0}.event{padding:12px;border-bottom:1px solid #dde5e8;display:flex;align-items:start;justify-content:space-between;gap:10px}.event b{display:block;font-size:12px}.event span,.event small{font-size:11px;color:#657b89}.event .event-state{font-weight:800;color:#0d6670}.empty{padding:20px;color:#7a8a95;font-size:13px}#toast{position:fixed;bottom:20px;right:20px;background:#0c1b2a;color:#fff;padding:14px 19px;font-size:12px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s;max-width:380px;z-index:20}#toast.visible{opacity:1}footer{background:#0c1b2a;color:#cbd9df;font-size:10px;letter-spacing:.09em;padding:21px max(22px,calc((100vw - 1250px)/2));display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}@media(max-width:850px){.intro,.two{grid-template-columns:1fr}.headright .tag:last-child{display:none}.intro{gap:10px}main{padding:23px 14px}.panel{padding:18px}.tabs button{padding:14px 12px}.controls button,.fileBtn{flex:1}.mark{padding:1px 9px 5px;font-size:29px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* PIGA ORTHO 3D guided journey entry point */
.workflow-entry{margin:20px 0}.workflow-link{display:inline-block;background:#0c1b2a;border:1px solid #195b65;color:#fff;text-decoration:none;padding:15px 21px;border-radius:4px;line-height:1.5;font-weight:750;box-shadow:0 8px 22px rgba(12,27,42,.08)}.workflow-link:hover,.workflow-link:focus-visible{background:#13515a}.workflow-link small{display:block;color:#a9d2d5;font-size:11px;font-weight:500;margin-top:3px}

/* UHD STL viewing controls, adapt to existing page. */
.quality-chooser{display:inline-flex;align-items:center;gap:7px;font:750 12px system-ui;color:#4e8395}
.quality-chooser select{min-height:40px;padding:8px 12px;border-radius:10px;border:1px solid #b3dce8;color:#145d79;background:#f4fdff}
#export4k{border:1px solid #a4d5e5;border-radius:10px;background:#e6faff;color:#116d8c;padding:10px 13px;cursor:pointer}
#studio #mesh{display:block;width:100%;height:auto;aspect-ratio:780/500;touch-action:none;background:#e7faff;border-radius:15px;border:1px solid #c9e6ef}

/* GPU and Canvas2D share precisely the same calibrated pixel viewport. */
.mesh-stage{position:relative;width:100%;isolation:isolate;overflow:hidden;border-radius:9px}
.mesh-stage #mesh{width:100%;max-width:100%;display:block}
.mesh-stage #jawWebgl{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:1}
.mesh-stage #jawWebgl[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.mesh-stage *{scroll-behavior:auto!important}}

/* PIGA A7SEM upload usability: native picker stays visible on Android/keyboard. */
.piga-stl-chooser{display:grid;gap:7px;min-width:220px;flex:1 1 225px}
.piga-stl-chooser small{font-size:12px;line-height:1.45;color:#34596c}
.piga-stl-chooser input[type=file]{display:block;visibility:visible;max-width:100%;width:100%;font-size:13px;color:#214358;background:#f4fafb;border:1px solid #9fc8cf;border-radius:12px;padding:8px;min-height:46px;cursor:pointer}
.piga-stl-chooser input[type=file]::file-selector-button{background:#0b7385;color:#fff;border:0;border-radius:8px;padding:10px 13px;cursor:pointer}
.piga-upload-state{display:block;padding:12px 14px;background:#eff7f8;border:1px solid #b5d8df;border-radius:12px;color:#143d4c;font-weight:650;overflow-wrap:anywhere}
.piga-upload-state:empty{display:none}
@media(max-width:650px){.piga-stl-chooser{flex-basis:100%;min-width:0}}
