#anno-root{position:fixed;inset:0;z-index:2147483000;pointer-events:none;font:13px/1.5 -apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#17262b;margin:0;padding:0;border:0;background:none;max-width:none;max-height:none;width:auto;height:auto;overflow:visible}
#anno-root *{box-sizing:border-box}
#anno-root button{font:inherit;cursor:pointer}
#anno-fab{position:fixed;right:18px;bottom:18px;pointer-events:auto;border:0;border-radius:22px;padding:10px 16px;background:#16323a;color:#fff;font-weight:700;box-shadow:0 6px 20px rgba(9,31,39,.35);letter-spacing:.5px}
#anno-fab:hover{background:#1f4651}
#anno-fab.on{background:#e8590c}
#anno-fab-count{display:inline-block;margin-left:4px;min-width:18px;font-weight:800}
#anno-bar{position:fixed;left:50%;top:10px;transform:translateX(-50%);display:none;align-items:center;gap:4px;padding:6px;border-radius:10px;background:#16323a;box-shadow:0 8px 26px rgba(9,31,39,.35);pointer-events:auto;white-space:nowrap}
.anno-on #anno-bar{display:flex}
#anno-bar button{border:1px solid transparent;background:transparent;color:#e6f0f2;padding:6px 10px;border-radius:7px}
#anno-bar button:hover{background:rgba(255,255,255,.12)}
#anno-bar button.active{background:#e8590c;color:#fff}
#anno-bar .anno-sep{width:1px;height:22px;background:rgba(255,255,255,.2);margin:0 4px}
#anno-bar .anno-check{color:#cfe0e4;display:flex;align-items:center;gap:4px;padding:0 6px;cursor:pointer}
#anno-hint{position:fixed;left:50%;top:58px;transform:translateX(-50%);display:none;padding:5px 12px;border-radius:6px;background:rgba(232,89,12,.95);color:#fff;font-size:12px}
#anno-hint.show{display:block}
#anno-svg,#anno-pins{position:fixed;inset:0;pointer-events:none;overflow:visible}
#anno-svg{width:100vw;height:100vh}
#anno-svg ellipse,#anno-svg path,#anno-draw ellipse,#anno-draw path{fill:rgba(232,89,12,.06);stroke:#e8590c;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#anno-svg path,#anno-draw path{fill:none}
#anno-svg .resolved{stroke:#8aa0a6;stroke-dasharray:6 5;fill:none}
#anno-svg .hot{stroke:#d6336c;stroke-width:5}
.anno-elbox{position:fixed;border:2px dashed #e8590c;border-radius:4px;background:rgba(232,89,12,.05)}
.anno-elbox.resolved{border-color:#8aa0a6}
.anno-elbox.hot{border:3px solid #d6336c;background:rgba(214,51,108,.08)}
.anno-pin{position:fixed;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50% 50% 50% 4px;border:2px solid #fff;background:#e8590c;color:#fff;font-weight:800;font-size:12px;line-height:22px;padding:0;text-align:center;pointer-events:auto;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.anno-pin.t-element{background:#1971c2}.anno-pin.t-text{background:#2f9e44}.anno-pin.t-image{background:#7048e8}
.anno-pin.resolved{background:#8aa0a6}
.anno-pin.missing{outline:2px dashed #fa5252}
.anno-pin.hot,.anno-pin:hover{transform:translate(-50%,-50%) scale(1.25);z-index:2}
#anno-hl{position:fixed;display:none;border:2px solid #1971c2;background:rgba(25,113,194,.1);border-radius:3px;pointer-events:none;transition:all .05s}
#anno-hl-label{position:fixed;display:none;padding:1px 6px;background:#1971c2;color:#fff;font-size:11px;border-radius:3px;pointer-events:none;max-width:60vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
html.anno-selecting,html.anno-selecting *{cursor:crosshair!important}
#anno-capture{position:fixed;inset:0;display:none;pointer-events:auto;cursor:crosshair;background:rgba(22,50,58,.04);touch-action:none}
#anno-capture.show{display:block}
#anno-capture.text,#anno-capture.image{cursor:copy}
#anno-draw{position:absolute;inset:0;width:100%;height:100%}
#anno-panel{position:fixed;top:0;right:0;bottom:0;width:360px;max-width:92vw;display:none;flex-direction:column;background:#fff;border-left:1px solid #d6e0e3;box-shadow:-8px 0 28px rgba(9,31,39,.18);pointer-events:auto}
#anno-panel.show{display:flex}
.anno-panel-head{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#16323a;color:#fff}
.anno-panel-head span{flex:1;color:#b8ccd1;font-size:12px}
.anno-panel-head button{border:0;background:transparent;color:#fff;font-size:16px}
.anno-panel-filters{display:flex;gap:12px;align-items:center;padding:8px 14px;border-bottom:1px solid #e4eaec;font-size:12px}
.anno-panel-filters a{margin-left:auto;color:#1971c2}
.anno-panel-list{flex:1;overflow:auto;padding:8px}
.anno-item{border:1px solid #e1e8ea;border-radius:8px;padding:9px 10px;margin-bottom:8px;background:#fbfcfc}
.anno-item:hover{border-color:#e8590c}
.anno-item.resolved{opacity:.6}
.anno-item-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.anno-num{display:inline-block;min-width:22px;height:22px;border-radius:11px;background:#e8590c;color:#fff;text-align:center;font-weight:800;font-size:12px;line-height:22px;padding:0 5px}
.anno-num.t-element{background:#1971c2}.anno-num.t-text{background:#2f9e44}.anno-num.t-image{background:#7048e8}
.anno-tag{font-size:11px;padding:0 6px;border-radius:4px;background:#e9f0f2;color:#3b5258}
.anno-tag.ctx{background:#fff4d2;color:#775500}
.anno-meta{font-size:11px;color:#7a8b90;margin-left:auto}
.anno-target{font-size:12px;color:#516a70;margin:4px 0;word-break:break-all}
.anno-text{white-space:pre-wrap;word-break:break-word;margin:4px 0}
.anno-thumbs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.anno-thumbs img{width:64px;height:48px;object-fit:cover;border-radius:4px;border:1px solid #d6e0e3}
.anno-replies{font-size:12px;color:#40575d;border-left:3px solid #e4eaec;padding-left:8px;margin:4px 0}
.anno-item-actions{display:flex;gap:6px;margin-top:6px}
.anno-item-actions button,#anno-editor button{border:1px solid #cfdadd;background:#fff;color:#17262b;border-radius:6px;padding:3px 10px;font-size:12px}
.anno-item-actions button:hover,#anno-editor button:hover{border-color:#16323a}
#anno-root button.danger{color:#c92a2a;border-color:#f1c4c4}
#anno-root button.primary{background:#e8590c;border-color:#e8590c;color:#fff}
.anno-empty{color:#7a8b90;text-align:center;padding:30px 10px}
#anno-editor{position:fixed;width:360px;display:none;flex-direction:column;gap:8px;padding:12px;border-radius:10px;background:#fff;border:1px solid #d6e0e3;box-shadow:0 14px 40px rgba(9,31,39,.3);pointer-events:auto}
#anno-editor.show{display:flex}
.anno-ed-head{display:flex;align-items:center;gap:8px}
.anno-ed-head [data-ed="cancel"]{margin-left:auto;border:0!important;font-size:15px}
#anno-editor textarea,#anno-editor input[data-ed="name"]{width:100%;border:1px solid #cfdadd;border-radius:6px;padding:7px 9px;font:inherit;resize:vertical;color:#17262b;background:#fff}
#anno-editor textarea:focus,#anno-editor input:focus{outline:2px solid rgba(232,89,12,.35);border-color:#e8590c}
.anno-name{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#516a70}
.anno-ed-imgs{display:flex;gap:6px;flex-wrap:wrap}
.anno-ed-img{position:relative}
.anno-ed-img img{width:72px;height:54px;object-fit:cover;border-radius:4px;border:1px solid #d6e0e3}
.anno-ed-img button{position:absolute;top:-6px;right:-6px;width:18px;height:18px;padding:0!important;border-radius:50%!important;line-height:14px;background:#c92a2a!important;color:#fff!important;border:0!important}
.anno-ed-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.anno-file{border:1px dashed #9fb3b8;border-radius:6px;padding:3px 9px;font-size:12px;cursor:pointer;color:#3b5258}
.anno-file input{display:none}
.anno-ed-status{font-size:12px;color:#c92a2a}
#anno-toast{position:fixed;left:50%;bottom:70px;transform:translateX(-50%);padding:8px 16px;border-radius:8px;background:#16323a;color:#fff;opacity:0;transition:opacity .2s;pointer-events:none}
#anno-toast.show{opacity:1}#anno-toast.bad{background:#c92a2a}
@media(max-width:760px){#anno-bar{flex-wrap:wrap;justify-content:center;width:calc(100vw - 20px);white-space:normal}#anno-editor{width:calc(100vw - 16px)}}

#anno-sync{display:inline-block;font-size:12px;padding:3px 8px;border-radius:10px;margin:0 4px;cursor:pointer;white-space:nowrap;background:#eef2f7;color:#475569}
#anno-sync.anno-sync-synced{background:#e7f6ec;color:#15803d}
#anno-sync.anno-sync-pending{background:#fff7e6;color:#b45309}
#anno-sync.anno-sync-offline{background:#fdecec;color:#b91c1c}
