.tr-head{max-width:56ch}.tr-head .iz-h2{margin-top:var(--sp-3)}.tr-sub{color:var(--tx-dim);font-size:var(--fs-body);max-width:60ch;margin:14px 0 0;line-height:1.6}.tr-hl{color:var(--orange);font-weight:600}.tr-field{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-strong);height:520px;box-shadow:var(--inset), var(--panel-sh);--mx:-500px;--my:-500px;cursor:crosshair;margin-top:28px;position:relative;overflow:hidden}.tr-grid{z-index:1;pointer-events:none;grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(10,1fr);padding:10px;display:grid;position:absolute;inset:0}.tr-dot{place-items:center;min-width:0;min-height:0;display:grid}.tr-dot-core{background:var(--tx-mute);opacity:.22;width:12px;height:12px;transition:background var(--dur) var(--ease-out), opacity var(--dur) var(--ease-out), width var(--dur) var(--ease-out), height var(--dur) var(--ease-out), border-radius var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);border-radius:2px;place-items:center;display:grid}button.tr-dot.alert{pointer-events:auto;cursor:pointer;background:0 0;border:0;padding:0;position:relative}button.tr-dot.alert:focus-visible{outline:2px solid var(--orange);outline-offset:6px;border-radius:var(--r-2xs)}button.tr-dot.alert:focus-visible:not(.resolved) .tr-dot-core{background:var(--tc);opacity:1;width:15px;height:15px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tc) 18%, transparent)}.tr-dot-ring{border:1.5px solid var(--tc,var(--orange));opacity:0;pointer-events:none;border-radius:2px;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes tr-ping{0%{opacity:.8;transform:translate(-50%,-50%)scale(1)}70%,to{opacity:0;transform:translate(-50%,-50%)scale(3)}}.tr-field.scan .tr-dot.alert.near:not(.resolved) .tr-dot-core{background:var(--tc);opacity:1;width:15px;height:15px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tc) 18%, transparent), 0 0 18px -2px var(--tc);border-radius:3px}.tr-field.scan .tr-dot.alert.near:not(.resolved) .tr-dot-ring{opacity:1;animation:1.8s cubic-bezier(0,0,.2,1) infinite tr-ping}.tr-field.scan .tr-dot.alert.near:not(.resolved):hover .tr-dot-core{transform:scale(1.25)}.tr-dot.alert.resolved .tr-dot-core{background:var(--allow);opacity:1;border-radius:var(--r-2xs);width:20px;height:20px;box-shadow:0 0 0 5px color-mix(in srgb, var(--allow) 16%, transparent), 0 0 16px -4px var(--allow)}.tr-dot.alert.resolved .tr-dot-core svg{color:#fff;width:12px;height:12px}.tr-dot.alert.resolved .tr-dot-ring{display:none}.tr-lens{width:260px;height:260px;left:var(--mx);top:var(--my);pointer-events:none;opacity:0;z-index:2;border:1px solid color-mix(in srgb, var(--orange) 35%, transparent);background:radial-gradient(circle, color-mix(in srgb, var(--orange) 6%, transparent), transparent 68%);transition:opacity var(--dur) var(--ease-out);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.tr-field.scan .tr-lens{opacity:1}.tr-field.magnet .tr-lens{transform:translate(-50%, -50%) scale(calc(1 - var(--pull,0) * .692));border-color:color-mix(in srgb, var(--orange) calc(35% + var(--pull,0) * 45%), transparent)}.tr-field.magnet.snap .tr-lens{transition:transform .16s var(--ease-out), opacity var(--dur) var(--ease-out);transform:translate(-50%,-50%)scale(.13)}.tr-field.magnet{cursor:none}.tr-field.magnet.has-card{cursor:auto}.tr-field.magnet.has-card .tr-cursor,.tr-field.magnet.has-card .tr-lens{display:none}.tr-cursor{z-index:6;pointer-events:none;width:32px;height:32px;transform:translate3d(var(--mx,-100px), var(--my,-100px), 0) translate(-50%, -50%);will-change:transform;transition:opacity var(--dur) var(--ease-out);place-items:center;display:none;position:absolute;top:0;left:0}.tr-field.magnet .tr-cursor{display:grid}.tr-cursor i{grid-area:1/1;display:block}.tr-cursor-box{width:calc(26px - var(--pull,0) * 15px);height:calc(26px - var(--pull,0) * 15px);border:1.5px solid color-mix(in srgb, var(--orange) calc(55% + var(--pull,0) * 45%), transparent);transform:rotate(calc(var(--pull,0) * 45deg));border-radius:3px}.tr-cursor-pip{background:var(--orange);width:3px;height:3px;opacity:calc(.55 + var(--pull,0) * .45);border-radius:1px}.tr-field.magnet.scan .tr-cursor{opacity:1}.tr-field.magnet:not(.scan) .tr-cursor{opacity:0}.tr-hint{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--tx-mute);letter-spacing:.04em;z-index:4;position:absolute;bottom:13px;left:16px}.tr-backdrop{z-index:8;background:color-mix(in srgb, var(--bg) 62%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:tr-fade var(--dur) var(--ease-out);position:absolute;inset:0}@keyframes tr-fade{0%{opacity:0}to{opacity:1}}.tr-card{z-index:9;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);width:min(420px,100% - 36px);max-height:calc(100% - 36px);padding:var(--sp-4);gap:var(--sp-3);animation:tr-cardin var(--dur) var(--ease);flex-direction:column;display:flex;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 30px 70px -24px #0009}@keyframes tr-cardin{0%{opacity:0;transform:translate(-50%,-46%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.tr-card::-webkit-scrollbar{width:5px}.tr-card::-webkit-scrollbar-thumb{background:var(--ghost);border-radius:var(--r-2xs)}.tr-close{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);width:26px;height:26px;color:var(--tx-mute);cursor:pointer;z-index:2;place-items:center;display:grid;position:absolute;top:12px;right:12px}.tr-close svg{width:14px;height:14px}.tr-close:hover{color:var(--tx)}.tr-alertline{border-radius:var(--r-card);border:1px solid color-mix(in srgb, var(--tc) 32%, var(--line));background:color-mix(in srgb, var(--tc) 9%, var(--surface));align-items:flex-start;gap:11px;padding:12px 30px 12px 13px;display:flex}.tr-alertline-ic{border-radius:var(--r-sm);background:var(--tc);width:30px;height:30px;color:var(--btn-ink);flex:none;place-items:center;display:grid}.tr-alertline-ic svg{width:17px;height:17px}.tr-alertline-t{font-family:var(--disp);font-weight:500;font-size:var(--fs-body-sm);color:var(--tx);line-height:1.3;display:block}.tr-alertline-tag{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--tc);letter-spacing:.02em;margin-top:3px;display:block}.tr-chat{flex-direction:column;gap:6px;display:flex}.tr-bubble{max-width:92%;font-size:var(--fs-label);color:var(--tx-dim);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card) var(--r-card) var(--r-card) var(--r-2xs);animation:tr-bub var(--dur) var(--ease) both;align-self:flex-start;padding:7px 11px}.tr-bubble i{font-style:normal;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--tx-mute);text-transform:uppercase;letter-spacing:.05em;margin-right:7px}@keyframes tr-bub{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.tr-graph{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);animation:tr-bub var(--dur) var(--ease-out) both;padding:12px 13px}.tr-graph-cap{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--tx-mute);letter-spacing:.03em;margin-bottom:10px;display:block}.tr-bars{align-items:flex-end;gap:var(--sp-2);height:72px;display:flex}.tr-bar{border-radius:var(--r-2xs) var(--r-2xs) 0 0;transform-origin:bottom;animation:tr-grow .5s var(--ease) both;flex:1}@keyframes tr-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.tr-donut{align-items:center;gap:var(--sp-4);display:flex}.tr-donut svg{flex:none;width:72px;height:72px}.tr-donut-bg{fill:none;stroke:var(--line-strong);stroke-width:7px}.tr-donut-fg{fill:none;stroke:var(--allow);stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease)}.tr-donut-n{font-family:var(--disp);color:var(--tx);font-size:26px;font-weight:600}.tr-donut-n i{font-style:normal;font-size:var(--fs-body-sm);color:var(--tx-mute)}.tr-geo{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;display:flex}.tr-geo-pt{font-family:var(--mono);font-size:var(--fs-mono);color:var(--tx-dim);align-items:center;gap:7px;display:inline-flex}.tr-geo-pt i{background:var(--deny);width:9px;height:9px;box-shadow:0 0 8px -1px var(--deny);border-radius:50%}.tr-geo-line{background:repeating-linear-gradient(90deg, var(--deny) 0 6px, transparent 6px 12px);opacity:.6;flex:1;height:2px}.tr-ctarow{animation:tr-bub var(--dur) var(--ease-out) both;gap:9px;display:flex}.tr-cta{font-size:var(--fs-sm);border-radius:var(--r-sm);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:1px solid #0000;flex:1;padding:10px 12px;font-weight:600}.tr-cta:active{transform:scale(.97)}.tr-cta.k-approve{background-color:var(--allow);color:#fff}.tr-cta.k-deny,.tr-cta.k-block{background-color:var(--deny);color:#fff}.tr-cta.k-challenge,.tr-cta.k-reauth,.tr-cta.k-dismiss{border-color:var(--line-strong);color:var(--tx-dim);background:0 0}.tr-cta.k-challenge:hover,.tr-cta.k-reauth:hover,.tr-cta.k-dismiss:hover{border-color:var(--orange);color:var(--tx)}.tr-cta:hover{opacity:.92}.tr-resolve{border-radius:var(--r-card);animation:tr-bub var(--dur) var(--ease-out) both;align-items:flex-start;gap:10px;padding:12px 13px;display:flex}.tr-resolve svg{flex:none;width:17px;height:17px;margin-top:1px}.tr-resolve span{font-size:var(--fs-label);color:var(--tx-dim);line-height:1.5}.tr-resolve b{color:var(--tx);font-size:var(--fs-sm);margin-bottom:3px;font-weight:600;display:block}.tr-resolve.t-ok{background:var(--allow-bg);border:1px solid color-mix(in srgb, var(--allow) 30%, var(--line))}.tr-resolve.t-ok svg{color:var(--allow)}.tr-resolve.t-warn{background:#e5a02a1f;border:1px solid #e5a02a4d}.tr-resolve.t-warn svg{color:#d98a1f}.tr-dot-tip{z-index:7;pointer-events:none;background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--r-card);width:min(230px,100% - 32px);animation:tr-bub var(--dur-fast) var(--ease) both;padding:11px 14px;position:absolute;box-shadow:0 14px 40px -14px #0000008c}.tr-dot-tip b{font-family:var(--disp);font-weight:600;font-size:var(--fs-label);color:var(--tx);margin-bottom:4px;display:block}.tr-dot-tip span{font-size:var(--fs-mono);color:var(--tx-dim);line-height:1.55;display:block}.tr-dot-tip-ok{border-color:color-mix(in srgb, var(--allow) 34%, var(--line-strong));background:color-mix(in srgb, var(--allow) 8%, var(--bg-2))}.tr-dot-tip-warn{border-color:color-mix(in srgb, #d98a1f 34%, var(--line-strong));background:color-mix(in srgb, #d98a1f 9%, var(--bg-2))}.tr-dot-tip:after{content:"";background:inherit;border-bottom:1px solid;border-right:1px solid;border-color:inherit;width:9px;height:9px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.tr-dot-tip.below:after{border:none;border-top:1px solid;border-left:1px solid;border-color:inherit;top:-5px;bottom:auto}.tr-toast{z-index:10;border-radius:var(--r-md);width:min(440px,100% - 32px);animation:tr-toastin .4s var(--ease);align-items:flex-start;gap:11px;padding:13px 15px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 44px -16px #00000080}@keyframes tr-toastin{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.tr-toast-ic{border-radius:var(--r-sm);flex:none;place-items:center;width:30px;height:30px;display:grid}.tr-toast-ic svg{width:17px;height:17px}.tr-toast span:last-child{font-size:var(--fs-label);color:var(--tx-dim);line-height:1.5}.tr-toast b{color:var(--tx);font-size:var(--fs-sm);margin-bottom:2px;font-weight:600;display:block}.tr-toast.t-ok{background:color-mix(in srgb, var(--allow) 14%, var(--surface));border:1px solid color-mix(in srgb, var(--allow) 36%, var(--line))}.tr-toast.t-ok .tr-toast-ic{background:var(--allow);color:#fff}.tr-toast.t-warn{background:color-mix(in srgb, #d98a1f 16%, var(--surface));border:1px solid #e5a02a66}.tr-toast.t-warn .tr-toast-ic{color:#fff;background:#d98a1f}@media (max-width:640px){.tr-field{height:420px}.tr-grid{grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(6,1fr)}.tr-hint-scan{display:none}.tr-card{width:calc(100% - 24px)}.tr-dot.alert:not(.resolved) .tr-dot-core{background:var(--tc);opacity:1;width:15px;height:15px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tc) 18%, transparent)}.tr-dot.alert:not(.resolved) .tr-dot-ring{animation:1.8s cubic-bezier(0,0,.2,1) infinite tr-ping}}@media (prefers-reduced-motion:reduce){.tr-field{cursor:crosshair!important}.tr-cursor{display:none!important}.tr-dot-ring{opacity:0!important;animation:none!important}.tr-lens{transition:none}.tr-bubble,.tr-graph,.tr-bar,.tr-ctarow,.tr-resolve,.tr-card,.tr-toast{animation:none}.tr-donut-fg{transition:none}.tr-dot.alert:not(.resolved) .tr-dot-core{background:var(--tc);opacity:.7}}
