:root{color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#d3dde7;background:#101419;font-size:13px}*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column}button,.button{font:inherit;color:#b9c6d3;background:#1a222b;border:1px solid #303c48;border-radius:5px;padding:9px 12px;cursor:pointer;white-space:nowrap}button:hover,.button:hover{background:#26343e;color:white}button:focus-visible,input:focus-visible{outline:2px solid #61d9bf;outline-offset:2px}.primary{background:#60d9ba;color:#09281f;border-color:#60d9ba;font-weight:600}.primary:hover{background:#89e6cf;color:#09281f}header{height:70px;display:flex;align-items:center;gap:10px;padding:0 22px;border-bottom:1px solid #2a333d;flex-shrink:0}.brand{letter-spacing:3px;font-weight:700;font-size:19px;display:flex;align-items:center;gap:10px}.brand>span{color:#60d9ba;font-size:32px}.brand small{font-size:9px;letter-spacing:2px;font-weight:400;color:#798a9d;margin-left:12px}.privacy{margin-left:auto;margin-right:15px;color:#7dcbb6;font-size:11px}input[type=file]{display:none}main{display:flex;flex:1;min-height:0}aside{width:245px;background:#151b22;padding:22px 16px;overflow:auto;flex-shrink:0;border-right:1px solid #2a333d}.section-title{color:#8598ac;font-size:10px;font-weight:600;letter-spacing:1.4px;margin-bottom:20px}.section-title span{display:block;font-size:11px;letter-spacing:0;margin-top:10px;color:#536577}.aside-note{line-height:1.8;color:#718296;font-size:11px;margin-top:24px}.series-card{display:block;width:100%;text-align:left;padding:16px 12px;margin-bottom:9px;white-space:normal;line-height:1.6}.series-card.active{border-color:#60d9ba;background:#19332f}.series-card b{display:block;color:#e0e9ee}.series-card small{color:#8a9daf}.badge{font-size:10px;color:#60d9ba;letter-spacing:1px}.workspace{flex:1;min-width:0;display:flex;flex-direction:column}nav{padding:10px;display:flex;justify-content:space-between;gap:6px;border-bottom:1px solid #2a333d;background:#151b22}nav>div{display:flex;gap:4px}nav button{background:transparent;border-color:transparent;padding:8px 10px;font-size:12px}button.active{background:#233b39;color:#78e3c8;border-color:#345b52}#viewport{flex:1;position:relative;overflow:hidden;background:#050708;touch-action:none;min-height:220px}canvas{position:absolute;left:50%;top:50%;transform-origin:center;image-rendering:auto}.overlay{position:absolute;pointer-events:none;font:11px/1.8 ui-monospace,SFMono-Regular,monospace;color:#9cb3c2;white-space:pre-line;text-shadow:0 1px 3px black}.top-left{top:20px;left:20px}.bottom-left{bottom:20px;left:20px}.bottom-right{bottom:20px;right:20px;text-align:right}#empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(ellipse at center,#162426 0,transparent 65%)}.empty-icon{font-size:74px;color:#5ec6ae;font-weight:200}h1{font-size:24px;font-weight:500;letter-spacing:-.6px;margin:20px 0 0}#empty p{font-size:13px;color:#8295a8;line-height:1.9;margin-bottom:26px}#empty button{margin:5px}.slice-bar{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#151b22;border-top:1px solid #2a333d}input[type=range]{flex:1;accent-color:#60d9ba;min-width:40px}#sliceLabel{min-width:70px;font:11px ui-monospace,monospace}.controls{width:220px;border-left:1px solid #2a333d;border-right:0}.controls label{display:block;color:#8a9daf;font-size:12px;margin-bottom:18px}input[type=number]{display:block;width:100%;background:#0d1319;border:1px solid #34414d;border-radius:5px;padding:10px;color:#e1ecef;margin-top:9px;font:14px ui-monospace,monospace}.presets-title{margin-top:30px}#presets button{display:block;width:100%;text-align:left;margin-bottom:7px;font-size:12px}#presets span{float:right;color:#6c8297;font-size:10px;margin-top:2px}.help{border-top:1px solid #2a333d;margin-top:30px;padding-top:22px;color:#8295a8;font-size:11px;line-height:2}.notice{color:#6d7d8e;font-size:10px;line-height:1.8;margin-top:30px}footer{padding:9px 18px;display:flex;justify-content:space-between;font-size:10px;color:#7e92a5;border-top:1px solid #2a333d;gap:20px}#engine{color:#61cbb1}#errors{background:#38271f;padding:10px 20px;max-height:180px;overflow:auto}#errorList{white-space:pre-wrap;font-size:11px}#viewport.dragover{outline:2px solid #60d9ba;outline-offset:-4px}[hidden]{display:none!important}@media(max-width:1000px){.brand small{display:none}aside{width:190px}.controls{width:180px}nav{flex-wrap:wrap}.privacy{font-size:0}.privacy:first-letter{font-size:12px}}@media(max-width:700px){header{padding:10px;gap:6px;height:auto;flex-wrap:wrap}.brand{margin-right:auto}.privacy{display:none}header .button,header button{padding:7px;font-size:11px}aside{width:145px;padding:14px 10px}.controls{display:none}nav button{padding:6px;font-size:11px}.overlay{font-size:9px}h1{font-size:18px}#empty p{font-size:11px}footer{font-size:9px}}
/* Compact imaging palette */
.controls{width:248px;padding:14px;}.controls #palette{margin-bottom:26px;border-bottom:1px solid #303c48;padding-bottom:18px}#palette h2{font-size:11px;font-weight:600;color:#9aabba;letter-spacing:.8px;margin:0 0 9px;padding:9px 0;border-bottom:1px solid #2a333d}#palette h2:not(:first-child){margin-top:14px}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.tool-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 2px;min-height:69px;white-space:normal;background:#202a34;border-color:#35434f}.tool-grid button:hover{background:#30434d}.tool-grid button.active{background:#23463f;border-color:#67d9b9;color:#8cf0d5}.tool-grid svg{width:29px;height:29px}.tool-grid span{font-size:9px;line-height:1.2;text-align:center}#finishPolygon{width:100%;font-size:11px;margin-top:8px}.tool-hint{font-size:11px;color:#91a8b9;line-height:1.6;margin-bottom:0}#annotations{pointer-events:none}#canvas{pointer-events:none}@media(max-width:1000px){.controls{width:218px}}@media(max-width:700px){main>aside:first-child{display:none}.controls{display:block;width:158px;padding:8px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid button{min-height:59px}.tool-grid svg{width:24px;height:24px}.controls .help,.controls .notice{display:none}nav{padding:5px}nav button{font-size:10px;padding:5px}nav>div{flex-wrap:wrap}#empty p{padding:0 10px}#empty h1{font-size:15px}}
#annotations{inset:0;left:0;top:0;width:100%;height:100%;transform:none;z-index:2;image-rendering:auto}.overlay{z-index:3}#empty{z-index:4}.annotation-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.annotation-actions button{flex:1;font-size:10px;padding:7px 5px}#finishPolygon{margin:0}.controls .cine-speed{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:11px}.cine-speed input{width:58px;padding:5px;margin:0}button:disabled{opacity:.4;cursor:default}#annotationDialog{width:min(430px,90vw);padding:24px;background:#18232c;color:#e5f4f0;border:1px solid #6bcbb4;border-radius:10px;box-shadow:0 12px 70px #0009}#annotationDialog::backdrop{background:#0009}#annotationDialog h2{font-size:18px;margin:0 0 20px}#annotationDialog label{font-size:12px;color:#a4bdc7}#annotationText{display:block;width:100%;resize:vertical;min-height:85px;background:#080f14;color:#edfff9;border:1px solid #48616b;border-radius:5px;padding:10px;margin:10px 0 20px;font:inherit;font-size:14px;line-height:1.5}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}

.tool-grid span{max-width:100%;overflow-wrap:anywhere}.controls .cine-speed{flex-wrap:wrap}

/* Local tool cursors: outlined for both dark and bright image pixels. */
#viewport[data-cursor="window"]{cursor:url("cursors/window.svg") 8 8,crosshair}
#viewport[data-cursor="distance"]{cursor:url("cursors/distance.svg") 8 8,crosshair}
#viewport[data-cursor="angle"]{cursor:url("cursors/angle.svg") 8 8,crosshair}
#viewport[data-cursor="cobb"]{cursor:url("cursors/cobb.svg") 8 8,crosshair}
#viewport[data-cursor="ellipse"]{cursor:url("cursors/ellipse.svg") 8 8,crosshair}
#viewport[data-cursor="circle"]{cursor:url("cursors/circle.svg") 8 8,crosshair}
#viewport[data-cursor="rectangle"]{cursor:url("cursors/rectangle.svg") 8 8,crosshair}
#viewport[data-cursor="polygon"]{cursor:url("cursors/polygon.svg") 8 8,crosshair}
#viewport[data-cursor="polyline"]{cursor:url("cursors/polyline.svg") 8 8,crosshair}
#viewport[data-cursor="freehand"]{cursor:url("cursors/freehand.svg") 8 8,crosshair}
#viewport[data-cursor="probe"]{cursor:url("cursors/probe.svg") 8 8,crosshair}
#viewport[data-cursor="arrow"]{cursor:url("cursors/arrow.svg") 8 8,crosshair}
#viewport[data-cursor="zoom"]{cursor:url("cursors/zoom.svg") 14 14,zoom-in}
#viewport[data-cursor="default"]{cursor:default}
#viewport[data-cursor="grab"]{cursor:grab}
#viewport[data-cursor="grabbing"]{cursor:grabbing}
#viewport[data-cursor="text"]{cursor:text}
#viewport[data-cursor="move"]{cursor:move}
#viewport[data-cursor="crosshair"]{cursor:crosshair}
