.histo-zoom{background:#f3ecdc;position:absolute;inset:0;overflow:hidden}.histo-zoom-osd{opacity:0;transition:opacity .35s;position:absolute;inset:0}.histo-zoom.is-ready .histo-zoom-osd{opacity:1}.histo-zoom-osd canvas{outline:none}.histo-zoom-preview{object-fit:cover;-webkit-user-select:none;user-select:none;cursor:zoom-in;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0}.histo-zoom.is-ready .histo-zoom-preview{opacity:0;pointer-events:none}.histo-zoom-start{background:color-mix(in srgb, var(--ink) 88%, transparent);color:#fff;font-family:var(--font-heading);letter-spacing:.4px;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:none;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;font-size:17px;font-weight:600;transition:background .15s,transform .1s;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 26px #00000059}.histo-zoom-start svg{width:20px;height:20px;color:var(--gold)}.histo-zoom-start:hover{background:var(--ink);transform:translate(-50%,-50%)translateY(-1px)}.histo-zoom-loading{background:color-mix(in srgb, var(--ink) 80%, transparent);color:#fff;pointer-events:none;border-radius:999px;padding:8px 14px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.histo-zoom-mag{background:color-mix(in srgb, var(--band) 76%, transparent);border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);-webkit-backdrop-filter:blur(14px)saturate(130%);backdrop-filter:blur(14px)saturate(130%);color:var(--band-gold);font-family:var(--font-heading);letter-spacing:.4px;pointer-events:none;text-align:center;border-radius:999px;min-width:52px;padding:5px 11px;font-size:15px;font-weight:700;position:absolute;bottom:12px;left:12px}.histo-annotation-tools{z-index:3;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100% - 130px);display:flex;position:absolute;top:12px;right:12px}.histo-annotation-toggle,.histo-annotation-list-toggle{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);background:color-mix(in srgb, var(--band) 76%, transparent);min-height:34px;color:var(--band-ink);line-height:1;font:700 13px var(--font-heading);cursor:pointer;-webkit-backdrop-filter:blur(14px)saturate(130%);backdrop-filter:blur(14px)saturate(130%);border-radius:999px;align-items:center;gap:5px;padding:0 12px;display:inline-flex}.histo-annotation-toggle[aria-pressed=true]{border-color:var(--gold);box-shadow:0 0 16px color-mix(in srgb, var(--gold) 35%, transparent)}.histo-annotation-toggle-pin{width:17px;height:17px;color:var(--gold);flex:none;display:inline-flex}.histo-annotation-toggle-pin svg{width:100%;height:100%;display:block}.histo-annotation-list{z-index:4;border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);background:color-mix(in srgb, var(--band) 78%, transparent);min-width:min(225px,100% - 24px);max-height:none;box-shadow:0 12px 28px var(--shadow);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);border-radius:14px;gap:4px;padding:8px;display:grid;position:absolute;top:55px;right:12px;overflow:visible}.histo-annotation-list.is-docked{min-width:0;position:static}.histo-dock-panel{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .38s,opacity .28s,margin-bottom .38s;display:grid}.histo-dock-panel.is-open{opacity:1;grid-template-rows:1fr;margin-bottom:12px;animation:.42s both histo-dock-in}.histo-dock-inner{min-height:0;overflow:hidden}@keyframes histo-dock-in{0%{opacity:0;grid-template-rows:0fr;margin-bottom:0}to{opacity:1;grid-template-rows:1fr;margin-bottom:12px}}.histo-annotation-list-heading{color:var(--band-gold);font:700 13px var(--font-heading);padding:6px 9px 2px}.histo-annotation-legend{border:1px solid color-mix(in srgb, var(--gold) 24%, transparent);background:color-mix(in srgb, var(--band) 45%, transparent);color:var(--band-ink);font:500 11px/1.3 var(--font-body);border-radius:9px;gap:7px;margin:2px 5px 8px;padding:9px 8px;display:grid}.histo-annotation-legend>span{align-items:center;gap:8px;display:flex}.histo-legend-icon,.histo-annotation-list-icon{width:20px;height:20px;color:var(--gold);flex:none;place-items:center;display:inline-grid}.histo-annotation-list-icon{width:18px;height:18px}.histo-legend-icon svg,.histo-annotation-list-icon svg{width:100%;height:100%;display:block}.histo-kind-region{stroke:currentColor;stroke-width:2.2px;stroke-dasharray:2.6 3.1;stroke-linecap:round}.histo-kind-layer{stroke:currentColor;stroke-width:2.4px;stroke-linecap:round}.histo-kind-single{stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.histo-annotation-list button{width:100%;color:var(--band-ink);text-align:left;font:600 13px var(--font-heading);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:9px;display:flex}.histo-annotation-list button:hover,.histo-annotation-list button:focus-visible{background:color-mix(in srgb, var(--gold) 18%, transparent)}.histo-annotation-list button.is-child{font-weight:500}.histo-annotation-tree-branch{color:var(--gold);flex:none;margin-right:-3px;font-size:16px;line-height:1}.histo-annotation-layer{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.histo-annotation-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.histo-annotation-lines g{animation:.38s both histo-annotation-reveal}.histo-arrow line,.histo-layer .line line{stroke:var(--gold);stroke-width:2.6px;stroke-linecap:round}.histo-arrow polygon{fill:var(--gold);stroke:var(--gold);stroke-width:1px;stroke-linejoin:round}.histo-arrow .halo,.histo-layer .halo line{stroke:color-mix(in srgb, var(--band) 62%, transparent);stroke-width:5.5px;stroke-linecap:round;fill:color-mix(in srgb, var(--band) 62%, transparent)}.histo-arrow polygon.halo{stroke-width:3px}.histo-arrow.is-selected line:not(.halo),.histo-layer.is-selected .line line{stroke-width:3.4px}.histo-layer .hit{stroke:#0000;stroke-width:20px;stroke-linecap:round;pointer-events:stroke;cursor:zoom-in}.histo-layer:hover .line line{stroke-width:3.4px}.histo-annotation-group{width:32px;height:32px;color:var(--gold);cursor:zoom-in;pointer-events:auto;background:0 0;border:0;padding:0;animation:.38s both histo-annotation-reveal;position:absolute;transform:translate(-50%,-50%)}.histo-annotation-group svg{width:100%;height:100%;display:block}.histo-annotation-label{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--gold) 60%, transparent);background:color-mix(in srgb, var(--band) 84%, transparent);color:var(--band-ink);font:700 12px/1.15 var(--font-heading);text-align:center;box-shadow:0 4px 12px var(--shadow);cursor:zoom-in;pointer-events:auto;border-radius:8px;justify-content:center;align-items:center;padding:0 9px;animation:.38s both histo-annotation-reveal;display:flex;position:absolute;overflow:hidden}.histo-annotation-label>span{display:block}.histo-annotation-label:hover,.histo-annotation-label.is-selected{border-color:var(--gold);background:var(--band)}.histo-annotation-label.is-selected{box-shadow:0 0 0 1px var(--gold), 0 4px 14px var(--shadow)}.histo-annotation-hint .histo-kind-region,.histo-annotation-hint .histo-kind-layer,.histo-annotation-hint .histo-kind-single{width:24px;height:24px}.histo-annotation-hint{width:28px;height:28px;color:var(--gold);cursor:zoom-in;pointer-events:auto;background:0 0;border:0;place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.histo-annotation-hint-core{place-items:center;width:28px;height:28px;display:grid}.histo-annotation-hint-core svg{width:100%;height:100%}.histo-annotation-hint.is-group{border-color:var(--band-gold);width:34px;height:34px}.histo-annotation-hint.is-group .histo-annotation-hint-core{width:34px;height:34px}.histo-annotation-placement{z-index:8;pointer-events:auto;cursor:crosshair;color:var(--band-ink);font:700 13px var(--font-body);text-shadow:0 1px 5px var(--band), 0 1px 5px var(--band);justify-content:center;align-items:flex-start;padding-top:12px;display:flex;position:absolute;inset:0}.histo-annotation-hint-label{border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);background:color-mix(in srgb, var(--band) 82%, transparent);width:max-content;max-width:150px;color:var(--band-ink);font:700 12px var(--font-heading);opacity:0;pointer-events:none;border-radius:7px;padding:5px 8px;transition:opacity .2s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.histo-annotation-hint:hover .histo-annotation-hint-label,.histo-annotation-hint:focus-visible .histo-annotation-hint-label{opacity:1}.histo-annotation-region{pointer-events:none;animation:.38s both histo-annotation-reveal;position:absolute}.histo-annotation-region-ring{width:100%;height:100%;fill:var(--gold);fill-opacity:.05;stroke:var(--gold);stroke-width:3px;stroke-dasharray:8 7;stroke-linecap:round;stroke-linejoin:round;display:block;position:absolute;inset:0;overflow:visible}.histo-annotation-region.is-selected .histo-annotation-region-ring{fill-opacity:.08;stroke-width:3.5px}.histo-annotation-label.is-editing,.histo-annotation-group.is-editing,.histo-layer.is-editing .hit,.histo-annotation-hint.is-editing{pointer-events:auto;cursor:grab;touch-action:none}.histo-annotation-label.is-editing:active,.histo-annotation-group.is-editing:active,.histo-annotation-hint.is-editing:active{cursor:grabbing}.histo-annotation-editor{z-index:9;border:1px solid var(--gold);background:color-mix(in srgb, var(--band) 80%, transparent);width:min(330px,100% - 24px);max-height:calc(100% - 105px);color:var(--band-ink);box-shadow:0 15px 35px var(--shadow);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);font:13px var(--font-body);border-radius:14px;gap:8px;padding:14px;display:grid;position:absolute;top:55px;left:12px;overflow-y:auto}.histo-annotation-editor strong{color:var(--gold);font:700 16px var(--font-heading)}.histo-annotation-editor .histo-annotation-editor-close{color:var(--band-ink);font:24px var(--font-body);background:0 0;border:0;padding:2px 7px;position:absolute;top:6px;right:7px}.histo-annotation-editor p{margin:0;line-height:1.4}.histo-annotation-editor label{gap:4px;font-weight:700;display:grid}.histo-annotation-editor input,.histo-annotation-editor select,.histo-annotation-editor textarea{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--gold) 50%, transparent);background:var(--surface-3);width:100%;color:var(--ink);font:13px var(--font-body);border-radius:7px;padding:7px}.histo-annotation-editor input[type=range]{accent-color:var(--gold);cursor:ew-resize;background:0 0;border:0;padding:0}.histo-annotation-editor-sliders{gap:9px;display:grid}.histo-annotation-editor-row,.histo-annotation-editor-coords{gap:7px;display:flex}.histo-annotation-editor-coords>label{flex:1;min-width:0}.histo-annotation-editor button{border:1px solid color-mix(in srgb, var(--gold) 60%, transparent);background:color-mix(in srgb, var(--gold) 15%, var(--band));color:var(--band-ink);font:700 12px var(--font-heading);cursor:pointer;border-radius:7px;padding:7px 9px}.histo-annotation-editor button:disabled{opacity:.55;cursor:wait}.histo-annotation-editor .histo-annotation-editor-save{background:var(--gold);color:var(--band)}.histo-annotation-editor-error{color:#ffb1a1}.histo-zoom.is-active .histo-zoom-controls{z-index:7}.histo-annotation-label:focus-visible,.histo-annotation-group:focus-visible,.histo-annotation-hint:focus-visible{outline:3px solid var(--fire);outline-offset:3px}.histo-annotation-info{z-index:4;border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);background:color-mix(in srgb, var(--band) 78%, transparent);width:min(330px,100% - 24px);color:var(--band-ink);box-shadow:0 12px 28px var(--shadow);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);border-radius:14px;padding:15px 38px 15px 16px;position:absolute;bottom:60px;right:12px}.histo-annotation-info strong{color:var(--band-gold)}.histo-annotation-info p{margin:6px 0 0;font-size:13px;line-height:1.45}.histo-annotation-info button{color:var(--band-ink);cursor:pointer;background:0 0;border:0;font-size:22px;position:absolute;top:5px;right:7px}@keyframes histo-annotation-reveal{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0}}.histo-zoom-controls{gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.histo-zoom-btn{background:color-mix(in srgb, var(--band) 76%, transparent);border:none;border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);-webkit-backdrop-filter:blur(14px)saturate(130%);backdrop-filter:blur(14px)saturate(130%);color:#fff;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;transition:background .15s,color .15s,transform .1s;display:inline-flex;box-shadow:0 4px 12px #00000040}.histo-zoom-btn svg{width:20px;height:20px}.histo-zoom-btn:hover{background:var(--gold);color:var(--ink);transform:translateY(-1px)}.histo-zoom.is-fullscreen{background:#1d1a13}.histo-zoom.is-fullscreen .histo-zoom-preview{object-fit:contain}.histo-zoom.is-fullscreen .histo-zoom-controls{bottom:20px;right:20px}.histo-zoom.is-fullscreen .histo-zoom-mag{font-size:17px;bottom:20px;left:20px}.histo-zoom .navigator{border-radius:8px;overflow:hidden;background:#2b251899!important;border:1px solid #d6a800b3!important;margin:12px!important}@media (max-width:640px){.histo-annotation-tools{max-width:calc(100% - 95px);top:8px;right:8px}.histo-annotation-toggle,.histo-annotation-list-toggle{min-height:30px;padding:0 9px;font-size:11px}.histo-annotation-list{top:43px;right:8px}.histo-annotation-label{font-size:10px}.histo-annotation-info{bottom:50px;right:8px}.histo-zoom-btn{width:34px;height:34px}.histo-zoom-start{padding:9px 16px;font-size:15px}}@media (prefers-reduced-motion:reduce){.histo-dock-panel{transition:none}.histo-dock-panel.is-open,.histo-annotation-label,.histo-annotation-group,.histo-annotation-region,.histo-annotation-lines g{animation:none}}
