:root{--an-navy:#112e56;--an-blue:#2a65bd;--an-border:#d9e5f5;--an-muted:#7088a9;--an-bg:#f1f6fd;--an-white:#fff}
*{box-sizing:border-box}body.an-page{margin:0;background:var(--an-bg);color:var(--an-navy);font:14px/1.5 Inter,'Segoe UI',system-ui,sans-serif}.an-page button,.an-page select{font:inherit}.an-shell{margin-left:62px;min-height:100vh}.an-hero{padding:33px 38px 30px;background:linear-gradient(116deg,#123d78,#2664b9);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px}.an-kicker,.an-panel-title small,.an-stage-heading small{font-size:10px;font-weight:800;letter-spacing:2px;color:#84a5d4}.an-hero h1{font-size:clamp(23px,2.2vw,35px);line-height:1.22;margin:10px 0}.an-hero h1 em{color:#a0ccff;font-style:normal}.an-hero p{font-size:13px;margin:0;color:#dceaff;max-width:690px}.an-hero-stat{background:#ffffff22;border:1px solid #ffffff38;min-width:140px;text-align:center;border-radius:15px;padding:14px 22px}.an-hero-stat strong{display:block;font-size:35px}.an-hero-stat span{font-size:11px;color:#dceaff}.an-app-grid{display:grid;grid-template-columns:268px minmax(410px,1fr) 290px;max-width:1900px;margin:auto;min-height:calc(100vh - 170px)}.an-panel{background:#fff;padding:23px 16px}.an-left{border-right:1px solid var(--an-border)}.an-right{border-left:1px solid var(--an-border)}.an-panel-title h2,.an-stage-heading h2{font-size:19px;letter-spacing:-.45px;margin:5px 0 5px}.an-panel-title p{font-size:12px;color:var(--an-muted);margin:0 0 20px}.an-mode{display:grid;grid-template-columns:1fr 1fr;border-radius:11px;padding:4px;gap:4px;background:#edf3fc;margin-bottom:18px}.an-mode button{padding:10px 4px;border:0;background:transparent;color:#6682a6;border-radius:8px;font-weight:700;font-size:12px;cursor:pointer}.an-mode button.is-active{color:#fff;background:#2158a3;box-shadow:0 2px 6px #123d7828}.an-organs{display:grid;gap:9px}.an-organ{width:100%;text-align:left;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--an-border);border-radius:11px;padding:10px 9px;cursor:pointer;color:var(--an-navy)}.an-organ.is-selected{background:#e8f2ff;border-color:#5f9ce8;box-shadow:inset 3px 0 #276ac6}.an-organ.is-placed{background:#f0fbf5;border-color:#c3e9d0}.an-organ-dot{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;background:var(--c);color:#fff;font-size:12px;font-weight:800;box-shadow:inset 0 0 0 2px #ffffff50}.an-organ-text{display:flex;flex-direction:column;gap:1px}.an-organ-text strong{font-size:12px}.an-organ-text small{font-size:10px;color:#7c90ac}.an-progressbox{background:#f5f8fe;border:1px solid var(--an-border);border-radius:13px;padding:15px 11px;margin-top:20px}.an-progressheading{display:flex;justify-content:space-between;font-size:11px}.an-track{height:8px;border-radius:8px;background:#dfe9f6;margin:9px 0;overflow:hidden}.an-track div{height:100%;width:0;background:#3aaa78;transition:width .25s}.an-muted{color:var(--an-muted);font-size:11px}.an-side-links{border-top:1px solid var(--an-border);margin-top:22px;padding-top:15px;display:flex;flex-wrap:wrap;gap:8px}.an-side-links a{color:#215baf;text-decoration:none;font-size:11px;border:1px solid var(--an-border);padding:5px 8px;border-radius:8px}.an-center{min-width:0;padding:23px 24px}.an-stage-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:17px}.an-stage-actions{display:flex;gap:6px;flex-wrap:wrap}.an-stage-actions button,.an-toolbar button{border:1px solid var(--an-border);color:#245ba7;background:#fff;border-radius:9px;padding:9px 11px;font-weight:600;font-size:11px;cursor:pointer}.an-stage-actions button:hover,.an-toolbar button:hover{background:#eaf2fe}.an-stage{height:min(65vh,610px);min-height:410px;position:relative;border:1px solid #d8e4f2;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,#edf5ff,#ddeafa)}.an-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.an-stage canvas:active{cursor:grabbing}.an-stage-loading{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#6686b0;font-weight:700}.an-floating-tags{position:absolute;inset:0;pointer-events:none}.an-tag{position:absolute;transform:translate(-50%,-50%);font-size:10px;font-weight:800;padding:3px 7px;border:1px solid #9ab9ee;background:#f9fcffe8;color:#27559b;white-space:nowrap;border-radius:6px;box-shadow:0 2px 6px #314c7722}.an-tag.ok{background:#def8e8;border-color:#91d7ac;color:#207049}.an-stage-help,.an-stage-key{position:absolute;bottom:10px;z-index:3;background:#ffffffdc;border:1px solid #e1e9f5;border-radius:7px;padding:7px 9px;font-size:10px;color:#637fa7}.an-stage-help{left:12px;max-width:65%}.an-stage-key{right:12px;display:flex;gap:9px}.an-stage-key span{display:flex;align-items:center;gap:5px}.an-key-ring,.an-key-done{display:inline-block;border-radius:100%;width:9px;height:9px;border:2px solid #4c89cf}.an-key-done{background:#24aa7a;border:0}.an-dot{width:7px;height:7px;background:#27b489;border-radius:50%;display:inline-block;margin-right:5px}.an-toolbar{margin-top:13px;display:flex;flex-wrap:wrap;gap:8px}.an-toolbar .an-danger-outline{color:#b15767;border-color:#e7ccd3}.an-feedback{font-size:12px;color:#2b618a;background:#e4f0ff;border-left:3px solid #4489e8;padding:10px 12px;border-radius:5px;margin-top:13px;min-height:40px}.an-feedback.is-error{color:#9b4755;background:#fff0f2;border-color:#d97c87}.an-feedback.is-ok{color:#20754f;background:#eafaf0;border-color:#29a773}.an-info{background:#f5f8fc;border:1px solid var(--an-border);padding:16px;border-radius:12px;margin:14px 0}.an-info-icon{width:42px;height:42px;border-radius:12px;background:#326cc1;color:#fff;display:grid;place-items:center;font-weight:900}.an-info h3{font-size:18px;margin:10px 0 5px}.an-pill{display:inline-block;background:#e1ebf8;color:#3a689f;padding:2px 9px;border-radius:20px;font-size:10px}.an-info p,.an-instruction small,.an-caution p{font-size:12px;color:#6d82a1;line-height:1.7}.an-instruction{padding:14px 0;border-bottom:1px solid var(--an-border)}.an-instruction strong{display:block;font-size:12px;margin-bottom:8px}.an-instruction label{font-size:11px;display:block;margin-bottom:5px}.an-instruction select{width:100%;padding:10px;border:1px solid var(--an-border);border-radius:9px;background:#fff;color:var(--an-navy)}.an-primary{background:#235dad;color:#fff;border:0;border-radius:8px;padding:12px;width:100%;margin:10px 0;cursor:pointer;font-weight:700}.an-instruction small{display:block;font-size:10px}.an-result{padding:20px 0;border-bottom:1px solid var(--an-border)}.an-result-top{display:flex;justify-content:space-between;align-items:center}.an-result-top span{font-size:10px;background:#eaf2ff;color:#2666b8;padding:3px 7px;border-radius:6px}.an-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.an-result-grid div{border:1px solid var(--an-border);border-radius:9px;padding:12px 5px;text-align:center}.an-result-grid strong{font-size:23px;display:block}.an-result-grid span{font-size:10px;color:var(--an-muted)}.an-caution{border:1px solid #f3dfb2;background:#fff8eb;color:#8a6732;border-radius:12px;padding:12px;margin-top:18px}.an-caution strong{font-size:12px}.an-caution p{color:#9b8054;margin:7px 0}.an-caution a{color:#1e5baa}.an-caution ul{padding-left:17px;margin:7px 0}.an-caution li{font-size:11px}.an-caution a:hover{text-decoration:underline}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:1180px){.an-app-grid{grid-template-columns:240px minmax(380px,1fr)}.an-right{grid-column:2;border-top:1px solid var(--an-border);border-left:none;display:grid;grid-template-columns:1fr 1fr;gap:14px}.an-right .an-panel-title{grid-column:1/-1}.an-result,.an-caution{grid-column:1/-1}}@media(max-width:760px){.an-shell{margin-left:0}.an-hero{padding:72px 17px 22px}.an-hero-stat{display:none}.an-app-grid{display:block}.an-left{padding:17px}.an-organs{grid-template-columns:repeat(2,minmax(0,1fr))}.an-organ{padding:8px 5px}.an-organ-dot{width:27px;height:27px;flex-basis:27px}.an-center{padding:18px 12px}.an-stage{height:60vh;min-height:370px}.an-stage-heading{display:block}.an-stage-actions{margin-top:9px}.an-stage-help{max-width:68%}.an-right{display:block}.an-toolbar button{flex:1 1 40%}}@media(prefers-reduced-motion:reduce){.an-track div{transition:none}}

/* V0.7 R1 · skeletal anatomy layer controls */
.an-layer-panel{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:11px 13px;margin-bottom:12px;border:1px solid #d4e4f6;background:#fff;border-radius:12px}
.an-layer-tabs{display:flex;gap:3px;flex-wrap:wrap;padding:3px;border-radius:9px;background:#edf3fc}
.an-layer-tabs button{border:0;background:transparent;color:#4a6d9b;padding:8px 12px;font-weight:700;font-size:11px;border-radius:7px;cursor:pointer}
.an-layer-tabs button.is-active{color:#fff;background:#245eaa;box-shadow:0 2px 6px #173b6e28}
.an-layer-tabs button:focus-visible,.an-opacity input:focus-visible{outline:2px solid #2768cc;outline-offset:2px}
.an-opacity{display:flex;align-items:center;gap:9px;color:#385d91;font-size:11px;font-weight:700;white-space:nowrap}
.an-opacity input{width:110px;accent-color:#2669be;cursor:pointer}
.an-opacity output{min-width:30px;text-align:right;font-variant-numeric:tabular-nums}
.an-layer-status{font-size:10px;color:#6480a4;flex:1;min-width:170px;text-align:right}
.an-stage{height:min(76vh,740px);min-height:530px}
.an-stage canvas{touch-action:none}
@media(max-width:920px){.an-layer-status{text-align:left;min-width:0}.an-stage{min-height:520px}}
@media(max-width:760px){.an-layer-panel{padding:10px;gap:8px}.an-layer-tabs{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.an-layer-tabs button{padding:9px 3px}.an-opacity{flex:1}.an-stage{height:67vh;min-height:480px}}

/* V0.7 R4 · Professional Anatomy Visualization: accessible camera presets & decluttered callouts */
.an-focus-panel{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 11px;padding:9px 12px;border:1px solid #d4e4f6;background:#fff;border-radius:11px}
.an-focus-panel>span{color:#57769d;font-size:11px;font-weight:800;margin-right:3px}
.an-focus-panel>button{border:1px solid #d4e3f5;background:#f5f9ff;color:#2f5b9a;padding:7px 12px;font-weight:700;font-size:11px;border-radius:8px;cursor:pointer}
.an-focus-panel>button.is-active,.an-focus-panel>button:hover{background:#245eaa;color:white;border-color:#245eaa}
.an-label-toggle{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:11px;font-weight:650;color:#47658c;cursor:pointer}
.an-label-toggle input{accent-color:#245eaa}
.an-tag{z-index:6;font-size:11px;padding:5px 9px;border:1px solid #bed1e9;color:#174e86;background:#ffffffed;box-shadow:0 4px 16px #123b6533;transition:background .12s}
.an-tag.is-selected{border-color:#2d7cce;background:#e8f4ff;box-shadow:0 0 0 2px #d4eafe,0 5px 17px #214a8033}
.an-tag:before{content:"";position:absolute;left:50%;bottom:-8px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #fff;transform:translateX(-50%)}
.an-stage-indicator{position:absolute;top:12px;left:12px;z-index:3;max-width:min(360px,70%);font-size:11px;font-weight:700;color:#23599b;background:#ffffffdd;border:1px solid #d7e6f6;border-radius:9px;padding:9px 12px;pointer-events:none}
.an-stage{background:linear-gradient(170deg,#eaf2fc 0%,#e7f1fb 55%,#dae9f6 100%)}
.an-focus-panel button:focus-visible,.an-stage-actions button:focus-visible,.an-label-toggle input:focus-visible{outline:2px solid #2868c8;outline-offset:2px}
@media(max-width:760px){.an-focus-panel{padding:9px 8px;gap:6px}.an-label-toggle{width:100%;margin-left:0}.an-focus-panel>button{flex:1 1 auto;padding:8px 7px}.an-stage-indicator{font-size:10px}}

.an-legacy-label{font-size:10px;color:#7291b7;font-weight:600;margin-left:6px;white-space:nowrap}

/* R5: Real anatomical GLB preview; control scopes are under the anatomy viewer. */
.an-real-panel{margin:8px 0 10px;border:1px solid #c9dbf0;background:#f4f8ff;padding:10px;border-radius:12px;font-size:12px;color:#335678}
.an-real-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.an-real-main button{border:1px solid #a7c3e5;background:#fff;color:#22529b;border-radius:8px;padding:9px 12px;font-weight:700;cursor:pointer}
.an-real-main button:disabled{opacity:.55;cursor:not-allowed}
#an-real-status.is-error{color:#9f5028}
.an-real-calibration{margin-top:8px;line-height:1.6}
.an-real-controls{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.an-real-controls label{display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.an-real-controls input{width:112px}
.an-real-calibration small{display:block;color:#6d7f9b}
.an-attribution{font-size:11px;color:#55759a;padding:4px 2px 8px}
.an-attribution a{color:#255aa7}

/* R6: GLB organ status, visual-only calibration, snap assistance */
.an-organ-r6-panel{background:#fff;border:1px solid #caddf1;border-radius:12px;padding:12px;margin-bottom:12px;color:#224b80;font-size:11px}
.an-r6-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.an-r6-top strong{font-size:12px}
#an-organs-status{color:#117b57;font-weight:700}#an-organs-status.is-warning{color:#aa6e2a}
.an-r6-grid{display:flex;gap:15px;align-items:flex-start;flex-wrap:wrap;margin-top:9px}
.an-r6-grid>label{display:flex;align-items:center;gap:8px;font-weight:700}
.an-r6-grid input{accent-color:#2e6ab5}
.an-r6-calibration{flex:1;min-width:min(310px,100%);padding:5px 8px;background:#f4f8fd;border-radius:8px}
.an-r6-calibration summary{cursor:pointer;font-weight:800}
.an-r6-sliders{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:9px 0}
.an-r6-sliders label{display:grid;gap:3px;font-size:10px}
.an-r6-sliders input{width:105px}
#an-org-reset{background:white;border:1px solid #bad0e8;border-radius:8px;color:#245b9b;padding:6px 9px;cursor:pointer}
.an-r6-calibration small{display:block;color:#677f9f;padding:4px 0}
.an-r6-calibration p{margin:8px 0;color:#4b6b91}
.an-organ-r6-panel :focus-visible{outline:2px solid #2670c8;outline-offset:2px}

/* R7 accessible calibration controls */
.an-calibration-note{background:#e8f2fd;border-left:3px solid #4b88c7;padding:7px 9px;border-radius:6px;color:#3c628d}
#an-cal-reset-all{background:#fff;border:1px solid #e0bfbd;border-radius:8px;color:#a35250;padding:6px 9px;cursor:pointer;margin-left:6px}
.an-r7-autofocus{display:flex;gap:6px;align-items:center;font-weight:650;white-space:normal}
.an-r7-autofocus input{accent-color:#2866b9}
@media(max-width:760px){.an-r7-autofocus{flex-basis:100%}}

/* R8 Anatomy Calibration Studio - scoped, responsive. */
.an-r8-studio{border:1px solid #bcd4ed;border-radius:14px;background:linear-gradient(130deg,#fff,#f2f8ff);padding:15px;margin:12px 0;color:#193e6b}
.an-r8-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.an-r8-heading small{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#5483b7}
.an-r8-heading h3{font-size:16px;margin:4px 0}
.an-r8-heading p{font-size:11px;max-width:650px;line-height:1.6;color:#5a7797;margin:5px 0}
.an-r8-note{font-size:10px;white-space:nowrap;border-radius:99px;padding:4px 9px;border:1px solid #b6d2ed;background:white;color:#37669e}
.an-r8-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:11px 0}
.an-r8-actions button,.an-r8-import{font-size:11px;color:#215791;border:1px solid #c0d5ed;background:white;border-radius:8px;padding:9px 11px;cursor:pointer;font-weight:700}
.an-r8-actions button:first-child{background:#2361ae;color:white;border-color:#2361ae}
.an-r8-persist{border-top:1px solid #d9e7f6;padding-top:11px}
.an-r8-persist button:first-child{background:#e7f5ec;color:#137345;border-color:#a5d9b8}
.an-r8-actions button:disabled{opacity:.45;cursor:not-allowed}
.an-r8-import{display:inline-flex;align-items:center;cursor:pointer}.an-r8-import input{width:1px;height:1px;opacity:0;position:absolute;pointer-events:none}
.an-r8-plan{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px}
.an-r8-item{border:1px solid #d5e5f5;border-radius:8px;background:#fff;padding:9px;display:grid;gap:3px}
.an-r8-item strong{font-size:11px}.an-r8-item span{font-size:10px;color:#607f9f}
.an-r8-message{font-size:11px;color:#355c85;background:#e9f3fe;border-left:3px solid #4c8ece;padding:9px;border-radius:5px;margin:8px 0 0}
.an-r8-message.is-error{color:#a1464f;background:#fff1f2;border-color:#d34d67}
.an-r8-studio :focus-visible{outline:2px solid #2874ce;outline-offset:2px}
@media(max-width:760px){.an-r8-studio{padding:10px}.an-r8-note{white-space:normal}.an-r8-actions button{flex:1 1 auto}.an-r8-heading{flex-direction:column;gap:4px}}
