:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#0c2c4c;--navy-deep:#071d33;--blue:#1677ff;--cyan:#19b9c6;--ink:#142b42;--muted:#6a7c8f;--line:#dfe8f0;--surface:#fff;--canvas:#f3f7fa;--shadow:0 24px 70px #031a302e;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;min-height:100vh;color:var(--ink);margin:0}button,input{font:inherit}button{cursor:pointer}.workbench select:not([multiple]){appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23526a7b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:36px}.login-page{background:#eef4f8;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.brand-panel{color:#fff;background:linear-gradient(145deg, var(--navy-deep), #0a3b62 62%, #075b70);flex-direction:column;justify-content:space-between;padding:52px 64px 44px;display:flex;position:relative;overflow:hidden}.brand-panel:before{content:"";background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.brand-line,.brand-copy,.brand-footer{z-index:2;position:relative}.brand-line{letter-spacing:.05em;align-items:center;gap:14px;font-weight:650;display:flex}.logo-mark{background:#ffffff17;border:1px solid #ffffff59;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.logo-mark svg{width:29px;height:29px}.brand-copy{max-width:650px;margin:auto 0;padding:70px 0}.eyebrow{color:#6fe3e4;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;font-size:13px;font-weight:700}.brand-copy h1{letter-spacing:-.035em;max-width:560px;margin:0;font-size:clamp(38px,4.2vw,64px);font-weight:650;line-height:1.12}.brand-copy>p:last-of-type{color:#ffffffb3;max-width:500px;margin:24px 0 0;font-size:16px;line-height:1.85}.feature-row{color:#ffffffd6;gap:28px;margin-top:42px;font-size:14px;display:flex}.feature-row span{align-items:center;gap:9px;display:flex}.feature-row i{background:#43d8d0;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 5px #43d8d01f}.brand-footer{color:#ffffff6b;font-size:12px}.radar-visual{z-index:1;border:1px solid #57e2df38;border-radius:50%;width:620px;height:620px;position:absolute;bottom:-220px;right:-180px}.radar-visual:before,.radar-visual:after{content:"";border:1px solid #57e2df30;border-radius:50%;position:absolute;inset:13%}.radar-visual:after{inset:27%}.radar-sweep{background:conic-gradient(from 20deg, transparent 0 72%, #3adbd52e 88%, transparent 91%);border-radius:50%;animation:7s linear infinite sweep;position:absolute;inset:0}@keyframes sweep{to{transform:rotate(360deg)}}.form-panel{background:var(--surface);place-items:center;padding:56px 8vw;display:grid}.login-card{width:min(420px,100%)}.mobile-brand{display:none}.login-card h2{letter-spacing:-.025em;margin:0;font-size:30px}.login-intro{color:var(--muted);margin:12px 0 34px;font-size:14px}.field{margin-bottom:20px;display:block}.field-label{color:#354b60;margin-bottom:9px;font-size:13px;font-weight:600;display:block}.input-wrap{position:relative}.input-wrap svg{color:#8da0b3;width:18px;height:18px;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.input-wrap input{width:100%;height:50px;color:var(--ink);background:#fbfcfd;border:1px solid #d7e1e9;border-radius:9px;outline:0;padding:0 45px;transition:all .2s}.input-wrap input:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #1677ff1a}.toggle-password{color:#73879a;background:0 0;border:0;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.toggle-password svg{width:19px;height:19px;position:static;transform:none}.login-button{color:#fff;background:linear-gradient(95deg,#166fe5,#078da7);border:0;border-radius:9px;width:100%;height:50px;margin-top:8px;font-weight:650;transition:all .2s;box-shadow:0 9px 22px #1677ff3b}.login-button:hover{transform:translateY(-1px);box-shadow:0 12px 26px #1677ff4d}.login-button:disabled{cursor:wait;opacity:.72;transform:none}.error-message{color:#d52b43;min-height:20px;margin:-7px 0 10px;font-size:13px}.workbench{background:#f2f6f9;min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 34px;display:flex}.topbar-brand,.user-area{align-items:center;gap:12px;display:flex}.topbar-brand .logo-mark{width:38px;height:38px;color:var(--navy);background:#f0f7fa;border-color:#d6e3ec}.topbar-brand .logo-mark svg{width:25px}.topbar-brand strong{font-size:15px;display:block}.topbar-brand small{color:#8393a1}.avatar{color:#fff;background:linear-gradient(135deg,#1677ff,#13a6b3);border-radius:9px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}.user-meta strong{font-size:13px;display:block}.user-meta small{color:#8191a0;font-size:11px}.logout{color:#52687a;background:#fff;border:1px solid #dbe5ed;border-radius:7px;margin-left:12px;padding:8px 14px}.workbench-main{max-width:1240px;margin:0 auto;padding:54px 30px}.welcome h1{margin:0 0 10px;font-size:28px}.welcome p{color:var(--muted);margin:0}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0;display:grid}.stat-card{background:#fff;border:1px solid #e1e9ef;border-radius:13px;padding:24px}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{margin-top:11px;font-size:30px;display:block}.task-card{text-align:center;background:#fff;border:1px solid #e1e9ef;border-radius:13px;place-items:center;min-height:280px;display:grid}.empty-icon{color:#2f88b5;background:#eaf6f8;border-radius:16px;place-items:center;width:58px;height:58px;margin:0 auto 15px;display:grid}.empty-icon svg{width:28px}.task-card h3{margin:0 0 8px}.task-card p{color:var(--muted);margin:0;font-size:14px}.task-stats .stat-card{position:relative;overflow:hidden}.task-stats .stat-card:after{content:"";background:#efb33d;width:5px;height:100%;position:absolute;top:0;right:0}.task-stats .stat-card.active:after{background:var(--blue)}.task-stats .stat-card.done:after{background:#1aa77b}.task-stats .stat-card small{color:#93a1ad;margin-top:4px;font-size:12px;display:block}.workbench-error,.annotation-error{color:#a52b3b;background:#fff4f5;border:1px solid #ffd0d5;border-radius:9px;align-items:center;gap:8px;padding:12px 15px;font-size:13px;display:flex}.workbench-error svg{width:18px}.task-panel{background:#fff;border:1px solid #e0e8ee;border-radius:14px;overflow:hidden;box-shadow:0 10px 35px #142b420a}.task-panel-header{border-bottom:1px solid #e7edf2;justify-content:space-between;align-items:flex-end;padding:24px 26px 18px;display:flex}.task-panel-header h2{margin:0 0 5px;font-size:18px}.task-panel-header p{color:var(--muted);margin:0;font-size:12px}.task-tabs{background:#f1f5f8;border-radius:9px;gap:3px;padding:4px;display:flex}.task-tabs button{color:#617487;background:0 0;border:0;border-radius:7px;padding:8px 14px;font-size:12px}.task-tabs button.active{color:var(--navy);background:#fff;font-weight:700;box-shadow:0 2px 9px #0c2c4c14}.task-list{padding:0 26px}.task-row{border-bottom:1px solid #edf1f4;grid-template-columns:minmax(240px,1fr) 150px 100px 150px;align-items:center;gap:18px;min-height:98px;padding:17px 0;display:grid}.task-row:last-child{border-bottom:0}.task-main{min-width:0}.task-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.task-parse-message{color:#718391;overflow-wrap:anywhere;white-space:normal;margin-top:7px;font-size:12px;line-height:1.6;display:block}.task-state{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.status-pill,.parse-pill{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:650;display:inline-flex}.status-pill.pending{color:#8e6200;background:#fff4cf}.status-pill.in_progress{color:#075ab5;background:#e7f2ff}.status-pill.completed{color:#087651;background:#e4f7ef}.parse-pill{color:#6b7c89;background:#f0f3f5}.parse-pill.completed{color:#087651;background:#edf9f4}.parse-pill.failed{color:#b02d3e;background:#ffedf0}.task-row time{color:#718391;font-size:12px}.task-action{flex-direction:column;align-items:stretch;gap:5px;display:flex}.task-action button{border-radius:8px;min-height:36px;font-size:12px;font-weight:650}.primary-action{color:#fff;background:linear-gradient(100deg,#176fe2,#0b95a7);border:0}.waiting-action{cursor:not-allowed;color:#8998a4;background:#f6f8f9;border:1px solid #dce4e9}.task-loading,.task-empty{min-height:260px;color:var(--muted);text-align:center;align-content:center;place-items:center;display:grid}.task-empty span{color:#16805d;background:#e8f7f1;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:12px;font-size:20px;display:grid}.task-empty strong{color:var(--ink)}.task-empty p{margin:7px 0 0;font-size:13px}.task-pagination{color:#778896;border-top:1px solid #e7edf2;justify-content:space-between;align-items:center;padding:15px 26px;font-size:12px;display:flex}.task-pagination div{align-items:center;gap:12px;display:flex}.task-pagination button{color:#526779;background:#fff;border:1px solid #dbe4ea;border-radius:7px;padding:7px 11px}.task-pagination button:disabled{cursor:not-allowed;opacity:.45}.annotation-workbench{background:#edf2f5}.annotation-workbench>.topbar,.annotation-workbench .cross-section-panel>header{display:none}.annotation-main{width:min(1800px,100%);margin:0 auto;padding:12px 26px 40px}.annotation-toolbar-band{background:#fff;padding:20px 0}.annotation-toolbar{align-items:center;gap:14px;width:min(1800px,100%);min-height:36px;margin:0 auto;padding:0 26px;display:flex}.back-button{color:#3f617a;text-align:left;white-space:nowrap;background:0 0;border:0;flex-shrink:0;padding:0;font-size:13px}.annotation-task-title{min-width:80px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:0 150px;margin:0;font-size:16px;overflow:hidden}.annotation-toolbar-selectors{align-items:center;gap:12px;min-width:0;display:flex}.annotation-selector-field{color:#718393;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.searchable-select{min-width:0;position:relative}.searchable-select input{color:#253f54;background:#fff;border:1px solid #d5e0e7;border-radius:7px;width:100%;height:30px;padding:0 36px 0 10px;font-size:12px;display:block}.searchable-select input:focus-visible{outline-offset:2px;outline:2px solid #168c9a}.searchable-select-toggle{color:#526a7b;background:0 0;border:0;place-items:center;width:36px;height:30px;padding:0;display:grid;position:absolute;top:0;right:0}.searchable-select.is-open .searchable-select-toggle svg{transform:rotate(180deg)}.searchable-select-options{z-index:80;background:#fff;border:1px solid #d5e0e7;border-radius:7px;max-height:280px;padding:4px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #142b4224}.searchable-select-options button{color:#253f54;text-align:left;white-space:normal;background:#fff;border:0;border-radius:4px;width:100%;padding:9px 7px;font-size:12px;display:block}.searchable-select-options button.highlighted{background:#eef7f8}.searchable-select-options button.selected{color:#07717d;font-weight:600}.searchable-select-options p{color:#8193a0;margin:0;padding:10px 7px;font-size:12px}.annotation-toolbar-selectors select{color:#253f54;background:#fff;border:1px solid #d5e0e7;border-radius:7px;min-width:0;height:30px;padding:0 28px 0 10px;font-size:12px}.annotation-road-select{width:150px}.annotation-swath-select{flex-shrink:0;width:260px}.annotation-swath-toggle{color:#647988;white-space:nowrap;background:#f8fafb;border:1px solid #d4dee5;border-radius:7px;flex-shrink:0;height:30px;padding:0 10px;font-size:12px}.annotation-swath-toggle:hover{color:#405a6c;background:#edf2f5;border-color:#b9c8d3}.annotation-swath-toggle:focus-visible{outline-offset:3px;outline:2px solid #8a9cab}.annotation-toolbar-actions{flex-shrink:0;align-items:center;gap:18px;margin-left:auto;display:flex}.annotation-channel-count{color:#718393;white-space:nowrap;font-size:12px}.annotation-channel-count strong{color:#2c465b;margin-left:4px;font-size:14px}.annotation-task-details{position:relative}.annotation-task-details summary{color:#647988;cursor:pointer;white-space:nowrap;background:#f8fafb;border:1px solid #d4dee5;border-radius:7px;align-items:center;gap:8px;min-height:30px;padding:0 12px;font-size:12px;list-style:none;display:flex}.annotation-task-details summary::-webkit-details-marker{display:none}.annotation-task-details summary:hover,.annotation-task-details[open] summary{color:#405a6c;background:#edf2f5;border-color:#b9c8d3}.annotation-task-details summary:focus-visible{outline-offset:3px;outline:2px solid #8a9cab}.annotation-toolbar-selectors select:focus-visible,.annotation-channel-buttons button:focus-visible{outline-offset:3px;outline:2px solid #168c9a}.annotation-details-chevron{transform-origin:50%;flex-shrink:0;width:12px;height:12px;display:block}.annotation-task-details[open] .annotation-details-chevron{transform:rotate(180deg)}.annotation-task-details dl{z-index:30;background:#fff;border:1px solid #dce5eb;border-radius:10px;width:min(380px,100vw - 48px);margin:0;padding:6px 16px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #142b421f}.annotation-task-details dl>div{border-bottom:1px solid #edf1f4;padding:12px 0}.annotation-task-details dl>div:last-child{border-bottom:0}.annotation-task-details dt{color:#8193a0;margin-bottom:5px;font-size:11px}.annotation-task-details dd{color:#2c465b;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.6}.annotation-task-details code{font-size:11px}.location-hint-list{flex-shrink:0;position:relative}.location-hint-list>summary{color:#117c8d;cursor:pointer;white-space:nowrap;background:#f0fafb;border:1px solid #b8dce2;border-radius:7px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:12px;list-style:none;display:flex}.location-hint-list>summary::-webkit-details-marker{display:none}.location-hint-list>summary strong{color:#fff;background:#168e9d;border-radius:9px;place-items:center;min-width:18px;height:18px;font-size:10px;display:grid}.location-hint-popover{z-index:35;background:#fff;border:1px solid #d5e4e9;border-radius:10px;width:min(440px,100vw - 36px);max-height:min(520px,70vh);position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 14px 36px #142b4226}.location-hint-popover>header{border-bottom:1px solid #e8eff2;gap:3px;padding:12px 14px;display:grid}.location-hint-popover>header strong{color:#28495c;font-size:12px}.location-hint-popover>header span{color:#8496a2;font-size:10px}.location-hint-items{max-height:420px;padding:6px;overflow-y:auto}.location-hint-items button{color:#3a5668;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf2f4;grid-template-columns:minmax(120px,1fr) 90px minmax(150px,1fr);align-items:center;gap:9px;width:100%;padding:9px;display:grid}.location-hint-items button:hover,.location-hint-items button.current{background:#eff9fa}.location-hint-items button>span{gap:2px;min-width:0;display:grid}.location-hint-items b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.location-hint-items small{color:#8294a0;font-size:9px}.location-hint-items code{color:#557181;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.complete-button{color:#fff;white-space:nowrap;background:#14805f;border:0;border-radius:8px;flex-shrink:0;min-height:30px;padding:5px 12px;font-size:13px;font-weight:650}.readonly-badge{color:#157154;background:#def4ea;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:650}.annotation-state{color:#718393;background:#fff;border:1px solid #dfe7ec;border-radius:14px;align-content:center;place-items:center;min-height:420px;display:grid}.annotation-state strong{color:var(--ink)}.annotation-state p{margin:10px 0 0}.annotation-state.error{color:#a62f40}.annotation-layout{--annotation-code-width:clamp(52.5px, 4vw, 60px);grid-template-columns:minmax(0, 1fr) calc(340px + var(--annotation-code-width));align-items:start;gap:14px;display:grid}.annotation-details-column{grid-template-columns:var(--annotation-code-width) minmax(0, 1fr);height:var(--annotation-details-height,calc(100dvh - 100px));align-items:stretch;min-width:0;display:grid;position:sticky;top:12px}.annotation-details-column>.annotation-form-panel{border-radius:0 12px 12px 0;flex-direction:column;min-width:0;min-height:0;max-height:none;display:flex;position:static}.annotation-details-column>.annotation-form-panel>header{flex-shrink:0}.annotation-details-column>.annotation-form-panel>form{flex:1;min-height:0;max-height:none}.annotation-details-column .annotation-form-empty{flex:1;min-height:0}.annotation-canvas-column{min-width:0}.radar-canvas-shell,.annotation-form-panel{background:#fff;border:1px solid #dce5ea;border-radius:12px}.radar-canvas-shell{overflow:hidden}.canvas-toolbar{scrollbar-width:thin;background:#f8fafb;border-bottom:1px solid #e5ebef;align-items:center;gap:12px;min-width:0;min-height:0;padding:7px 10px;display:flex;overflow-x:auto}.annotation-channel-strip{flex:none;align-items:center;gap:6px;display:flex}.annotation-channel-strip>span{color:#647988;white-space:nowrap;flex-shrink:0;font-size:10px}.annotation-channel-buttons{gap:3px;padding:3px;display:flex}.annotation-channel-buttons button{color:#526a7b;white-space:nowrap;background:#fff;border:1px solid #d4dee5;border-radius:5px;flex:0 0 24px;height:28px;padding:0 3px;font-size:11px}.annotation-channel-buttons button:hover,.annotation-channel-buttons button.active{color:#087381;background:#e7f6f7;border-color:#168c9a}.canvas-toolbar>.editing-tools{flex-wrap:nowrap;flex-shrink:0}.tool-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.tool-group button{color:#526a7b;background:#fff;border:1px solid #d4dee5;border-radius:5px;height:28px;padding:0 9px;font-size:10px}.tool-group button:hover:not(:disabled),.tool-group button.active{color:#087381;background:#e7f6f7;border-color:#168c9a}.tool-group button:disabled{cursor:not-allowed;opacity:.45}.tool-group .danger-tool:not(:disabled){color:#b83a4b}.display-tools{flex-wrap:nowrap;flex-shrink:0}.propagation-velocity-control{color:#607488;white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:inline-flex}.propagation-velocity-control input{box-sizing:border-box;color:#405d70;width:42px;height:28px;font:inherit;text-align:center;background:#fff;border:1px solid #d4dee5;border-radius:5px;padding:0 3px}.contrast-trigger span{color:#607687;margin-left:4px}.contrast-popover{color:#405a6c;background:#fff;border:1px solid #dce5eb;border-radius:10px;width:240px;max-width:calc(100vw - 24px);margin:0;padding:14px;position:fixed;inset:auto;box-shadow:0 8px 24px #142b4229}.contrast-popover header{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.contrast-popover header button{width:24px;height:24px;padding:0;font-size:16px}.contrast-popover-slider{align-items:center;gap:10px;display:flex}.contrast-popover-slider input{accent-color:#148b99;flex:1;min-width:0;margin:0}.contrast-popover-slider output{color:#607687;text-align:right;min-width:36px;font-size:12px}.coordinate-locator-popover{color:#405a6c;background:#fff;border:1px solid #dce5eb;border-radius:10px;width:300px;max-width:calc(100vw - 24px);margin:0;padding:14px;position:fixed;inset:auto;box-shadow:0 8px 24px #142b4229}.coordinate-locator-popover header{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;display:flex}.coordinate-locator-popover header button{width:24px;height:24px;padding:0;font-size:16px}.coordinate-locator-popover form{gap:9px;display:grid}.coordinate-locator-popover label{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;font-size:12px;display:grid}.coordinate-locator-popover input{color:#405a6c;width:100%;min-width:0;height:32px;font:inherit;background:#fff;border:1px solid #d4dee5;border-radius:5px;padding:0 8px}.coordinate-locator-popover input:focus-visible{outline-offset:2px;outline:2px solid #168c9a}.coordinate-locator-popover p{margin:0;font-size:11px;line-height:1.5}.coordinate-locator-hint,.coordinate-locator-message{color:#607687}.coordinate-locator-error{color:#b83a4b}.coordinate-locator-popover .coordinate-locator-submit{color:#087381;background:#e7f6f7;border-color:#168c9a;width:100%;height:32px;font-size:12px}.radar-plot-shell{background:#fff;grid-template-rows:minmax(0,auto) 30px;grid-template-columns:42px minmax(0,1fr);min-height:0;display:grid}.radar-scroll{background:#162231;grid-area:1/2;max-height:650px;padding:0;overflow:auto}.radar-scroll::-webkit-scrollbar{width:8px;height:0}.radar-scroll::-webkit-scrollbar-thumb{background:#8ba0b2;border-radius:8px}.radar-stage{box-sizing:border-box;-webkit-user-select:none;user-select:none;background:#162231;border:1px solid #d0dbe8;position:relative;overflow:hidden}.radar-stage img,.radar-stage svg{width:100%;height:100%;position:absolute;inset:0}.radar-stage img{pointer-events:none;transition:filter .12s}.radar-stage svg{touch-action:none}.radar-stage svg.mode-select,.radar-stage svg.mode-add{cursor:crosshair}.radar-stage svg.mode-pan{cursor:grab}.radar-stage svg.mode-pan:active{cursor:grabbing}.radar-stage svg.mode-zoom{cursor:zoom-in}.radar-cursor-line{pointer-events:none;vector-effect:non-scaling-stroke;fill:none;stroke-width:1.2px;stroke-dasharray:6 5}.radar-cursor-line.mileage-cursor{stroke:#ffe45c}.radar-cursor-line.time-cursor{stroke:#45e5bdd1}.saved-region{vector-effect:non-scaling-stroke;fill:#ffc2201f;stroke:#ffc42e;stroke-width:2px;cursor:crosshair}.saved-region.selected{fill:#20cfdb2e;stroke:#2ce2e5;stroke-width:3px}.draft-region{pointer-events:none;vector-effect:non-scaling-stroke;fill:#2bdce024;stroke:#42f1ef;stroke-dasharray:6 4;stroke-width:2px}.resize-handle{vector-effect:non-scaling-stroke;fill:#fff;stroke:#12b9c3;stroke-width:2px}.handle-nw,.handle-se{cursor:nwse-resize}.handle-ne,.handle-sw{cursor:nesw-resize}.distance-axis-label{color:#4a6a96;background:#fff;border-top:1px solid #d0dbe8;grid-area:2/1;padding:3px 0 0 3px;font-size:10px;line-height:11px}.distance-axis-label span,.distance-axis-label small{display:block}.distance-axis-label small{padding-left:5px;font-size:8px}.distance-axis-viewport{color:#4a6a96;background:#fff;border-top:1px solid #d0dbe8;grid-area:2/2;font:10px -apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;position:relative;overflow:hidden}.distance-axis-track{will-change:transform;height:30px;position:relative}.distance-tick{border-left:1px solid #9aaec8;height:6px;position:absolute;top:0}.distance-tick i{height:5px;display:block}.distance-tick em{color:#4a6a96;white-space:nowrap;font-style:normal;position:absolute;top:8px;left:0;transform:translate(-50%)}.depth-axis-column{color:#4a6a96;background:#fff;border-right:1px solid #d0dbe8;grid-area:1/1;min-height:0;font:10px -apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;position:relative;overflow:hidden}.depth-axis-column>b{z-index:4;color:#4a6a96;font-size:10px;font-weight:500;position:absolute;top:3px;left:3px}.depth-axis-track{will-change:transform;position:absolute;top:0;left:0;right:0}.depth-tick{border-top:1px solid #9aaec8;width:5px;position:absolute;right:0}.depth-tick i{display:none}.depth-tick em{color:#4a6a96;white-space:nowrap;font-style:normal;position:absolute;top:-6px;right:7px}.canvas-scroll-controls{color:#708492;background:#f8fafb;border-top:1px solid #e2e8ec;align-items:center;gap:8px;padding:6px 10px;font-size:9px;display:flex}.canvas-scroll-controls button{color:#476275;background:#fff;border:1px solid #d5dfe5;border-radius:5px;width:28px;height:25px}.distance-scroll-range{cursor:pointer;accent-color:#4888f5;flex:1;min-width:40px;height:5px;margin:0}.canvas-scroll-controls small{color:#91a0aa;margin-left:auto;font-size:9px}.canvas-scroll-controls .radar-coordinate{color:#607687;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.radar-view-grid{grid-template-columns:minmax(0, 1fr) calc(3 * var(--annotation-code-width));align-items:stretch;gap:12px;display:grid}.bscan-view-cell,.radar-view-grid>.cross-section-panel{min-width:0}.annotation-code-panel{background:#fff;border:1px solid #dce5ea;border-right:0;border-radius:12px 0 0 12px;min-width:0;overflow:hidden}.annotation-code-list{scrollbar-width:thin;flex-direction:column;gap:4px;height:100%;padding:5px 3px;display:flex;overflow-y:auto}.annotation-code-list button{color:#526a7b;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;background:#fff;border:1px solid #d4dee5;border-radius:5px;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:1px 2px;min-height:28px;padding:4px 1px;font-size:10px;display:flex}.annotation-code-list button:hover:not(:disabled),.annotation-code-list button[aria-pressed=true]{color:#087381;background:#e7f6f7;border-color:#168c9a}.annotation-code-list button:focus-visible{outline-offset:-2px;outline:2px solid #168c9a}.annotation-code-list button:disabled{opacity:.5;cursor:wait}.annotation-code-state{color:#708b9a}.annotation-code-empty{color:#8193a0;text-align:center;overflow-wrap:anywhere;margin:0;padding:7px 3px;font-size:10px}.radar-aux-panel{background:#fff;border:1px solid #dce5ea;border-radius:12px;overflow:hidden}.horizontal-slice-panel{margin-bottom:12px}.radar-aux-panel.expanded{z-index:110;flex-direction:column;display:flex;position:fixed;inset:8px;box-shadow:0 24px 80px #04131f59}.radar-aux-panel>header{border-bottom:1px solid #e5ebef;justify-content:space-between;align-items:center;min-height:42px;padding:8px 12px;display:flex}.radar-aux-panel>header strong,.radar-aux-panel>header span{display:block}.radar-aux-panel>header strong{color:#263f53;font-size:13px}.radar-aux-panel>header span{color:#8193a0;margin-top:2px;font-size:9px}.radar-aux-tools{align-items:center;gap:5px;display:flex}.radar-aux-tools select,.radar-aux-tools button{color:#526a7b;background:#fff;border:1px solid #d4dee5;border-radius:5px;height:28px;font-size:10px}.radar-aux-tools select{padding:0 22px 0 7px}.radar-aux-tools button{padding:0 9px}.horizontal-slice-tools{flex-wrap:wrap;justify-content:flex-end}.horizontal-slice-tools label{color:#647988;white-space:nowrap;align-items:center;gap:5px;font-size:9px;display:flex}.horizontal-slice-tools label input{accent-color:#148b99;margin:0}.horizontal-slice-tools label input[type=range]{width:82px}.horizontal-slice-tools label input[type=checkbox]{width:auto}.horizontal-slice-tools label b{color:#496174;font-variant-numeric:tabular-nums;min-width:34px;font-weight:600}.radar-aux-canvas-wrap{background:#eef3f6;min-height:0;position:relative}.horizontal-canvas-wrap{height:300px}.horizontal-slice-panel .horizontal-canvas-wrap canvas{cursor:grab;touch-action:none}.horizontal-slice-panel .horizontal-canvas-wrap canvas:active{cursor:grabbing}.cross-canvas-wrap{height:524px}.radar-aux-panel.expanded .radar-aux-canvas-wrap{flex:1;height:auto}.radar-aux-canvas-wrap canvas{cursor:crosshair;width:100%;height:100%;display:block}.radar-aux-state{color:#b8c8d4;text-align:center;background:#13222fc7;place-items:center;padding:20px;font-size:11px;display:grid;position:absolute;inset:0}.radar-aux-state.error{color:#ffd0d7}.slice-control{background:#f8fafb;border-top:1px solid #e2e8ec;align-items:center;gap:12px;min-height:38px;padding:7px 12px;display:flex}.slice-control output{color:#4d6577;min-width:180px;font:10px ui-monospace,monospace}.slice-control>input{accent-color:#148b99;flex:1;min-width:90px}.horizontal-thickness-control{color:#607488;white-space:nowrap;align-items:center;gap:4px;font-size:10px;display:inline-flex}.horizontal-thickness-control input{box-sizing:border-box;color:#405d70;width:58px;height:26px;font:inherit;text-align:right;background:#fff;border:1px solid #d4dee5;border-radius:5px;padding:0 4px}.horizontal-slice-control>span{color:#8193a0;white-space:nowrap;font-size:9px}.image-loading{color:#8394a1;background:#15232e;border-radius:12px;place-items:center;min-height:430px;display:grid}.annotation-form-panel{max-height:calc(100vh - 100px);position:sticky;top:12px;overflow:hidden}.annotation-form-panel>header{border-bottom:1px solid #e4eaee;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.annotation-form-panel>header span,.annotation-form-panel>header strong{display:block}.annotation-form-panel>header span{color:#7b8e9d;font-size:10px}.annotation-form-panel>header strong{margin-top:2px;font-size:14px}.annotation-form-panel form{flex-direction:column;max-height:calc(100vh - 155px);padding:0;display:flex;overflow:hidden}.annotation-form-fields{flex:1;min-height:0;padding:14px;overflow-y:auto}.annotation-form-actions{z-index:1;padding:10px 14px calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e4eaee;flex-shrink:0;position:relative;box-shadow:0 -4px 12px #142b420d}.annotation-form-empty{color:#8193a1;text-align:center;align-content:center;place-items:center;min-height:300px;display:grid}.annotation-form-empty b{color:#168d9b;background:#e4f5f6;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:12px;font-size:24px;display:grid}.annotation-form-empty strong{color:#3d5669}.annotation-form-empty p{margin:7px 0;font-size:11px}.annotation-reuse-row{align-items:center;gap:12px;margin:0 0 14px;display:flex}.annotation-reuse-source{color:#62798a;overflow-wrap:anywhere;flex:1;min-width:0;font-size:11px;line-height:1.55}.annotation-property-action{box-sizing:border-box;color:#fff;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:5px;flex:0 0 84px;justify-content:center;align-items:center;gap:5px;width:84px;height:28px;padding:0 8px;font-size:11px;font-weight:600;transition:background .15s,box-shadow .15s;display:inline-flex}.annotation-property-action svg{flex-shrink:0;width:14px;height:14px}.annotation-property-action:active:not(:disabled){transform:translateY(1px)}.annotation-property-action:focus-visible{outline-offset:3px;outline:2px solid;box-shadow:0 0 0 3px #405d70}.annotation-property-action:disabled{opacity:.55;cursor:not-allowed}.reuse-annotation{background:#24815d;border-color:#24815d}.reuse-annotation:hover:not(:disabled){background:#1c694b;border-color:#1c694b;box-shadow:0 2px 4px #24815d33}.delete-annotation{color:#24815d;background:#fff;border-color:#24815d;flex-basis:64px;width:64px}.delete-annotation:hover:not(:disabled){color:#1c694b;background:#edf7f1;border-color:#1c694b}.reuse-confirmation{color:#29475c;margin-bottom:13px;font-size:11px}.reuse-confirmation p{margin:0 0 8px}.reuse-confirmation button{color:#237285;background:#f5fbfc;border:1px solid #cde2e7;border-radius:5px;margin-right:8px;padding:5px 10px}.annotation-section{border:0;border-bottom:1px solid #e8eef1;margin:0 0 14px;padding:0 0 14px}.annotation-section legend{color:#29475c;align-items:center;width:100%;margin-bottom:9px;font-size:12px;font-weight:700;display:flex}.annotation-section legend .sec-no{color:#067783;background:#ddf3f4;border-radius:5px;place-items:center;width:25px;height:21px;margin-right:7px;font-size:9px;display:inline-grid}.annotation-section legend em,.notes-field>span em{color:#d04b5b;margin-left:6px;font-size:9px;font-style:normal}.annotation-section legend small{color:#94a1aa;margin-left:auto;font-size:9px;font-weight:400}.annotation-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.annotation-choice{color:#566d7e;text-align:left;background:#fff;border:1px solid #d8e2e7;border-radius:6px;min-height:30px;padding:5px 10px;font-size:10px}.annotation-choice:hover{background:#f3fafb;border-color:#9fcdd2}.annotation-choice.selected{color:#07717d;background:#e1f5f6;border-color:#13939f;box-shadow:inset 0 0 0 1px #13939f14}.annotation-section:disabled .annotation-choice{cursor:not-allowed;opacity:.65}.annotation-choice:last-child:nth-child(odd){grid-column:1/-1}.annotation-choice:focus-visible{outline-offset:2px;outline:2px solid #1995a1}.notes-field{color:#314c60;flex-direction:column;gap:7px;margin:0 0 13px;font-size:11px;font-weight:650;display:flex}.notes-field textarea{resize:vertical;color:#405a6c;border:1px solid #d6e0e6;border-radius:7px;outline:0;min-height:76px;padding:8px 9px;font:11px/1.5 inherit}.notes-field textarea:focus{border-color:#1995a1;box-shadow:0 0 0 2px #1995a11a}.no-disease-note{color:#54756b;background:#f0faf7;border:1px solid #cde7df;border-radius:8px;flex-direction:column;gap:4px;margin-bottom:14px;padding:12px;font-size:10px;display:flex}.no-disease-note strong{color:#17765c;font-size:12px}.annotation-form-error{color:#c33749;min-height:18px;margin:0 0 7px;font-size:11px}.save-annotation{color:#fff;background:linear-gradient(100deg,#176fe2,#0d94a5);border:0;border-radius:8px;width:100%;height:42px;font-weight:650}.save-annotation:disabled,.complete-button:disabled{cursor:not-allowed;opacity:.55}@media (width<=1200px){.annotation-toolbar{gap:12px}.annotation-task-title{flex-basis:140px}.annotation-toolbar-selectors,.annotation-toolbar-actions{gap:12px}.radar-aux-panel>header{flex-direction:column;align-items:stretch;gap:7px}.horizontal-slice-tools{justify-content:flex-start}}@media (width<=1400px){.annotation-toolbar{flex-wrap:wrap}.annotation-task-title{flex:1}.annotation-toolbar-selectors{flex-basis:100%;order:1}}@media (width<=900px){.login-page{grid-template-columns:1fr}.brand-panel{display:none}.form-panel{min-height:100vh;padding:42px 24px}.mobile-brand{color:var(--navy);align-items:center;gap:12px;margin-bottom:42px;font-weight:700;display:flex}.mobile-brand .logo-mark{width:40px;height:40px;color:var(--navy);background:#f0f7fa;border-color:#d7e6ec}.task-row{grid-template-columns:minmax(0,1fr) 90px 120px}.task-row time{display:none}.annotation-layout{grid-template-columns:1fr}.annotation-details-column{position:static}.annotation-form-panel{max-height:none;position:static}.annotation-form-panel form{max-height:none}.radar-view-grid{grid-template-columns:1fr}.cross-canvas-wrap{height:360px}}@media (width<=640px){.topbar{height:auto;padding:14px 18px}.topbar-brand small,.user-meta,.logout{display:none}.workbench-main{padding:32px 18px}.stats{grid-template-columns:1fr}.task-panel-header{flex-direction:column;align-items:stretch;gap:15px}.task-tabs{overflow-x:auto}.task-list{padding:0 16px}.task-row{grid-template-columns:minmax(0,1fr);gap:10px}.task-state{display:none}.task-action{grid-column:1/-1}.annotation-main{padding:12px 12px 30px}.annotation-toolbar{gap:6px 12px;padding:0 12px;position:relative}.annotation-task-title{font-size:16px}.annotation-toolbar-selectors{grid-template-columns:minmax(0,1fr) 112px;gap:8px 12px;display:grid}.annotation-selector-field{grid-column:1/-1}.annotation-selector-field .searchable-select{flex:1;min-width:0}.annotation-toolbar-selectors select{width:100%}.annotation-toolbar-actions{flex-basis:100%;order:2;justify-content:space-between;margin-left:0}.annotation-task-details{position:static}.annotation-task-details dl{width:calc(100% - 24px);top:calc(100% + 8px);right:12px}.location-hint-list{position:static}.location-hint-popover{width:calc(100% - 24px);top:calc(100% + 8px);right:12px}.location-hint-items button{grid-template-columns:1fr 80px}.location-hint-items code{grid-column:1/-1}.horizontal-canvas-wrap{height:240px}.horizontal-slice-tools label{flex:100%}.horizontal-slice-tools label input[type=range]{flex:1}.horizontal-slice-control{flex-wrap:wrap;gap:6px 10px}.horizontal-slice-control output{flex-basis:100%}.horizontal-slice-control>span{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
