#main-content.trace{--trace-bg:#050608;--trace-panel:#0a0c10c7;--trace-line:#94a3b829;--trace-text:#e2e8f0;--trace-muted:#94a3b8;--trace-red:#ef4444;--trace-cyan:#22d3ee;background:var(--trace-bg);color:var(--trace-text);padding:0}.stage{flex-direction:column;gap:12px;padding:0 12px 24px;display:flex}.map-wrap{height:52vh;min-height:300px;max-height:520px;margin:0 -12px;position:relative}.map{width:100%;height:100%;display:block}.stage-title{padding:20px 4px 0}.hud{font-family:var(--font-mono);letter-spacing:.08em;color:#94a3b8b3;pointer-events:none;font-size:.7rem;position:absolute;top:16px;right:16px}.terminal,.card{background:var(--trace-panel);border:1px solid var(--trace-line);-webkit-backdrop-filter:blur(10px);border-radius:14px}.terminal{max-height:210px;font-family:var(--font-mono);flex-direction:column;display:flex;overflow:hidden}.term-head{border-bottom:1px solid var(--trace-line);align-items:center;gap:10px;padding:10px 14px;font-size:.72rem;display:flex}.term-title{color:var(--trace-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.status{color:var(--trace-muted);text-transform:uppercase;letter-spacing:.1em}.status.running{color:#fbbf24}.status.done{color:#34d399}.status.failed{color:var(--trace-red)}.term-btn{border:1px solid var(--trace-line);color:var(--trace-text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px}.term-btn:hover{border-color:var(--trace-muted)}.log{margin:0;padding:10px 14px 12px;font-size:.76rem;line-height:1.55;list-style:none;overflow-y:auto}.log li{color:var(--trace-text);grid-template-columns:5.5rem 1fr;gap:8px;display:grid}.log .k{color:var(--trace-cyan)}.log .k:before{content:"› ";color:#94a3b880}.log li.ok .v{color:#34d399}.log li.bad .k,.log li.bad .v{color:var(--trace-red)}.log .v{overflow-wrap:anywhere}.card{padding:18px}.ip-head{justify-content:space-between;align-items:center;display:flex}.label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--trace-muted);font-size:.7rem}.badge{font-family:var(--font-mono);color:#fca5a5;border:1px solid #ef444473;border-radius:999px;padding:2px 8px;font-size:.68rem}.ip-row{align-items:center;gap:12px;margin:8px 0 16px;display:flex}.ip{min-width:0;font-family:var(--font-mono);color:#fff;overflow-wrap:anywhere;background:0 0;flex:1;padding:0;font-size:clamp(1.25rem,6vw,1.7rem);font-weight:700}.ip.v6{overflow-wrap:normal;font-size:1rem}.copy-btn,.replay-btn{cursor:pointer;border-radius:10px;flex-shrink:0;min-height:40px;padding:0 16px;font-size:.85rem;font-weight:600;transition:background .2s,border-color .2s}.copy-btn{color:#fecaca;background:#ef44441f;border:1px solid #ef444480}.copy-btn:hover:not(:disabled){background:#ef444440}.copy-btn:disabled{opacity:.4;cursor:default}.facts{border-top:1px solid var(--trace-line);margin:0}.facts>div{border-bottom:1px solid var(--trace-line);grid-template-columns:6.5rem 1fr;gap:10px;padding:9px 0;font-size:.85rem;display:grid}.facts dt{color:var(--trace-muted)}.facts dd{color:var(--trace-text);overflow-wrap:anywhere;margin:0;transition:color .4s}.facts dd.fresh{color:#fca5a5}.facts .note{color:var(--trace-muted);font-size:.78rem}.outro{margin-top:16px}.outro p{color:var(--trace-muted);margin:0 0 14px;font-size:.88rem;line-height:1.5}.replay-btn{border:1px solid var(--trace-line);color:var(--trace-text);background:0 0}.replay-btn:hover{border-color:var(--trace-muted)}@media (width>=960px){.stage{height:calc(100dvh - var(--header-height));min-height:640px;padding:0;display:block;position:relative;overflow:hidden}.map-wrap{height:auto;max-height:none;margin:0;position:absolute;inset:0}.stage-title{z-index:2;pointer-events:none;text-shadow:0 1px 12px #050608e6;max-width:30rem;padding:0;position:absolute;top:28px;left:32px}.hud{top:auto;bottom:24px;right:32px}.terminal{width:min(460px,38vw);max-height:36%;position:absolute;bottom:32px;left:32px}.card{width:370px;max-height:calc(100% - 64px);padding:22px;position:absolute;top:50%;right:32px;overflow-y:auto;transform:translateY(-50%)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.facts dd{transition:none}}
