@keyframes trace-spin{to{transform:rotate(360deg)}}@keyframes trace-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}#traceForm{width:100%;background:var(--panel-solid);border:1px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:28px}.trace-field-group,.trace-input-row{display:flex;gap:8px;align-items:center}.trace-field-group{position:relative;flex:1;min-width:0;gap:0}.trace-field-group .input-wrapper{flex:1;min-width:0}.trace-sample-btn{flex-shrink:0;width:44px;height:44px;background:var(--panel-solid);border:1px solid var(--border-input);border-radius:8px;cursor:pointer;color:var(--text-3);display:flex;align-items:center;justify-content:center;transition:all var(--transition);margin-left:4px}.trace-sample-btn svg{width:16px;height:16px}.trace-sample-btn:hover{color:var(--accent);border-color:var(--accent)}.trace-options-row{display:flex;gap:12px;margin-top:14px}.trace-option-group{flex:1;min-width:0}.trace-error{padding:12px 16px;border-radius:10px;background:rgba(220,53,69,.1);border:1px solid rgba(220,53,69,.25);color:#f87171;font-size:14px;margin-bottom:20px}.trace-error[hidden],.trace-progress[hidden]{display:none}.trace-config{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.trace-config-item{text-align:center;padding:12px 8px;background:var(--panel-solid);border:1px solid var(--border);border-radius:10px}.trace-config-value{font-size:15px;font-weight:600;font-family:var(--font-mono);color:var(--text);line-height:1.2}.trace-config-label{font-size:11px;color:var(--text-3);margin-top:2px}.trace-progress{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--panel-solid);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;color:var(--text-3);font-size:14px}.trace-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:trace-spin .6s linear infinite;flex-shrink:0}.trace-stop-btn{margin-left:auto;padding:4px 12px;border:1px solid rgba(220,53,69,.3);border-radius:6px;background:rgba(220,53,69,.1);color:#f87171;font-size:12.5px;font-weight:500;cursor:pointer;transition:background var(--transition)}.trace-stop-btn:hover{background:rgba(220,53,69,.18)}.trace-table-wrap{overflow-x:auto;background:var(--panel-solid);border:1px solid var(--border);border-radius:12px}.trace-table{width:100%;border-collapse:collapse;font-size:13px}.trace-table thead th{padding:11px 16px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);border-bottom:1px solid var(--border);white-space:nowrap;background:var(--field)}.trace-table thead th:first-child{border-radius:12px 0 0 0}.trace-table thead th:last-child{border-radius:0 12px 0 0}.trace-th-hop{width:3rem;text-align:center}.trace-th-avg,.trace-th-time{width:6rem;text-align:right}.trace-row{animation:trace-fade-in .25s ease}.trace-row td{padding:10px 16px;border-bottom:1px solid var(--border-row);vertical-align:middle;color:var(--text)}.trace-row:last-child td{border-bottom:none}.trace-row:hover td{background:rgba(255,255,255,.02)}.trace-td-hop{font-family:var(--font-mono);font-weight:600;color:var(--accent);text-align:center;font-size:13px}.trace-host-cell{display:flex;flex-direction:column;gap:2px;min-width:0}.trace-hop-ip{font-family:var(--font-mono);font-weight:500;color:var(--text);font-size:13px;word-break:break-all}.trace-hop-hostname a,.trace-hop-ip a{color:inherit;text-decoration:none}.trace-hop-hostname a:hover,.trace-hop-ip a:hover{color:var(--accent)}.trace-hop-hostname{font-size:12px;color:var(--text-3);word-break:break-all}.trace-hop-private{color:var(--text-4);font-style:italic;font-family:var(--font-mono);font-size:13px}.trace-td-avg,.trace-td-time{font-family:var(--font-mono);font-size:12.5px;text-align:right;color:var(--dot-client);font-variant-numeric:tabular-nums;white-space:nowrap}.trace-td-avg{font-weight:600;color:var(--text)}.trace-unit{font-size:10.5px;color:var(--text-4);margin-left:1px}.trace-timeout{color:var(--text-4);font-style:italic}.trace-hop-timeout{font-style:italic;font-size:12.5px}.trace-hop-timeout,.trace-row-timeout td{color:var(--text-4)}.trace-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:16px}.trace-summary[hidden]{display:none}.trace-summary-item{text-align:center;padding:12px 8px;background:var(--panel-solid);border:1px solid var(--border);border-radius:10px}.trace-summary-value{font-size:18px;font-weight:700;font-family:var(--font-mono);color:var(--accent);line-height:1.2}.trace-summary-label{font-size:11px;color:var(--text-3);margin-top:2px}.trace-status{padding:10px 16px;border-radius:10px;font-size:13.5px;font-weight:500;margin-bottom:16px}.trace-status.success{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);color:var(--dot-client)}.trace-status.stopped{background:rgba(233,169,60,.08);border:1px solid rgba(233,169,60,.25);color:var(--accent)}.trace-status.error{background:rgba(220,53,69,.1);border:1px solid rgba(220,53,69,.25);color:#f87171}@media (max-width:768px){.trace-input-row{flex-wrap:wrap}.trace-field-group{flex-basis:100%}.trace-options-row{flex-direction:column}.trace-config{grid-template-columns:repeat(2,1fr)}.trace-td-time,.trace-th-time{display:none}.trace-td-avg,.trace-th-avg{display:table-cell}}