.tps{position:relative;width:100%;min-width:0;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;font-family:var(--font-sans)}.tps *,.tps *:before,.tps *:after{box-sizing:border-box}.tps [hidden]{display:none!important}.tps button,.tps select,.tps input{font:inherit}.tps button{cursor:pointer;color:var(--text-2);touch-action:manipulation}.tps button:disabled{cursor:default;opacity:.45}.tps button:focus-visible,.tps a:focus-visible,.tps input:focus-visible,.tps select:focus-visible,.tps canvas:focus-visible,.tps summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tps-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tps-controls{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:var(--sp-3)}.tps-languages{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.tps-language{min-width:43px;min-height:36px;padding:7px 12px;font-family:var(--font-mono)!important;font-size:12px!important;background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.tps-language:hover{color:var(--text);border-color:var(--border-strong)}.tps-language[aria-pressed=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.tps-refine{display:flex;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap}.tps-refine label{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-3);font-size:12px;min-width:0}.tps-refine select{min-height:35px;max-width:230px;min-width:0;padding:7px 25px 7px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);font-size:12px}.tps-refine select:disabled{opacity:.5}.tps-text-button{padding:7px 0;color:var(--accent)!important;border:0;background:none;font-size:12px!important}.tps-text-button:hover{color:var(--accent-hover)!important}.tps-refine>button{margin-left:auto;min-height:35px}.tps-stage{position:relative;height:clamp(220px,min(55vw,68svh),640px);min-width:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 5%,transparent),transparent 68%),var(--bg)}.tps-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}.tps-dragging .tps-stage canvas{cursor:grabbing!important}.tps-stat{position:absolute;top:var(--sp-5);left:var(--sp-5);pointer-events:none;z-index:1}.tps-stat strong{display:block;color:var(--text);font-size:var(--fs-xl);font-weight:450;line-height:1.1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.tps-stat>span{display:block;color:var(--text-3);font-size:11px;margin-top:5px}.tps-pause{position:absolute;top:var(--sp-4);right:var(--sp-4);z-index:2;padding:7px 12px;min-height:34px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);font-size:12px!important}.tps-pause:hover{border-color:var(--accent);color:var(--accent)}.tps-cross{position:absolute;pointer-events:none;color:var(--annotation);opacity:.45;font:16px var(--font-mono)}.tps-cross--a{top:var(--sp-4);left:50%}.tps-cross--b{bottom:var(--sp-4);right:var(--sp-5)}.tps-tooltip{position:absolute;z-index:3;pointer-events:none;padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);box-shadow:0 8px 30px #0002;color:var(--text);font:11px var(--font-mono);white-space:nowrap}.tps-message{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:var(--sp-3);padding:var(--sp-6);pointer-events:none}.tps-message strong{font-size:var(--fs-lg);font-weight:450;letter-spacing:-.02em;color:var(--text)}.tps-message>span{font-size:var(--fs-xs);color:var(--text-2);max-width:320px;line-height:1.7}.tps-button{pointer-events:auto;margin-top:var(--sp-2);border:1px solid var(--accent);background:var(--accent);color:var(--accent-text)!important;padding:10px 17px;border-radius:var(--r-sm);font-size:var(--fs-xs)!important}.tps-caption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);color:var(--text-3);font-size:11px}.tps-caption>span:first-child{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tps-samples{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-2);padding:var(--sp-4) var(--sp-5) 0}.tps-sample{min-width:0;display:flex;align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px;text-align:left;background:var(--surface-2);transition:border-color var(--t-fast)}.tps-sample:hover{border-color:var(--accent)}.tps-sample img{width:48px;height:54px;flex-shrink:0;object-fit:cover;border-radius:3px}.tps-sample>span{min-width:0;color:var(--text-2);font-family:var(--font-mono);font-size:10px;overflow-wrap:anywhere}.tps-sample small{display:block;color:var(--text-3);font-family:var(--font-sans);font-size:10px;line-height:1.5;margin-top:5px}.tps-note{padding:var(--sp-4) var(--sp-5);color:var(--text-3);font-size:12px;line-height:1.7;margin:0}.tps-compact-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-4) var(--sp-3);font-size:12px}.tps-compact-actions a{display:flex;align-items:center;gap:var(--sp-3);color:var(--accent)}.tps--compact{border:0;border-radius:inherit}.tps--compact .tps-controls{padding:var(--sp-3) var(--sp-4)}.tps--compact .tps-language{min-width:36px;padding-inline:9px}.tps--compact .tps-stage{height:clamp(220px,min(31vw,60svh),430px)}.tps--compact .tps-stat{top:var(--sp-4);left:var(--sp-4)}.tps--compact .tps-stat strong{font-size:28px}.tps--compact .tps-stat>span{font-size:10px}.tps--compact .tps-caption{padding:var(--sp-3) var(--sp-4) var(--sp-2);font-size:10px}.tps--compact .tps-caption>span:last-child{display:none}.tps-dialog{width:min(1180px,calc(100vw - 48px));height:min(800px,calc(100dvh - 48px));max-height:none;max-width:none;margin:auto;padding:0;border:1px solid var(--border-strong);border-radius:var(--r-lg);color:var(--text);background:var(--surface);box-shadow:0 25px 100px #0005;overflow:hidden;font-family:var(--font-sans);overscroll-behavior:contain}.tps-dialog[open]{display:flex;flex-direction:column}.tps-dialog::backdrop{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(7px)}.tps-dialog-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.tps-dialog-header>div{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);min-width:0}.tps-micro{font-family:var(--font-mono);font-size:10px;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase}.tps-dialog h2{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:500;letter-spacing:0;margin:0}.tps-status{font-size:11px;padding:4px 7px;border-radius:4px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.tps-status--checked{color:var(--annotation);border-color:color-mix(in srgb,var(--annotation) 35%,transparent)}.tps-close{flex-shrink:0;width:34px;height:34px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);font-size:24px!important;line-height:1}.tps-dialog-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0;flex:1}.tps-image-panel{display:flex;flex-direction:column;min-width:0;min-height:0}.tps-image-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);flex-shrink:0}.tps-image-toolbar>label:first-child{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:6px;margin-right:auto}.tps-image-toolbar input[type=checkbox]{accent-color:var(--accent)}.tps-image-toolbar>button{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);min-height:32px;padding:5px 10px;font-size:12px}.tps-image-toolbar>button:hover{color:var(--accent);border-color:var(--accent)}.tps-zoom{display:flex;align-items:center;gap:var(--sp-2);margin-left:var(--sp-2)}.tps-zoom input{width:90px;accent-color:var(--accent);min-width:0}.tps-zoom output{font-family:var(--font-mono);font-size:11px;color:var(--text-2);min-width:40px}.tps-image-viewport{display:grid;place-items:safe center;overflow:auto;min-height:180px;flex:1;position:relative;cursor:grab;touch-action:pan-x pan-y;background:var(--bg);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--bg)}.tps-image-surface{position:relative;margin:16px;flex-shrink:0;box-shadow:0 5px 30px #0002}.tps-image-surface img{width:100%;height:100%;max-width:none;display:block;object-fit:fill;user-select:none;pointer-events:none}.tps-image-surface svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.tps-image-surface polygon{stroke:var(--annotation);stroke-width:1.3;fill:color-mix(in srgb,var(--annotation) 5%,transparent);cursor:pointer}.tps-image-surface polygon:hover,.tps-image-surface polygon.is-selected,.tps-image-surface polygon:focus-visible{stroke:var(--accent);stroke-width:2;fill:color-mix(in srgb,var(--annotation) 20%,transparent);outline:none}.tps-image-caption{padding:var(--sp-3) var(--sp-4);color:var(--text-3);font-family:var(--font-mono);font-size:10px;border-top:1px solid var(--border);flex-shrink:0}.tps-image-loading{position:sticky;top:45%;left:20px;padding:var(--sp-4);font-size:var(--fs-xs);color:var(--text-2);pointer-events:none;margin:0}.tps-readout{min-width:0;min-height:0;overflow:auto;border-left:1px solid var(--border);padding:var(--sp-5);scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--surface)}.tps-photo-meta{margin:0 0 var(--sp-5)}.tps-photo-meta>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:var(--sp-3);padding:8px 0;border-bottom:1px solid var(--border);font-size:12px;line-height:1.5}.tps-photo-meta dt{color:var(--text-3)}.tps-photo-meta dd{margin:0;color:var(--text-2);overflow-wrap:anywhere}.tps-readout h3{font-size:var(--fs-sm);font-weight:500;margin:0 0 var(--sp-3)}.tps-detail-state{color:var(--text-3);font-size:12px;line-height:1.7;margin:0 0 var(--sp-4)}.tps-selected-region{border:1px solid color-mix(in srgb,var(--annotation) 40%,transparent);border-radius:var(--r-sm);background:color-mix(in srgb,var(--annotation) 6%,var(--surface));padding:var(--sp-3);margin-bottom:var(--sp-4)}.tps-selected-region>p{font-size:var(--fs-md);line-height:1.6;color:var(--text);margin:var(--sp-2) 0;white-space:pre-wrap;overflow-wrap:anywhere}.tps-selected-region>small{display:block;font-size:11px;color:var(--text-3)}.tps-selected-region>button{display:block;margin-top:var(--sp-2)}.tps-region-list{display:flex;flex-direction:column;gap:6px}.tps-region{display:grid;grid-template-columns:22px minmax(0,1fr) 48px;gap:var(--sp-2);width:100%;text-align:left;padding:10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);font-size:12px!important;line-height:1.55}.tps-region:hover,.tps-region.is-selected{border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.tps-region>span{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text)}.tps-region>small{font-family:var(--font-mono);font-size:10px;color:var(--text-3)}.tps-confidence{text-align:right}.tps-transcript{margin-top:var(--sp-5);border-top:1px solid var(--border);padding-top:var(--sp-4)}.tps-transcript summary{font-size:12px;cursor:pointer;color:var(--text-2)}.tps-transcript pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;font-family:var(--font-sans);font-size:12px;padding:var(--sp-3);line-height:1.7;margin:var(--sp-3) 0 0}.tps-readout-note{margin:var(--sp-5) 0 0;color:var(--text-3);font-size:11px;line-height:1.7}.tps-dialog-navigation{display:flex;justify-content:space-between;gap:var(--sp-3);margin-top:var(--sp-5)}.tps-dialog-navigation button{border:0;background:none;color:var(--accent);padding:6px 0;font-size:12px}@media(max-width:950px){.tps-sample{flex-direction:column;align-items:stretch}.tps-sample img{width:100%;height:68px}.tps-sample>span{padding:3px}.tps-sample small{margin-top:3px}.tps-dialog-body{grid-template-columns:minmax(0,1fr) 300px}.tps-readout{padding:var(--sp-4)}.tps-zoom{width:100%;margin:0}.tps-zoom input{flex:1;width:auto}}@media(max-width:600px){.tps-controls{padding:var(--sp-3);gap:var(--sp-3)}.tps-languages{gap:5px}.tps-language{min-width:37px;padding:7px 9px;min-height:36px;font-size:11px!important}.tps-refine{gap:var(--sp-3)}.tps-refine label{flex:1 1 120px;flex-direction:column;align-items:stretch;gap:6px;font-size:11px}.tps-refine select{width:100%;max-width:none;padding:8px 5px;font-size:12px}.tps-refine>button{width:100%;text-align:left;min-height:20px;padding:0}.tps-stage{height:clamp(240px,48svh,420px)}.tps-stat{top:var(--sp-4);left:var(--sp-4)}.tps-stat strong{font-size:28px}.tps-stat>span{font-size:10px}.tps-pause{padding:6px 10px;top:var(--sp-3);right:var(--sp-3);font-size:11px!important}.tps-caption{padding:var(--sp-3);font-size:10px}.tps-caption>span:last-child{font-size:10px}.tps-samples{padding:var(--sp-3) var(--sp-3) 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tps-sample:nth-child(n+4){display:none}.tps-sample img{height:65px}.tps-sample>span{font-size:10px}.tps-sample small{font-size:10px}.tps-note{padding:var(--sp-3);font-size:11px}.tps--compact .tps-controls{padding:var(--sp-3)}.tps--compact .tps-stage{height:clamp(220px,42svh,350px)}.tps--compact .tps-caption{padding:var(--sp-3)}.tps-compact-actions{padding:0 var(--sp-3) var(--sp-3);gap:var(--sp-3)}.tps-dialog{width:100%;height:100dvh;margin:0;border:0;border-radius:0;overflow:auto}.tps-dialog[open]{display:block}.tps-dialog-header{padding:var(--sp-3) var(--sp-4);position:sticky;top:0;z-index:5;background:var(--surface)}.tps-dialog-header .tps-micro{display:none}.tps-dialog-header>div{gap:var(--sp-2)}.tps-dialog h2{font-size:13px}.tps-status{font-size:10px}.tps-dialog-body{display:block}.tps-image-panel{height:65dvh;min-height:360px;max-height:580px}.tps-image-toolbar{padding:var(--sp-3)}.tps-image-toolbar>label:first-child{font-size:11px}.tps-image-toolbar>button{font-size:11px}.tps-image-caption{font-size:10px;padding:var(--sp-3)}.tps-readout{border-left:0;border-top:1px solid var(--border);padding:var(--sp-5) var(--sp-4);overflow:visible}.tps-photo-meta>div{font-size:13px}.tps-region{font-size:13px!important;padding:12px}.tps-region>small{font-size:10px}.tps-readout-note{font-size:12px}.tps-dialog-navigation button{min-height:40px;font-size:13px}}@media(prefers-reduced-motion:reduce){.tps *,.tps *:before,.tps *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
