*{box-sizing:border-box}html{color-scheme:dark}[hidden]{display:none!important}:root{--bg:#101214;--panel:#191e21;--line:#303b40;--muted:#8b9da5;--text:#e3ebed;--accent:#58d9c1}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}.tools-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,280px);gap:10px;align-items:stretch}.tool-panels{min-width:0}.diameter-panel{padding:16px;display:flex;flex-direction:column;gap:15px;min-width:0;margin-bottom:10px}.diameter-panel .control{font-size:13px;color:var(--text);font-weight:600}.diameter-panel .range-row{margin-top:8px}.diameter-panel input[type=range]{width:100%}.diameter-panel output{min-width:42px;text-align:right;white-space:nowrap}.sampling-preview{flex:1 1 130px;min-height:140px;max-height:230px;position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent,transparent 19px,#263337 20px),repeating-linear-gradient(90deg,#141c1e,#141c1e 19px,#263337 20px);border:1px solid #344247;border-radius:6px;display:grid;place-items:center}.sampling-preview #samplingCircle{width:0;height:0;border:2px solid #77b9ff;border-radius:50%;background:#5284bd44;box-shadow:0 0 0 1px #558bd044;flex:none}.diameter-panel p{font-size:11px;color:var(--muted);line-height:1.4;margin:0}.diameter-panel #samplingPlane{color:#a3c6d9}.tool-panels .marker-panel,.tool-panels .morph-panel{margin-bottom:10px}@media(max-width:1000px){.tools-layout{grid-template-columns:minmax(0,1fr) 230px}}@media(max-width:720px){.tools-layout{grid-template-columns:1fr}.diameter-panel{min-height:260px}}.global-panel,.marker-panel,.morph-panel{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px 20px;padding:14px 16px;margin-bottom:10px}.global-panel{align-items:center}.global-panel .history-actions{margin-left:auto}.marker-panel,.morph-panel{background:#191f22}.panel-title{flex:0 0 100%;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.panel-title strong{font-size:14px}.panel-title small{font-size:11px;color:var(--muted)}.marker-panel #adaptiveStatus,.morph-panel #morphStatus{flex:0 0 100%;min-height:18px;color:#b5cbc9;font-size:11px;overflow-wrap:anywhere}.morph-settings{display:flex;align-items:end;flex:1 1 380px;gap:10px;flex-wrap:wrap;min-height:80px}.morph-settings .control{min-width:120px}.window-controls.panel{display:flex;gap:12px;align-items:center;padding:10px 13px;margin-top:10px}.marker-panel .proposal-actions{align-self:center;flex-wrap:wrap}.morph-panel .proposal-actions{flex-wrap:wrap}.global-panel .radius-control{min-width:250px}.tool-buttons{display:flex;flex-direction:column;gap:5px;margin:0;padding:0;border:0;min-width:185px}.tool-buttons legend{font-size:11px;color:var(--muted);margin-bottom:4px}.tool-buttons label{display:block;position:relative;cursor:pointer}.tool-buttons input{position:absolute;opacity:0;width:1px;height:1px}.tool-buttons span{display:block;border:1px solid #3a484e;border-radius:6px;background:#20282c;padding:8px 11px;white-space:nowrap}.tool-buttons label:hover span{border-color:#718e91}.tool-buttons input:checked+span{border-color:var(--accent);background:#17302e;color:#b9f5e9;font-weight:650}.tool-buttons input:focus-visible+span{outline:2px solid #88efdd;outline-offset:2px}button,.upload,select,input[type=number]{border:1px solid #3a484e;border-radius:5px;background:#20282c;color:var(--text)}button,.upload{padding:7px 11px;cursor:pointer;white-space:nowrap}button:hover,.upload:hover{border-color:#718e91;background:#2a3538}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#092b29;font-weight:650}.primary:hover{background:#7be8d2;border-color:#7be8d2}select,input[type=number]{min-height:32px;padding:5px 8px;min-width:0}input[type=range]{accent-color:var(--accent);min-width:0;cursor:pointer}:is(button,select,input,summary,a):focus-visible,.upload:focus-within{outline:2px solid #88efdd;outline-offset:3px}a{color:#b6d4d1;text-decoration:none}a:hover{text-decoration:underline;color:var(--accent)}.site-header{min-height:48px;border-bottom:1px solid #2d3539;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(16px,2.35vw,36px)}.brand{font-size:15px;font-weight:550;white-space:nowrap}.experiment{font-size:11px;margin-left:11px;color:#a8d8cd;border:1px solid #31564f;background:#172925;padding:3px 7px;border-radius:4px;font-weight:500}.header-right{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px;white-space:nowrap}.privacy{color:#a9b8ba}.header-divider{height:17px;border-left:1px solid var(--line)}main{max-width:1740px;margin:auto;padding:18px clamp(16px,2.35vw,36px) 32px}.workspace-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.workspace-top h1{font-size:18px;font-weight:550;letter-spacing:-.02em;margin:0}.workspace-top p{margin:3px 0 0;color:var(--muted);font-size:12px}.local-note{font-size:11px;color:var(--accent);white-space:nowrap}.panel{background:var(--panel);border:1px solid var(--line);border-radius:6px}.source-bar,.edit-bar,.proposal-bar{display:flex;align-items:center;gap:12px;padding:9px 12px;margin-bottom:9px;min-width:0}.bar-label{font-size:10px;letter-spacing:.11em;color:var(--muted);white-space:nowrap}.bar-label span{color:var(--accent);margin-left:5px}.source-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.separator{height:20px;border-left:1px solid var(--line);margin:0 4px}.upload{position:relative;display:inline-flex;align-items:center}.upload input[type=file]{position:absolute;opacity:0;width:1px;height:1px;inset:auto auto 0 0;overflow:hidden}.source-bar #status{color:#b3c5c5;font-size:12px;margin-left:auto;min-width:0;overflow-wrap:anywhere}.edit-bar{flex-wrap:wrap;gap:10px 14px}.control{display:flex;flex-direction:column;gap:4px;color:#a5b7bb;font-size:11px;white-space:nowrap;min-width:0}.control select{font-size:12px}.tool-control{min-width:215px}.tool-control select{max-width:250px}.interaction{display:flex;align-items:end;flex-wrap:wrap;max-width:100%;gap:0;border:0;padding:0;margin:0;min-width:0}.interaction legend{font-size:11px;color:#a5b7bb;margin-bottom:4px;padding:0}.interaction label{position:relative;cursor:pointer}.interaction span{display:block;padding:7px 10px;border:1px solid #3a484e;background:#20282c;white-space:nowrap}.interaction label:first-of-type span{border-radius:5px 0 0 5px}.interaction label:last-of-type span{border-radius:0 5px 5px 0;border-left:1px solid #3a484e;margin-left:-1px}.interaction input{position:absolute;opacity:0;width:1px;height:1px}.interaction input:checked+span{position:relative;z-index:1;background:#254841;color:#aef5e4;border-color:#4c9486}.interaction input:focus-visible+span{outline:2px solid #88efdd;outline-offset:2px}.range-row{display:flex;align-items:center;gap:7px;min-height:32px}.range-row input{width:96px}.range-row output{min-width:32px;color:#d1e0e0;font-size:11px}.history-actions,.window-controls,.proposal-actions{display:flex;gap:6px;align-items:end}.window-controls input{width:61px}.proposal-bar{border-color:#35564e;background:#182421;flex-wrap:wrap;gap:8px 16px}.proposal-heading{display:flex;align-items:center;gap:10px;min-width:245px;flex:1 1 250px}.proposal-heading strong{display:block;font-size:13px;color:#e5f6f1}.proposal-heading small{display:block;font-size:11px;color:#9fbab3;white-space:normal}.proposal-mark{width:8px;height:8px;background:var(--accent);border-radius:50%;flex:none;box-shadow:0 0 0 3px #285248}.sensitivity-control .range-row input{width:130px}.proposal-bar #adaptiveStatus{color:#a9c8bd;font-size:11px;min-width:0;flex:1 1 190px;overflow-wrap:anywhere}.legacy{margin:0 0 10px}.legacy summary{color:#b8c6c8;cursor:pointer;font-size:12px;padding:8px 12px}.legacy summary span{color:#81979b;font-size:10px;margin-left:6px}.legacy-content{display:flex;flex-wrap:wrap;align-items:end;gap:9px;padding:4px 12px 12px}.legacy-content #markerCount{color:var(--muted);font-size:11px}.hint{font-size:11px;color:#92a4aa;margin:9px 0 4px;line-height:1.5}#action{min-height:17px;font-size:12px;color:#a6e9d7;margin:5px 0 9px;overflow-wrap:anywhere}#warnings{color:#f3d7a5;background:#382d21;border:1px solid #816841;border-radius:5px;padding:9px 11px;margin:8px 0}.views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.view{display:grid;grid-template-rows:39px minmax(340px,1fr) 46px;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}.view-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 12px}.view-header h2{font-size:12px;font-weight:600;margin:0}.view-header span{font-size:9px;letter-spacing:.1em;color:#799099}.viewImage{position:relative;overflow:hidden;background:#090c0e;display:flex;align-items:center;justify-content:center;min-width:0;min-height:340px;padding:14px}.viewImage canvas{display:block;background:#080b0c;width:min(100%,calc(60vh * var(--physical-aspect)));height:auto;object-fit:fill;image-rendering:pixelated;cursor:crosshair;touch-action:none}.orientation{position:absolute;left:9px;background:#141b1dc9;color:#9fb8b7;font-size:11px;padding:1px 4px;pointer-events:none}.orientation.top{top:9px}.orientation.bottom{bottom:9px}.view-footer{display:flex;align-items:center;gap:12px;padding:0 12px;border-top:1px solid var(--line);min-width:0}.view-footer span{font-size:9px;letter-spacing:.07em;color:var(--muted);white-space:nowrap}.view-footer input{width:100%;min-width:0}.volumes{margin-top:12px;padding:11px 13px}.volume-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.volume-title h2{margin:0 0 8px;font-size:12px;font-weight:600}.volume-title span{color:#9ccbbd;font-size:9px;letter-spacing:.07em}#volumes{display:flex;flex-wrap:wrap;gap:7px 18px;color:#aabcc0;font-size:12px}#volumes span{white-space:nowrap}#volumes strong{color:#e7f5f2}footer{font-size:11px;color:#87989c;margin-top:13px}@media(max-width:1000px){.view{grid-template-rows:38px minmax(260px,1fr) 44px}.viewImage{min-height:260px;padding:8px}.source-bar{flex-wrap:wrap}.source-bar #status{flex-basis:100%;margin-left:0}}@media(max-width:700px){.views{grid-template-columns:1fr}.view{grid-template-rows:39px minmax(300px,auto) 46px}.viewImage{min-height:300px;height:auto}.workspace-top{align-items:flex-start}.local-note{display:none}.site-header{flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:7px}.header-right{gap:12px}.edit-bar{gap:10px}.tool-control{flex:1 1 195px}.tool-control select{max-width:none;width:100%}}@media(max-width:420px){main{padding:14px 12px 24px}.site-header{padding:9px 12px}.brand{font-size:13px}.experiment{font-size:10px;margin-left:5px;padding:2px 5px}.privacy{display:none}.header-divider{display:none}.source-bar,.edit-bar,.proposal-bar{padding:9px}.source-actions{gap:5px}.source-actions button,.source-actions .upload{padding:7px 8px}.proposal-heading{flex-basis:100%}.proposal-bar #adaptiveStatus{flex-basis:100%}.viewImage{height:auto;min-height:280px}.hint{line-height:1.55}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.language-switch{display:inline-flex;align-items:stretch;border:1px solid #426864;border-radius:5px;overflow:hidden;background:#172625;white-space:nowrap}.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:6px 9px;color:#9ab8b4;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.055em}.language-switch a+a{border-left:1px solid #426864}.language-switch a:hover{color:#effbf8;background:#24413d}.language-switch a[aria-current="page"]{color:#101d1c;background:#9bdbce}.language-switch a:focus-visible{outline:2px solid #e6faf5;outline-offset:-3px}

/* Action-first workspace: a narrow command rail and two equal working areas. */
.icon-defs{position:absolute;width:0;height:0;overflow:hidden}
.local-badge{display:flex;align-items:center;gap:7px;color:#a7b8b1;font-size:11px}
.local-badge svg{width:14px;height:14px;stroke:var(--accent);stroke-width:1.7;fill:none;flex:none}
.source-bar{gap:18px;min-height:60px}
.source-actions{flex:none}
.source-actions .upload{display:inline-flex;gap:8px;align-items:center;min-width:93px;justify-content:center;padding:8px 12px}
.source-actions .upload svg{width:15px;height:15px;stroke:#b8d5d0;stroke-width:1.7;fill:none}
.drop-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.drop-copy strong{font-size:12px;font-weight:500;color:#d4e0e0}
.drop-copy small{font-size:10px;color:#90a9ae}
.source-bar #status{flex:0 1 170px;text-align:right;color:#9eb5b9;font-size:10px}
.tools-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.25fr) minmax(300px,1.05fr);gap:10px;align-items:stretch}
.workspace-column{display:flex;flex-direction:column;gap:10px;min-width:0;height:100%}
.workspace-column .global-panel,.workspace-column .diameter-panel,.tools-layout>.marker-panel,.tools-layout>.morph-panel{margin:0;min-width:0}
.workspace-column .global-panel,.tools-layout>.marker-panel,.tools-layout>.morph-panel{padding:16px;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:14px}
.workspace-column h2{margin:0;font-size:14px;font-weight:650}
.cursor-row{display:flex;gap:10px;align-items:center;min-width:0}
.cursor-row small{font-size:10px;color:#9fb4b7;line-height:1.4;max-width:120px}
#cursorMode{display:inline-flex;width:132px;height:39px;flex:none;align-items:center;justify-content:center;gap:7px;min-height:0;min-width:0}
#cursorMode svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}
#cursorMode[aria-pressed="true"]{border-color:#83e7d5;background:#23645e;color:#e0fff8;font-weight:650}
.workspace-column .history-actions{margin:2px 0 0;align-self:stretch}
.workspace-column .history-actions button{flex:1;min-width:0}
.workspace-column .diameter-panel{padding:15px;gap:10px;flex:1}
.workspace-column .diameter-panel .range-row input{flex:1;width:100%}
.workspace-column .sampling-preview{flex:1;min-height:112px;max-height:none}
#samplingCircle:not([style]){display:none}
.tools-layout>.marker-panel .panel-title,.tools-layout>.morph-panel .panel-title{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.tools-layout .panel-title strong{font-size:16px;line-height:1.25}
.tools-layout .panel-title small{font-size:11px;line-height:1.45;white-space:normal}
.tools-layout .tool-buttons{width:100%;min-width:0;gap:7px}
.tools-layout .tool-buttons legend{margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:650}
.tools-layout .tool-buttons span{white-space:normal;min-height:39px;display:flex;align-items:center}
.tools-layout .sensitivity-control{width:100%;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.tools-layout .sensitivity-control .range-row{gap:12px}
.tools-layout .sensitivity-control input{flex:1;width:100%}
.tools-layout .proposal-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;width:100%}
.tools-layout .proposal-actions button{min-height:38px;flex:1 1 auto}
.tools-layout>.marker-panel #adaptiveStatus,.tools-layout>.morph-panel #morphStatus{flex:0 0 auto;border-top:1px solid var(--line);padding-top:12px;line-height:1.5;min-height:44px}
.tools-layout>.morph-panel .morph-settings{display:grid;flex:none;grid-template-columns:minmax(0,1fr) minmax(112px,.6fr);gap:10px;align-items:end;min-height:0;width:100%;border-top:1px solid var(--line);padding-top:14px}
.morph-settings .cleanup-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.morph-settings .cleanup-buttons legend{grid-column:1/-1}
.tool-buttons input:disabled+span{opacity:.45;cursor:not-allowed}
.tool-buttons label:has(input:disabled){cursor:not-allowed}
.tool-buttons label:has(input:disabled):hover span{border-color:#3a484e}
.morph-settings .control{min-width:0}
.morph-settings select{width:100%}
.morph-settings .proposal-actions{grid-column:1/-1;justify-content:start}
.morph-settings .proposal-actions button{flex:0 1 auto}
@media(max-width:1100px){.tools-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1fr)}.tools-layout>.marker-panel{grid-column:1/-1}.source-bar #status{flex-basis:100%;text-align:left;margin-left:0}}
@media(max-width:720px){.tools-layout{grid-template-columns:minmax(0,1fr)}.workspace-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto}.tools-layout>.marker-panel{grid-column:auto}.workspace-column .diameter-panel{min-height:0;flex:none}.workspace-column .sampling-preview{flex:none;height:112px}.source-bar{flex-wrap:wrap}.drop-copy{order:1;flex:1 1 190px}.source-bar #status{order:2}}
@media(max-width:540px){.workspace-column{display:flex}.source-actions{width:100%}.source-actions .upload{flex:1}.drop-copy{order:0}.source-bar #status{order:1}.local-badge{font-size:10px}.tools-layout>.morph-panel .morph-settings{grid-template-columns:minmax(0,1fr) 110px}.tools-layout .panel-title strong{font-size:15px}}
