
:root{--paper:#f7f5ef;--ink:#102036;--muted:#66717d;--line:#d3d0c7;--white:#fffefa;--green:#536b50;--blue:#1b5fbf;--red:#9b3f39}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}.ms{max-width:1240px;margin:auto;padding:52px 22px 90px}
.hero{display:flex;justify-content:space-between;gap:24px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--line)}.kicker{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--green)}
h1{font:700 clamp(40px,5vw,64px)/1.02 Georgia,serif;margin:14px 0 12px}.lead{max-width:770px;color:var(--muted);line-height:1.65}
.heroActions{display:flex;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--ink);background:var(--ink);color:white;padding:11px 14px;font-weight:800;cursor:pointer;text-decoration:none}.btn.secondary{background:transparent;color:var(--ink)}
.tabs{display:flex;gap:8px;margin:24px 0}.tab{border:1px solid var(--line);background:white;padding:10px 13px;font-weight:800;cursor:pointer}.tab.active{background:var(--ink);color:white}
.view{display:none}.view.active{display:block}.libraryGrid{display:grid;grid-template-columns:340px 1fr;gap:16px}.panel{border:1px solid var(--line);background:var(--white)}.panelHead{padding:15px 18px;border-bottom:1px solid var(--line);font-weight:800}
.list{max-height:70vh;overflow:auto}.item{display:block;width:100%;text-align:left;padding:14px 17px;border:0;border-bottom:1px solid #e5e2da;background:white;color:var(--ink);cursor:pointer}.item.active,.item:hover{background:#eef2ea}.item small{display:block;color:var(--muted);margin-top:4px}
.viewer{padding:22px}.viewer h2{font:700 30px/1.08 Georgia,serif;margin:0 0 8px}.viewer .section{margin-top:22px}.step{border:1px solid #ddd9cf;padding:12px 13px;margin:7px 0;background:white}
.studioTop{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:15px}.limit{font-size:12px;color:var(--muted)}.studioGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card{border:1px solid var(--line);background:var(--white);padding:18px}.card.full{grid-column:1/-1}.card h3{margin:0 0 15px;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800}.field input,.field textarea,.field select{width:100%;padding:11px 12px;border:1px solid var(--line);background:white;font:inherit;color:var(--ink)}.field textarea{min-height:96px;resize:vertical}
.actionsList{display:grid;gap:8px}.actionRow{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:start}.actionRow textarea{min-height:64px}.smallBtn{border:1px solid var(--line);background:white;min-height:42px;cursor:pointer;font-weight:800}
.annotator{border:1px solid var(--line);padding:12px}.annotatorTop{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.canvasWrap{position:relative;background:#eef0ec;min-height:220px;display:grid;place-items:center;overflow:auto}.canvasWrap canvas{max-width:100%;height:auto;display:block}.annToolbar{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.annToolbar button{border:1px solid var(--line);background:white;padding:8px 10px;font-weight:800;cursor:pointer}.legend{font-size:12px}.legendRow{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:7px 0;border-top:1px solid #e6e2da}.legendMark{font-weight:900}
.savedGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.savedCard{border:1px solid var(--line);padding:14px;background:white}.savedCard h4{margin:0 0 6px}.savedCard small{color:var(--muted)}.savedActions{display:flex;gap:7px;margin-top:12px}.savedActions button{border:1px solid var(--line);background:white;padding:7px 9px;cursor:pointer}
.docNotice{font-size:12px;line-height:1.55;color:var(--muted);border-left:3px solid var(--green);padding:10px 12px;background:#edf1e8;margin-top:12px}
@media(max-width:820px){.ms{padding:36px 14px 70px}.hero{display:block}.heroActions{margin-top:18px}.libraryGrid,.studioGrid,.fields{grid-template-columns:1fr}.card.full,.field.full{grid-column:auto}.savedGrid{grid-template-columns:1fr}.annotatorTop{grid-template-columns:1fr}}
@media print{.platformShell,.psLegalFooter,.heroActions,.tabs,.studioTop,.savedGrid,.btn,.annToolbar,.noPrint{display:none!important}.ms{max-width:none;padding:0}.view{display:none!important}.view.printActive{display:block!important}.card{border:0;padding:0}.studioGrid{display:block}.card{margin-bottom:18px}}

/* V15.11 — Professional machine-photo annotation studio */
.annotationIntro{margin:-4px 0 16px;color:var(--muted);line-height:1.55;max-width:900px}
.proAnnotator{padding:0;border:1px solid #d8dce2;background:#fff;overflow:hidden}
.annHeader{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #e1e4e8;background:#fafbfc}
.annFileBlock{display:flex;align-items:center;gap:10px;min-width:0}.annFileBtn{display:inline-flex;align-items:center;justify-content:center;background:#0e1b2b;color:#fff;padding:10px 13px;font-weight:800;cursor:pointer;border-radius:2px;white-space:nowrap}.annFileBtn input{display:none}.annFilename{font-size:12px;color:#596577;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}
.annZoom{display:flex;align-items:center;gap:5px}.annZoom button{border:1px solid #ccd2da;background:#fff;min-width:38px;height:38px;font-weight:800;cursor:pointer}.annZoom strong{display:inline-flex;align-items:center;justify-content:center;height:38px;min-width:58px;border:1px solid #ccd2da;background:#fff;font-size:12px}
.annWorkspace{display:grid;grid-template-columns:220px minmax(0,1fr) 290px;min-height:620px}.annTools,.annLegendPanel{padding:14px;background:#fbfcfd}.annTools{border-right:1px solid #e0e4e9}.annLegendPanel{border-left:1px solid #e0e4e9}.annSideTitle{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin:1px 0 10px;color:#1c2b3e}.toolGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.toolBtn{min-height:70px;border:1px solid #d5dbe2;background:#fff;color:#16253a;cursor:pointer;display:grid;place-items:center;padding:7px}.toolBtn span{font-size:26px;line-height:1}.toolBtn b{font-size:11px}.toolBtn.active{border-color:#1769d2;box-shadow:inset 0 0 0 1px #1769d2;background:#f3f8ff}.annHistory{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.annHistory button,.clearBtn{border:1px solid #d5dbe2;background:#fff;padding:9px 8px;font-weight:800;cursor:pointer;color:#27374c}.annHistory button:disabled{opacity:.35;cursor:not-allowed}.clearBtn{width:100%;margin:7px 0 18px}.palette{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}.colorSwatch{aspect-ratio:1;border:2px solid transparent;border-radius:4px;cursor:pointer;min-width:0}.colorSwatch.active{outline:2px solid #0e1b2b;outline-offset:2px}.thickness{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;font-size:11px;margin-bottom:18px}.thickness input{grid-column:1/-1;width:100%}.annField{display:grid;gap:5px;margin-bottom:9px}.annField span{font-size:10px;font-weight:800}.annField input,.annField textarea{width:100%;border:1px solid #ccd2da;padding:9px;font:inherit}.annField textarea{min-height:72px;resize:vertical}.annHint{font-size:10px;color:#6f7b8a;line-height:1.45;padding:8px;background:#f2f5f8;border-left:3px solid #7f91a8}
.annStage{background:#eef1f4;display:grid;grid-template-rows:1fr auto;min-width:0}.canvasViewport{overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:12px;min-height:560px}.canvasTransform{width:100%;transition:width .15s ease}.canvasTransform canvas{display:block;width:100%;height:auto;background:#dce1e6;box-shadow:0 1px 4px rgba(0,0,0,.13);cursor:crosshair}.annStatus{padding:9px 12px;background:#111c2a;color:#dbe5f0;font-size:11px;min-height:34px}
.proLegend{display:grid;gap:8px}.proLegendRow{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:start;padding:9px 0;border-top:1px solid #e0e4e9}.proLegendRow:first-child{border-top:0}.legendNo{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ann-color);color:#fff;font-weight:900;font-size:11px}.legendText{display:grid;gap:3px}.legendText b{font-size:11px;line-height:1.25}.legendText small{font-size:10px;color:#667386;line-height:1.35}.legendActions{display:flex;gap:3px}.legendActions button{border:0;background:transparent;cursor:pointer;padding:3px;color:#475569}.emptyLegend{font-size:11px;color:#7a8595;padding:12px 0}.exportTitle{margin-top:24px}.exportBtn{width:100%;border:1px solid #1a283b;background:#fff;padding:11px 10px;font-weight:800;margin-bottom:7px;cursor:pointer;color:#15243a}.exportBtn.primary{background:#0e1b2b;color:#fff}
.miniAnnotator [data-empty-legend]{display:none}.miniAnnotator .legendRow{grid-template-columns:30px 1fr auto}.miniAnnotator .legendActions{display:flex}
@media(max-width:1080px){.annWorkspace{grid-template-columns:190px minmax(0,1fr)}.annLegendPanel{grid-column:1/-1;border-left:0;border-top:1px solid #e0e4e9}.annLegendPanel .proLegend{grid-template-columns:repeat(2,minmax(0,1fr))}.annLegendPanel .exportBtn{max-width:340px;margin-right:7px}.canvasViewport{min-height:470px}}
@media(max-width:760px){.annHeader{align-items:flex-start;flex-direction:column}.annFileBlock{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr)}.annFilename{max-width:none}.annWorkspace{display:block}.annTools{border-right:0;border-bottom:1px solid #e0e4e9}.toolGrid{grid-template-columns:repeat(3,1fr)}.toolBtn{min-height:62px}.palette{grid-template-columns:repeat(10,1fr)}.annStage{min-height:0}.canvasViewport{min-height:300px;padding:7px}.annLegendPanel{border-left:0}.annLegendPanel .proLegend{grid-template-columns:1fr}.annZoom{width:100%;justify-content:flex-end}.annFileBtn{padding:9px 10px}.proAnnotator{margin-left:-6px;margin-right:-6px}}
