:root{font-family:Inter,Arial,sans-serif;color:#e7edf5;background:#10161f;color-scheme:dark;font-size:16px;--muted:#96a4b7;--line:#2c3746;--accent:#69d9d1}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select{background:#1c2735;border:1px solid #354252;color:#edf4fb;border-radius:6px;padding:9px 12px;font-size:.875rem}button{cursor:pointer}button:hover{background:#2a3b4e}button:disabled{opacity:.45;cursor:default}button.active,.primary{background:var(--accent);color:#102326;border-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,#stage:focus-visible{outline:2px solid var(--accent);outline-offset:3px}header{min-height:90px;padding:19px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px;font-size:.875rem;letter-spacing:.12em;font-weight:700}.brandmark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--accent);color:var(--accent);font-family:Georgia,serif;font-size:30px}.brand small{display:block;font-weight:400;color:var(--muted);font-size:.875rem;letter-spacing:0;margin-top:6px}.header-actions{display:flex;gap:9px;align-items:center}.badge{font-size:.75rem;letter-spacing:.08em;color:var(--accent);margin-right:12px}main{display:grid;grid-template-columns:minmax(0,1fr) 350px;min-height:calc(100dvh - 132px)}.workspace{padding:20px;min-width:0;background:#111a25;display:flex;flex-direction:column}.toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.tools{display:flex;gap:5px;align-items:center}#stage{position:relative;min-height:380px;height:calc(100dvh - 300px);flex:1;background:#030608;overflow:hidden;border:1px solid #2b3645;border-radius:8px;touch-action:none}canvas{display:block;width:100%;height:100%}.viewer-top,.viewer-bottom{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;gap:10px;pointer-events:none;font-size:.8125rem;color:#a9b9c9;letter-spacing:.02em}.viewer-top{top:18px}.viewer-top b{color:#e4edf7;font-weight:400;margin-left:10px}.viewer-bottom{bottom:18px}.orientation{position:absolute;color:#a6b3c2;font-size:.875rem;pointer-events:none}.right{left:20px;top:49%}.left{right:20px;top:49%}.anterior{top:18px;left:50%}.posterior{bottom:18px;left:50%}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:12px 18px;background:#1c2735;border-radius:6px;max-width:85%;text-align:center}input[type=range]{accent-color:var(--accent);min-width:0}input[type=checkbox]{accent-color:var(--accent)}.scrubber{display:flex;align-items:center;gap:14px;margin:16px 0 10px}.scrubber input{flex:1}.scrubber output{min-width:90px;text-align:right;font-size:.875rem;font-variant-numeric:tabular-nums}.window-controls{display:flex;gap:24px;font-size:.875rem;color:var(--muted)}.window-controls label{display:flex;align-items:center;gap:10px;flex:1}.window-controls input{width:100%}aside{border-left:1px solid var(--line);padding:25px 22px;display:flex;flex-direction:column;max-height:calc(100dvh - 132px);overflow:auto}.eyebrow{font-size:.75rem;color:var(--accent);letter-spacing:.14em}h1{font-size:1.8rem;letter-spacing:-.04em;font-weight:500;margin:12px 0 8px}.panel-title p{color:var(--muted);font-size:.875rem;line-height:1.5;margin:0 0 22px}.switches{display:flex;justify-content:space-between;gap:10px;font-size:.875rem;margin-bottom:20px}input[type=search],input[type=text],input:not([type]),textarea{width:100%;background:#161f2c;border:1px solid var(--line);border-radius:6px;padding:11px;color:#edf4fb}input::placeholder,textarea::placeholder{color:#93a3b7}.filter-row{display:flex;align-items:center;gap:8px;margin-top:10px}.filter-row select{max-width:175px;flex:1}.filter-row label{font-size:.8125rem;white-space:nowrap}.list-heading{display:flex;justify-content:space-between;font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin:25px 0 10px}#labels{min-height:100px;flex:1}.structure{width:100%;display:flex;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:12px 3px;gap:10px;line-height:1.4}.structure.selected{background:#173633}.structure .dot{width:8px;height:8px;flex-shrink:0;border-radius:50%}.structure .name{flex:1}.structure small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.structure .slice-ref{font-size:.75rem;color:var(--muted)}.empty{padding:18px 0;color:var(--muted);font-size:.875rem;line-height:1.6}#detail{background:#182a33;border:1px solid #31565a;padding:14px;margin-top:16px;border-radius:6px;font-size:.875rem;line-height:1.5}#detail h3{margin:0;font-size:1rem}#detail p{white-space:pre-wrap}#detail button{margin-right:6px;margin-top:6px}.annotation-note{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:.8125rem;line-height:1.6;color:var(--muted)}.annotation-note strong{color:#d4e1ee;font-weight:500}.annotation-note p{margin:8px 0}.annotation-note p:last-child{font-size:.75rem}footer{min-height:42px;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 24px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}footer span:first-child{letter-spacing:.08em}.muted{color:#536174;margin:0 9px}dialog{background:#151f2b;border:1px solid #425266;color:#e7edf5;border-radius:12px;padding:24px;width:min(460px,90vw)}dialog::backdrop{background:#000a}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-heading h2{margin:0;font-size:1.35rem}form>label{display:block;font-size:.875rem;margin:15px 0}form>label>input:not([type=checkbox]),form>label>select,form>label>textarea{display:block;width:100%;margin-top:7px}.review-check{display:flex;align-items:center;gap:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1500px){main{grid-template-columns:minmax(0,1fr) 390px}.workspace{padding:24px 30px}}@media(max-width:1000px){main{grid-template-columns:minmax(0,1fr) 300px}.workspace{padding:12px}aside{padding:20px 16px}.badge{display:none}.toolbar button,.toolbar select{padding:8px}header{padding:16px 18px}}@media(max-width:760px){header{flex-wrap:wrap;gap:14px}.brand{font-size:.8125rem}main{display:flex;flex-direction:column}.workspace{padding:12px}#stage{height:60dvh;min-height:330px}.toolbar{gap:8px}aside{max-height:none;border-left:0;border-top:1px solid var(--line)}#labels{max-height:300px;overflow:auto}.window-controls{gap:12px}.header-actions button{font-size:.8125rem;padding:7px 10px}footer{flex-wrap:wrap;padding:12px}#modeHint{max-width:75%;font-size:.75rem}.posterior{bottom:40px}}

#exportDialog{width:min(640px,94vw);max-height:90dvh;overflow:auto}#exportDialog p{font-size:.875rem;line-height:1.6}#exportDialog .dialog-actions{justify-content:flex-start;margin:16px 0}#exportText{display:block;width:100%;margin-top:8px;font-family:monospace;font-size:.8125rem}#exportFeedback{color:var(--accent);min-height:1.5em}.export-help{color:var(--muted)}

#importDialog{width:min(640px,94vw);max-height:90dvh;overflow:auto}#importDialog p{font-size:.875rem;line-height:1.6}#importDialog>label{display:block;margin:18px 0 8px;font-size:.875rem}#importFile{display:block;width:100%;margin-bottom:14px}#importText{display:block;width:100%;font-family:monospace;font-size:.8125rem;margin:8px 0}#importMode{width:100%}#importFeedback{color:var(--accent);min-height:1.5em}#importFeedback.error{color:#ffb2b2}

.track-controls{margin:0 0 14px;padding:12px;border:1px solid #314457;border-radius:8px;background:#101e2b}.track-controls label{display:flex;align-items:center;gap:8px;font-size:14px}.track-controls button{margin-top:10px;width:100%}.track-controls p{font-size:13px;line-height:1.5;color:#b6c7d5;margin:8px 0 0}

.track-controls select{width:100%;margin-top:10px;font-size:14px}

#loading.buffer-notice{top:48px;right:12px;left:auto;transform:none;max-width:65%;padding:6px 10px;font-size:13px;background:#1c2735eb}

#anatomyFocus{width:100%;margin-bottom:12px}
html{scrollbar-gutter:stable}#view{visibility:hidden;position:absolute;inset:0;width:100%;height:100%}

#regionNotice{margin:0;padding:8px 14px;color:#bdcbd7;background:#101e2b;font-size:14px;line-height:1.4}
#regionNotice[hidden]{display:none}

#regionEditBar{padding:12px 16px;background:#173633;border-bottom:1px solid #69d9d1;font-size:14px}#regionEditBar[hidden]{display:none}#regionEditBar p{margin:6px 0 10px;color:#deece9}#regionEditBar button{margin-right:8px}

#outlineFeedback{margin:0;padding:12px 16px;background:#173633;color:#ddfff4;font-size:14px}#outlineFeedback[hidden]{display:none}#outlineFeedback.error{background:#471d29;color:#ffe1e6}.space-extension{padding:12px;border:1px solid #294152;border-radius:8px;margin-bottom:14px}.space-extension label{display:block;font-size:14px;margin-bottom:6px}.space-extension select,.space-extension button{width:100%}#spaceRange{font-size:14px;color:#aebfcc;margin:8px 0;line-height:1.4}

#openAnatomy,#closeAnatomy,#anatomyBackdrop,#mobileLegend{display:none}
@media(max-width:760px){
 body{overflow-x:hidden}body.anatomy-open{overflow:hidden}
 header{min-height:0;padding:12px;gap:10px}.brandmark{width:32px;height:32px;font-size:24px}.brand small{font-size:14px}.header-actions{margin-left:auto}.header-actions button{min-height:44px;font-size:14px}
 .workspace{padding:8px;display:block}.toolbar{margin:8px 0;gap:8px}.tools{flex-wrap:wrap;gap:6px;max-width:100%}.toolbar button,.toolbar select{min-height:44px;padding:8px 10px;font-size:14px}.toolbar .tools:first-child{width:100%}.toolbar .tools:first-child button{flex:1;white-space:nowrap}
 #openAnatomy{display:block;width:100%;min-height:44px;color:#102326;background:var(--accent);font-size:16px}
 #stage{height:52svh;min-height:280px;max-height:620px;width:100%;flex:none}.viewer-top,.viewer-bottom{left:12px;right:12px;font-size:14px}.viewer-top{top:10px}.viewer-bottom{bottom:10px}#modeHint{font-size:12px;max-width:78%}.orientation.anterior{top:32px}.orientation.posterior{bottom:32px}
 .scrubber{gap:8px;margin:8px 0}.scrubber button{min-width:48px;min-height:48px}.scrubber output{min-width:70px;font-size:14px}.scrubber input{height:44px}
 #mobileLegend{display:flex;gap:6px;flex-wrap:wrap;max-height:150px;overflow:auto;padding:4px 0 10px;overscroll-behavior:contain}.mobile-label{min-height:44px;text-align:left;flex:1 1 140px;border-left:4px solid;line-height:1.35;font-size:14px}.mobile-label.selected{background:#173633}#mobileLegend p{margin:4px 8px;font-size:14px;color:#bdcbd7}
 .window-controls{flex-wrap:wrap;gap:8px}.window-controls label{min-width:130px;min-height:44px}.window-controls input{height:44px}
 aside{display:none}body.anatomy-open aside{display:flex;position:fixed;z-index:30;inset:10svh 0 0;max-height:90svh;padding:12px 16px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:#10161f;overflow:auto;overscroll-behavior:contain;box-shadow:0 -10px 50px #0008}
 #closeAnatomy{display:block;position:sticky;top:0;z-index:2;flex-shrink:0;min-height:48px;margin-bottom:14px;background:#254a4c;font-size:16px}
 body.anatomy-open #anatomyBackdrop{display:block;position:fixed;inset:0;z-index:29;border:0;border-radius:0;background:#0009;width:100%;height:100%}
 aside button,aside select,aside input[type=search]{min-height:44px}aside input,aside select,dialog input,dialog select,dialog textarea{font-size:16px}aside label{line-height:1.5}.switches label,.track-controls label{min-height:44px;display:flex;align-items:center}.switches input,.track-controls input{width:20px;height:20px;flex-shrink:0}#labels{max-height:none;overflow:visible}#detail{scroll-margin-top:68px}#detail button{min-height:44px}#regionEditBar{position:sticky;top:0;z-index:10;border-radius:8px;scroll-margin-top:8px}#regionEditBar button{min-height:48px;margin-top:6px}.panel-title h1{font-size:24px;margin:6px 0}.panel-title p{margin-bottom:12px}#outlineFeedback{font-size:14px}
 dialog{max-height:90svh;overflow:auto;padding:16px;width:94vw}dialog button{min-height:44px}.dialog-actions{flex-wrap:wrap}footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){header{display:block}.header-actions{margin-top:10px}.toolbar button{padding:8px 6px}.toolbar .tools{gap:4px}.scrubber{gap:5px}}
@media(max-width:760px) and (orientation:landscape){#stage{height:76svh;max-height:none}}

body[data-mode="readonly"] [data-editing-only],body[data-mode="readonly"] .editing-only{display:none!important}

body[data-mode="readonly"] main{display:grid;grid-template-columns:minmax(0,1fr) 280px}
body[data-mode="readonly"] #openAnatomy,body[data-mode="readonly"] #anatomyBackdrop{display:none!important}
.shared-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.shared-controls .switches{margin:0;gap:16px}.shared-controls #anatomyFocus{width:auto;min-width:180px;margin:0}.shared-controls label{display:flex;align-items:center;gap:6px;min-height:44px}
@media(max-width:760px){#mobileLegend{display:none}#stage{max-height:none}.shared-controls{gap:8px}.shared-controls #anatomyFocus{width:100%;font-size:16px;min-height:44px}.shared-controls .switches{width:100%;justify-content:flex-start}.shared-controls input{width:20px;height:20px}}

/* Separate browsing from editing controls; prevent narrow sidebar content from colliding. */
#anatomyPanel{gap:14px;min-width:0;padding:20px 18px}
#anatomyPanel>*{flex-shrink:0;min-width:0}
#anatomyPanel [hidden]{display:none!important}
.sidebar-heading h1,.shared-sidebar h1{font-size:22px;letter-spacing:0;margin:0 0 6px}
.sidebar-heading p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}
.anatomy-filters{display:flex;flex-direction:column;gap:8px;min-width:0}
.control-label{display:block;font-size:14px;line-height:1.5}
.anatomy-filters #anatomyFocus{width:100%;margin:0 0 6px;min-width:0}
.anatomy-filters input{min-width:0}
.sidebar-options{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.sidebar-options summary{cursor:pointer;padding:12px;font-size:14px;line-height:1.5}
.option-content{display:flex;flex-direction:column;gap:10px;padding:0 12px 12px;font-size:14px}
.option-content label{display:flex;align-items:center;gap:8px;line-height:1.5}
.option-content .switches{flex-direction:column;margin:0}
.option-content p{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.sidebar-options .space-extension{border:0;margin:0;padding-top:0}
#anatomyPanel .list-heading{margin:2px 0 0}
#anatomyPanel #labels{flex:none;max-height:360px;overflow:auto;min-height:0}
.structure .name{min-width:0;overflow-wrap:anywhere}.structure .slice-ref{flex-shrink:0}
#anatomyPanel #detail{margin:0;overflow-wrap:anywhere}#detail button{white-space:normal}
/* The image viewport never grows with the number of anatomy labels. */
#stage{height:clamp(380px,calc(100svh - 300px),850px);min-height:380px;max-height:850px;flex:none;contain:size layout}
#mobileLegend{display:flex;gap:6px;flex-wrap:wrap;max-height:160px;overflow:auto;padding:8px 0;overscroll-behavior:contain}
#mobileLegend[hidden]{display:none}
.mobile-label{min-height:44px;text-align:left;flex:1 1 160px;border-left:4px solid;line-height:1.35;font-size:14px}
.mobile-label.selected{background:#173633}
body[data-mode="readonly"] #anatomyPanel.shared-sidebar{display:flex;position:static;max-height:none;box-shadow:none;border-radius:0}
@media(max-width:760px){
 body[data-mode="readonly"] main{display:flex;flex-direction:column}
 #stage{height:clamp(280px,48svh,480px);min-height:280px;max-height:480px}
 header{padding:8px 12px}.brand small{display:none}.toolbar{margin:6px 0}
 body[data-mode="readonly"] #anatomyPanel.shared-sidebar{order:-1;border:0;border-bottom:1px solid var(--line);padding:12px;gap:8px}
 .shared-sidebar .anatomy-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
 .shared-sidebar .control-label[for="anatomyFocus"]{grid-column:1;grid-row:1}
 .shared-sidebar #anatomyFocus{grid-column:1;grid-row:2;margin:0}
 .shared-sidebar .control-label[for="search"]{grid-column:2;grid-row:1}
 .shared-sidebar #search{grid-column:2;grid-row:2}
 #anatomyPanel #labels{max-height:320px}
}

.category-picker{border:1px solid #425163;border-radius:8px;background:#17212e;color:#f0f4fa}.category-picker summary{padding:10px 12px;cursor:pointer;font-size:14px}.category-picker fieldset{border:0;margin:0;padding:0 8px 8px;display:grid;gap:2px}.category-picker label{display:flex;align-items:center;gap:10px;min-height:40px;padding:4px 6px;font-size:14px;cursor:pointer}.category-picker input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;accent-color:#50c8e8}.category-picker summary:focus-visible,.category-picker input:focus-visible{outline:2px solid #50c8e8;outline-offset:3px}

.atlas-support{display:flex;gap:6px;justify-content:flex-end;padding:6px 12px;background:#111b28;border-bottom:1px solid #344052;flex-wrap:wrap}.atlas-support button{font-size:14px;padding:6px 12px;min-height:36px}.atlas-info{width:min(540px,calc(100vw - 24px));max-height:85dvh;overflow:auto;box-sizing:border-box;font-size:16px;line-height:1.5}.atlas-info::backdrop{background:rgba(0,0,0,.7)}.atlas-info li{margin-bottom:12px}.atlas-info label{display:block;margin:12px 0 5px}.atlas-info input,.atlas-info select,.atlas-info textarea{width:100%;box-sizing:border-box;font-size:16px}.atlas-beta-note{border-left:3px solid #69d9d1;padding-left:12px}.atlas-feedback-actions{display:flex;gap:8px;flex-wrap:wrap}.atlas-info [hidden]{display:none!important}

/* Rad Maps typographic monogram, matching the atlas accent. */
.brand .brandmark{width:46px;height:46px;flex-shrink:0;border:1px solid var(--accent);border-radius:10px;font-family:Inter,Arial,sans-serif;font-size:19px;font-weight:800;letter-spacing:-.1em;padding-right:2px;background:#173633;box-shadow:inset 0 0 0 3px #10161f}
.brand-name{font-size:1rem;letter-spacing:.16em}.brand-name small{letter-spacing:0}
@media(max-width:760px){.brand .brandmark{width:38px;height:38px;font-size:16px}}

#preparation{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#0c1520;padding:24px;text-align:center;cursor:default}#preparation[hidden]{display:none}.preparation-content{width:min(100%,360px)}.preparation-content h2{font-size:1.3rem;font-weight:600;margin:0 0 12px}.preparation-content p{font-size:14px;color:var(--muted);line-height:1.6}.preparation-content progress{width:100%;height:10px;accent-color:var(--accent);margin-top:12px}#preparationCount{font-variant-numeric:tabular-nums}

.feedback-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
