:root{--bg:#07090c;--panel:#0c1015ef;--line:#222b35;--text:#c8d0d8;--dim:#697582;--lime:#c7ff42;--cyan:#42e8ff;--red:#ff526c;--amber:#ffbe3d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:'IBM Plex Mono','Microsoft YaHei',monospace}.hidden{display:none!important}body{background-image:radial-gradient(circle at 80% 0,#18201755,transparent 35%),linear-gradient(#0e131822 1px,transparent 1px),linear-gradient(90deg,#0e131822 1px,transparent 1px);background-size:auto,36px 36px,36px 36px}.scanlines{position:fixed;inset:0;z-index:20;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 4px,#c7ff4203 5px);opacity:.12}.pulse-logo{font:700 23px Rajdhani;letter-spacing:-1px;color:white;display:flex;align-items:center}.pulse-logo span{color:var(--lime)}.pulse-logo>i{width:12px;height:12px;border:2px solid var(--lime);border-radius:50%;margin-right:10px;box-shadow:0 0 0 4px #c7ff4210,0 0 16px #c7ff4260;position:relative}.pulse-logo>i:after{content:'';position:absolute;inset:2px;background:var(--lime);border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.15}}
.login{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle,#182019 0,#07090c 60%);z-index:30}.login form{width:min(480px,88vw);border:1px solid #34432e;background:#0a0e11;padding:34px;box-shadow:0 30px 90px #000}.login form>small{display:block;font-size:8px;letter-spacing:2px;color:var(--dim);margin:6px 0 42px 22px}.login label,.modal label{display:block;color:#84917b;font-size:8px;letter-spacing:1px;margin-bottom:8px}.login form>div:nth-of-type(2){display:flex;border:1px solid #36432f}.login input,.modal input{flex:1;min-width:0;border:0;outline:0;background:#080b0e;color:white;font:12px 'IBM Plex Mono';padding:14px}.login button{border:0;border-left:1px solid #465534;background:#27351b;color:var(--lime);font:600 9px 'IBM Plex Mono';padding:0 16px;cursor:pointer}.login p{font-size:9px;color:var(--red);min-height:13px;margin-bottom:0}
header{height:65px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 35px;background:#090c10e8}.server{display:flex;flex-direction:column;margin-left:40px;padding-left:20px;border-left:1px solid var(--line)}.server small{font-size:6px;color:var(--dim);letter-spacing:1px}.server b{font:600 11px Rajdhani;color:#9aa5af}.status{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:7px;letter-spacing:1px}.status i{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime);margin-left:14px}.status b{color:var(--lime)}header>button{margin-left:25px;border:1px solid var(--line);background:transparent;color:#6e7881;font:8px 'IBM Plex Mono';padding:8px 10px;cursor:pointer}header>button:hover{color:white;border-color:#4a5662}
.hero{min-height:150px;display:flex;align-items:center;padding:28px 40px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#0b0e12d9,transparent)}.hero small{font-size:7px;color:#778369;letter-spacing:2px}.hero h1{font:700 clamp(30px,4vw,45px) Rajdhani;margin:4px 0 0;color:#edf2f5;line-height:1}.hero h1 span{color:var(--lime)}.hero p{font-size:9px;color:#697582;margin:8px 0}.hero>button{margin-left:auto;display:flex;align-items:center;border:1px solid #566d34;background:#151d10;color:var(--lime);padding:11px 17px;cursor:pointer;text-align:left}.hero>button>b{font-size:27px;font-weight:400;margin-right:11px}.hero>button span{font:600 9px 'IBM Plex Mono';letter-spacing:1px}.hero>button small{display:block;font-size:7px;letter-spacing:0;color:#778466;margin-top:3px}.notice{margin:16px 40px 0;border:1px solid #5b4925;background:#17140e;padding:10px 14px;font-size:8px;color:#8f846b}.notice b{color:var(--amber);margin-right:15px}.notice em{color:#dcbf77;font-style:normal}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 40px;gap:1px;background:var(--line);border:1px solid var(--line)}.metrics>div{background:#0b0f13;padding:14px 16px;position:relative}.metrics small{font-size:7px;color:#64717d;letter-spacing:1px;display:block}.metrics strong{font:600 25px Rajdhani;color:#e0e6ea;display:block;margin-top:3px}.metrics span{position:absolute;right:13px;bottom:15px;font-size:6px;color:#59636c;letter-spacing:1px}.metrics .spark{color:var(--lime);font-size:10px;letter-spacing:-2px}
.layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:14px;margin:0 40px 35px}.panel{border:1px solid var(--line);background:var(--panel);min-width:0}.panel-head{height:40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 13px;font-size:8px;letter-spacing:1px;color:#84909b}.panel-head>b{color:var(--lime)}.channels{padding:8px;max-height:560px;overflow:auto}.channel{border:1px solid #202932;margin-bottom:7px;background:#090d11}.channel.selected{border-color:#576a37;box-shadow:inset 2px 0 var(--lime)}.channel-main{padding:10px;cursor:pointer}.channel-name{display:flex;justify-content:space-between;align-items:center}.channel-name b{font:600 11px Rajdhani;color:#d5dce1}.channel-name span{font-size:7px;color:#6e7983}.channel code{display:block;color:#879589;font-size:9px;margin-top:5px}.channel-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #202932}.channel-actions button{border:0;border-right:1px solid #202932;background:transparent;color:#727e87;padding:7px;font:7px 'IBM Plex Mono';cursor:pointer}.channel-actions button:last-child{border:0}.channel-actions button:hover{color:var(--lime);background:#141a11}.filters{display:flex;height:100%}.filters button{border:0;border-left:1px solid var(--line);background:transparent;color:#5f6a74;padding:0 12px;font:7px 'IBM Plex Mono';cursor:pointer}.filters button.active{color:var(--lime);background:#161e10}.filters #clear-events:hover{color:var(--red)}.table-wrap{overflow:auto;min-height:430px;max-height:560px;position:relative}table{border-collapse:collapse;width:100%;font-size:8px}th{text-align:left;color:#53606b;font-weight:500;letter-spacing:1px;padding:10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#0b0f13;z-index:2}td{padding:10px;border-bottom:1px solid #1a2229;color:#85919b;max-width:330px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tbody tr{cursor:pointer}tbody tr:hover{background:#11171b}td.path{color:#bec9d0}.badge{padding:3px 6px;border:1px solid;font-size:7px}.badge.http{color:var(--cyan);border-color:#246373}.badge.dns{color:var(--lime);border-color:#4a6824}.empty{position:absolute;inset:45px 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#59646d}.empty strong{font:600 12px Rajdhani;color:#6e7880;letter-spacing:1px}.empty span{font-size:8px;margin-top:5px}.radar{width:80px;height:80px;border:1px solid #29343c;border-radius:50%;margin-bottom:15px;position:relative;background:repeating-radial-gradient(circle,transparent 0 15px,#26333a 16px,transparent 17px)}.radar i{position:absolute;left:50%;top:50%;width:40px;height:40px;transform-origin:0 0;background:conic-gradient(#c7ff4230,transparent 50deg);animation:sweep 2s linear infinite}.radar b{position:absolute;width:5px;height:5px;left:54px;top:21px;background:var(--lime);border-radius:50%;box-shadow:0 0 8px var(--lime);animation:pulse 1s infinite}@keyframes sweep{to{transform:rotate(360deg)}}
.modal{position:fixed;z-index:40;inset:0;display:grid;place-items:center;background:#020305d9;backdrop-filter:blur(5px)}.modal>form,.event-detail{width:min(520px,90vw);background:#0b0f13;border:1px solid #3b4932;padding:22px;box-shadow:0 25px 80px #000}.modal-head{height:35px;margin:-22px -22px 22px;padding-left:13px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1px}.modal-head button{height:35px;width:38px;border:0;border-left:1px solid var(--line);background:transparent;color:#77818a;cursor:pointer}.modal input{width:100%;border:1px solid #303943;background:#080b0e}.modal form>p{font-size:8px;line-height:1.6;color:#606b75}.primary{width:100%;border:1px solid #596d34;background:#1b2412;color:var(--lime);padding:11px;font:600 8px 'IBM Plex Mono';cursor:pointer}.event-detail{width:min(780px,92vw);max-height:84vh;overflow:auto}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:15px}.detail-grid>div{background:#0a0e12;padding:10px}.detail-grid small{display:block;font-size:6px;color:#5b6670}.detail-grid b{font:500 10px 'IBM Plex Mono';color:#c4cdd4}.detail-block{margin-top:12px}.detail-block>span{font-size:7px;color:#6f7b84;letter-spacing:1px}.detail-block pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#07090c;border:1px solid #202831;color:#a7b3bb;padding:12px;font:9px/1.6 'IBM Plex Mono';max-height:260px;overflow:auto}.toast{position:fixed;z-index:50;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:#171e11;border:1px solid #596e32;color:var(--lime);padding:9px 16px;font-size:8px;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.layout{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.channels{max-height:300px}.notice,.metrics,.layout{margin-left:15px;margin-right:15px}.hero{padding-left:18px;padding-right:18px}.server{display:none}}@media(max-width:570px){header{padding:0 14px}.status span,.status b{display:none}.hero{display:block}.hero>button{margin:18px 0 0}.metrics{grid-template-columns:1fr 1fr}.metrics>div{padding:11px}.notice{line-height:1.6}.notice b{display:block}.filters button{padding:0 7px}.panel-head{padding-left:8px}.events-panel .panel-head>span{display:none}.detail-grid{grid-template-columns:1fr}.pulse-logo{font-size:19px}}

/* Clean high-contrast console theme */
:root{--bg:#f3f6fb;--panel:#ffffff;--line:#dce3ec;--text:#1d2939;--dim:#667085;--lime:#2563eb;--cyan:#087ea4;--red:#d92d20;--amber:#b54708}
html,body{background:#f3f6fb;color:#1d2939}.scanlines{display:none}body{background-image:radial-gradient(circle at 85% -10%,#dbeafe 0,transparent 35%),linear-gradient(#d7e0eb55 1px,transparent 1px),linear-gradient(90deg,#d7e0eb55 1px,transparent 1px);background-size:auto,40px 40px,40px 40px}
.pulse-logo{color:#f8fafc;letter-spacing:-.5px}.pulse-logo span{color:#60a5fa}.pulse-logo>i{border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa20,0 0 13px #60a5fa90}.pulse-logo>i:after{background:#60a5fa}
.login{background:linear-gradient(140deg,#eaf1fb,#f8fafc 55%,#dbeafe)}.login form{background:#fff;border:1px solid #d5deea;border-radius:12px;padding:38px;box-shadow:0 24px 70px #29466b22}.login form .pulse-logo{color:#172033}.login form .pulse-logo span{color:#2563eb}.login form>small{color:#667085}.login label,.modal label{color:#475467}.login form>div:nth-of-type(2){border:1px solid #b8c5d6;border-radius:7px;overflow:hidden}.login input,.modal input{background:#fff;color:#172033}.login button{border-left:1px solid #1d4ed8;background:#2563eb;color:#fff}.login button:hover{background:#1d4ed8}.login p{color:#d92d20}
header{background:#172033;border-bottom:0;box-shadow:0 2px 10px #10182830}header .server{border-color:#344054}.server small{color:#98a2b3}.server b{color:#e4e7ec}.status i{background:#34d399;box-shadow:0 0 7px #34d399}.status span{color:#98a2b3}.status b{color:#6ee7b7}header>button{border-color:#475467;color:#d0d5dd;border-radius:5px}header>button:hover{border-color:#98a2b3;color:#fff;background:#344054}
.hero{background:linear-gradient(110deg,#fff,#f8fbff 68%,#eaf2ff);border-bottom:1px solid #dce3ec}.hero small{color:#667085}.hero h1{color:#172033}.hero h1 span{color:#2563eb}.hero p{color:#667085}.hero>button{border:1px solid #2563eb;background:#2563eb;color:#fff;border-radius:7px;box-shadow:0 5px 16px #2563eb28}.hero>button:hover{background:#1d4ed8}.hero>button small{color:#dbeafe}
.notice{border:1px solid #f5c88d;background:#fff8e8;color:#73510d;border-radius:6px}.notice b{color:#b54708}.notice em{color:#854a0e;font-weight:600}
.metrics{background:#dce3ec;border-color:#dce3ec;border-radius:8px;overflow:hidden;box-shadow:0 3px 13px #3440540c}.metrics>div{background:#fff}.metrics small{color:#667085}.metrics strong{color:#172033}.metrics span{color:#98a2b3}.metrics .spark{color:#2563eb}
.panel{border-color:#dce3ec;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 16px #3440540d}.panel-head{background:#f8fafc;border-color:#dce3ec;color:#475467;font-weight:600}.panel-head>b{color:#2563eb}.channels{background:#fff}.channel{border-color:#e3e8ef;background:#fff;border-radius:6px}.channel:hover{border-color:#a7b8cf}.channel.selected{border-color:#2563eb;box-shadow:inset 3px 0 #2563eb;background:#f5f9ff}.channel-name b{color:#1d2939}.channel-name span{color:#667085}.channel code{color:#475467}.channel-actions{border-color:#e3e8ef}.channel-actions button{border-color:#e3e8ef;color:#475467}.channel-actions button:hover{color:#1d4ed8;background:#eff6ff}
.filters button{border-color:#dce3ec;color:#667085}.filters button.active{color:#1d4ed8;background:#eaf2ff;font-weight:600}.filters #clear-events:hover{color:#d92d20;background:#fef3f2}.table-wrap{background:#fff}table{font-size:9px}th{color:#667085;background:#f8fafc;border-color:#dce3ec;font-weight:600}td{border-color:#edf1f5;color:#475467}tbody tr:hover{background:#f5f8fc}td.path{color:#1d2939;font-weight:500}.badge{font-weight:600;border-radius:4px}.badge.http{color:#075985;border-color:#7dd3fc;background:#f0f9ff}.badge.dns{color:#1d4ed8;border-color:#93c5fd;background:#eff6ff}.empty{color:#98a2b3}.empty strong{color:#667085}.radar{border-color:#cbd5e1;background:repeating-radial-gradient(circle,transparent 0 15px,#dce3ec 16px,transparent 17px)}.radar i{background:conic-gradient(#2563eb24,transparent 50deg)}.radar b{background:#2563eb;box-shadow:0 0 8px #2563eb}
.modal{background:#17203370}.modal>form,.event-detail{background:#fff;border-color:#dce3ec;border-radius:10px;box-shadow:0 25px 70px #10182835}.modal-head{border-color:#e4e7ec;color:#344054;font-weight:600}.modal-head button{border-color:#e4e7ec;color:#667085}.modal-head button:hover{background:#fef3f2;color:#d92d20}.modal input{border-color:#b9c5d3;background:#fff;color:#172033;border-radius:6px}.modal form>p{color:#667085}.primary{border-color:#2563eb;background:#2563eb;color:#fff;border-radius:6px}.primary:hover{background:#1d4ed8}.detail-grid{background:#dce3ec;border-color:#dce3ec;border-radius:6px;overflow:hidden}.detail-grid>div{background:#f8fafc}.detail-grid small{color:#667085}.detail-grid b{color:#1d2939}.detail-block>span{color:#475467;font-weight:600}.detail-block pre{background:#f8fafc;border-color:#dce3ec;color:#344054;border-radius:6px}.toast{background:#172033;border-color:#172033;color:#fff;border-radius:6px;box-shadow:0 8px 25px #10182835}
@media(max-width:570px){.pulse-logo{color:#fff}.login form .pulse-logo{color:#172033}}
.callback-preview{margin-top:10px;padding-top:8px;border-top:1px solid #edf1f5}.callback-preview label{display:block;margin:6px 0 2px;color:#667085;font-size:7px}.callback-preview code{display:block;max-width:100%;padding:6px 7px;background:#f5f8fc;border:1px solid #e3e8ef;border-radius:4px;color:#1d4ed8;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-actions{grid-template-columns:repeat(3,1fr)}.channel-actions button{padding:8px 3px;font-size:7px}

/* Integrated public test fixtures */
.page-tabs{height:52px;padding:0 40px;display:flex;gap:5px;align-items:flex-end;background:#fff;border-bottom:1px solid #dce3ec}.page-tabs button{height:43px;min-width:150px;padding:0 15px;border:0;border-bottom:3px solid transparent;background:transparent;color:#667085;text-align:left;cursor:pointer}.page-tabs button span{display:block;font:600 11px 'IBM Plex Mono'}.page-tabs button small{display:block;margin-top:2px;font-size:7px;color:#98a2b3}.page-tabs button.active{color:#1d4ed8;border-bottom-color:#2563eb;background:#f6f9ff}.page-tabs button.active small{color:#5f78a5}
.fixtures-view{padding:30px 40px 45px;max-width:1500px;margin:auto}.fixtures-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.fixtures-title small{font-size:7px;letter-spacing:2px;color:#2563eb}.fixtures-title h2{font:700 32px Rajdhani;color:#172033;margin:3px 0}.fixtures-title p{font-size:9px;color:#667085;margin:0}.fixture-server{min-width:220px;padding:12px 15px;background:#fff;border:1px solid #dce3ec;border-radius:7px;display:grid;grid-template-columns:1fr auto}.fixture-server small{grid-column:1/3;color:#667085;letter-spacing:0}.fixture-server b{font:600 12px Rajdhani;color:#1d2939}.fixture-server span{font-size:7px;color:#067647}.fixture-server i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#12b76a;margin-right:5px;box-shadow:0 0 6px #12b76a}
.fixture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.fixture-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #dce3ec;border-radius:9px;overflow:hidden;box-shadow:0 5px 18px #3440540c}.fixture-card:hover{border-color:#b5c3d6;box-shadow:0 10px 28px #34405418;transform:translateY(-1px);transition:.2s}.fixture-preview{height:120px;border-bottom:1px solid #e4e7ec;background:#eef4fb;display:grid;place-items:center;overflow:hidden}.fixture-preview.image img{width:100%;height:100%;object-fit:cover;image-rendering:auto}.fixture-preview.image:first-child img{image-rendering:pixelated}.fixture-preview.symbol{font:700 36px Rajdhani;color:#2563eb;background:linear-gradient(135deg,#edf4ff,#dbeafe)}.fixture-preview.html{color:#7f56d9;background:linear-gradient(135deg,#f4f3ff,#ebe9fe)}.fixture-preview.broken{color:#d92d20;background:repeating-linear-gradient(135deg,#fef3f2 0 12px,#fee4e2 12px 24px)}.fixture-preview.slow{color:#b54708;background:radial-gradient(circle,#fff7e8,#fef0c7)}.fixture-preview.notfound{color:#667085;background:linear-gradient(135deg,#f2f4f7,#e4e7ec)}
.fixture-info{padding:15px 16px;flex:1}.fixture-badge{display:inline-block;padding:3px 7px;border-radius:10px;font-size:7px;font-weight:600}.fixture-badge.success{color:#067647;background:#ecfdf3}.fixture-badge.warning{color:#b54708;background:#fffaeb}.fixture-badge.danger{color:#b42318;background:#fef3f2}.fixture-info h3{font:700 18px Rajdhani;color:#1d2939;margin:8px 0 3px}.fixture-info p{font-size:8px;line-height:1.6;color:#667085;min-height:39px;margin:0}.fixture-meta{display:flex;gap:10px;margin-top:10px;padding-top:9px;border-top:1px solid #edf1f5}.fixture-meta span{font-size:7px;color:#98a2b3}.fixture-meta b{color:#475467}.fixture-url{display:flex;margin:0 15px 10px;border:1px solid #cbd5e1;border-radius:5px;overflow:hidden}.fixture-url input{min-width:0;flex:1;border:0;background:#f8fafc;color:#344054;padding:8px;font:8px 'IBM Plex Mono';outline:none}.fixture-url button{border:0;border-left:1px solid #cbd5e1;background:#eff6ff;color:#1d4ed8;padding:0 10px;font:600 7px 'IBM Plex Mono';cursor:pointer}.fixture-url button:hover{background:#dbeafe}.fixture-actions{display:flex;align-items:center;border-top:1px solid #e4e7ec;background:#f8fafc;min-height:38px}.fixture-actions button{align-self:stretch;border:0;border-right:1px solid #e4e7ec;background:transparent;color:#475467;padding:0 10px;font:7px 'IBM Plex Mono';cursor:pointer}.fixture-actions button:hover{color:#1d4ed8;background:#eff6ff}.fixture-actions output{margin-left:auto;padding-right:11px;font-size:7px;color:#667085}.fixture-actions output.ok{color:#067647}.fixture-actions output.error{color:#b42318}.fixture-actions output.loading{color:#b54708}.delay-control{margin-top:10px;padding-top:9px;border-top:1px solid #edf1f5}.delay-control label{display:flex;justify-content:space-between;font-size:7px;color:#667085}.delay-control input{width:100%;accent-color:#2563eb;margin-top:6px}
@media(max-width:1050px){.fixture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.page-tabs{padding:0 12px}.page-tabs button{min-width:0;flex:1}.fixtures-view{padding:20px 12px}.fixtures-title{display:block}.fixture-server{margin-top:15px}.fixture-grid{grid-template-columns:1fr}.fixture-preview{height:145px}}

.fixture-preview.redirect{color:#b54708;background:linear-gradient(135deg,#fffaeb,#fef0c7)}.fixture-preview.redirect.domain{color:#7f56d9;background:linear-gradient(135deg,#f4f3ff,#ebe9fe)}.redirect-badge{color:#b54708;background:#fffaeb}.redirect-result{padding:0 11px}.redirect-result output{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#475467}.fixture-card[data-fixture^="/302"] .fixture-meta{display:block}.fixture-card[data-fixture^="/302"] .fixture-meta span{display:block;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.redirect-target-label{display:flex;flex-direction:column;gap:5px;margin-top:11px;font-size:8px;color:#667085}.redirect-target-label input{width:100%;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#1d2939;padding:8px;font:9px "Cascadia Mono",Consolas,monospace;outline:none}.redirect-target-label input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb12}.redirect-result .redirect-save{color:#1d4ed8;font-weight:600}.redirect-result output{min-width:0;margin-left:8px}.redirect-result output.ok{color:#067647}.redirect-result output.error{color:#b42318}

/* DNS rebinding builder */
.rebind-card{grid-column:1/-1;display:grid;grid-template-columns:340px minmax(0,1fr);padding:0}.rebind-card-head{border-right:1px solid #e4e7ec;background:#fbfcfe}.rebind-card-head .fixture-preview{height:135px}.fixture-preview.rebind{color:#7f56d9;background:radial-gradient(circle at center,#f4f3ff,#e9d7fe);letter-spacing:5px}.rebind-badge{color:#6941c6;background:#f4f3ff}.rebind-card-head .fixture-info p{min-height:0}.rebind-card-head .fixture-meta{display:block}.rebind-card-head .fixture-meta span{display:block;margin:5px 0}.rebind-builder{padding:16px;min-width:0}.rebind-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rebind-fields label,.rebind-host-label{display:flex;flex-direction:column;gap:5px;font-size:8px;color:#667085}.rebind-fields input,.rebind-fields select,.rebind-host-label input{width:100%;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#1d2939;padding:8px;font:9px "Cascadia Mono",Consolas,monospace;outline:none}.rebind-host-label{margin-top:10px}.rebind-host-label>div{display:flex}.rebind-host-label input{border-radius:5px 0 0 5px;background:#f8fafc}.rebind-host-label button,.rebind-controls button{border:1px solid #2563eb;background:#2563eb;color:#fff;padding:0 13px;font:8px "Segoe UI","Microsoft YaHei",sans-serif;cursor:pointer}.rebind-host-label button{border-radius:0 5px 5px 0}.rebind-controls{display:flex;align-items:center;gap:12px;margin-top:10px}.rebind-controls button{padding:8px 13px;border-radius:5px}.rebind-controls span{font-size:8px;color:#b54708}.rebind-builder>pre{margin:10px 0;padding:10px 12px;border:1px solid #dce3ec;border-radius:5px;background:#101828;color:#d1e9ff;font:9px/1.65 "Cascadia Mono",Consolas,monospace;white-space:pre-wrap}.rebind-flow{display:flex;align-items:center;justify-content:center;gap:20px;padding:10px;border:1px solid #e4e7ec;border-radius:6px;background:#f8fafc}.rebind-flow>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.rebind-flow b{grid-row:1/3;font:700 24px "Arial Narrow",Arial,sans-serif;color:#98a2b3}.rebind-flow span{font-size:7px;color:#667085}.rebind-flow strong{font:600 12px "Cascadia Mono",Consolas,monospace;color:#1d2939}.rebind-flow>i{font-style:normal;font-size:8px;color:#7f56d9}@media(max-width:850px){.rebind-card{grid-template-columns:1fr}.rebind-card-head{border-right:0;border-bottom:1px solid #e4e7ec}.rebind-fields{grid-template-columns:1fr}.rebind-flow{gap:8px}.rebind-flow>i{display:none}}

.rebind-fields{grid-template-columns:repeat(3,1fr)}@media(max-width:850px){.rebind-fields{grid-template-columns:1fr}}

/* SSRF full-echo request builder */
.ssrf-card{grid-column:1/-1;display:grid;grid-template-columns:340px minmax(0,1fr);padding:0}.ssrf-card-head{border-right:1px solid #e4e7ec;background:#fbfcfe}.ssrf-card-head .fixture-preview{height:145px}.fixture-preview.ssrf{color:#075985;background:linear-gradient(135deg,#e0f2fe,#dbeafe);letter-spacing:4px}.ssrf-badge{color:#075985;background:#e0f2fe}.ssrf-card-head .fixture-info p{min-height:0}.ssrf-card-head .fixture-meta{display:block}.ssrf-card-head .fixture-meta span{display:block;margin:5px 0}.ssrf-builder{padding:16px;min-width:0}.ssrf-builder .fixture-url{margin:0 0 12px}.ssrf-fields{display:grid;grid-template-columns:130px 1fr 1fr;gap:10px}.ssrf-fields label,.ssrf-body-label{display:flex;flex-direction:column;gap:5px;font-size:8px;color:#667085}.ssrf-fields input,.ssrf-fields select,.ssrf-body-label textarea{width:100%;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#1d2939;padding:8px;font:9px "Cascadia Mono",Consolas,monospace;outline:none}.ssrf-fields input:focus,.ssrf-fields select:focus,.ssrf-body-label textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb12}.ssrf-body-label{margin-top:10px}.ssrf-body-label textarea{resize:vertical;min-height:72px}.ssrf-controls{display:flex;align-items:center;gap:8px;margin-top:10px}.ssrf-controls button{border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#344054;padding:8px 12px;font:8px "Segoe UI","Microsoft YaHei",sans-serif;cursor:pointer}.ssrf-controls button:first-child{background:#2563eb;border-color:#2563eb;color:#fff}.ssrf-controls button:hover{filter:brightness(.96)}.ssrf-controls output{margin-left:auto;font-size:8px;color:#667085}.ssrf-controls output.ok{color:#067647}.ssrf-controls output.error{color:#b42318}.ssrf-builder>pre{margin:12px 0 0;min-height:190px;max-height:420px;overflow:auto;border:1px solid #dce3ec;border-radius:6px;background:#101828;color:#d1e9ff;padding:13px;font:9px/1.6 "Cascadia Mono",Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:850px){.ssrf-card{grid-template-columns:1fr}.ssrf-card-head{border-right:0;border-bottom:1px solid #e4e7ec}.ssrf-fields{grid-template-columns:1fr}.ssrf-controls{flex-wrap:wrap}.ssrf-controls output{width:100%;margin:0}}

/* Performance: local fonts and lightweight large-image placeholder */
body,button,label,output{font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif!important}input,code,pre,table,.server b{font-family:"Cascadia Mono",Consolas,"Microsoft YaHei",monospace!important}.pulse-logo,.hero h1,.metrics strong,.fixture-info h3,.fixtures-title h2{font-family:"Arial Narrow","Microsoft YaHei",Arial,sans-serif!important}.fixture-preview.noise{background-color:#eaf2ff;background-image:linear-gradient(135deg,#2563eb22 25%,transparent 25%),linear-gradient(225deg,#7c3aed22 25%,transparent 25%),linear-gradient(45deg,#0891b222 25%,transparent 25%),linear-gradient(315deg,#ec489922 25%,#f8fafc 25%);background-position:18px 0,18px 0,0 0,0 0;background-size:36px 36px;background-repeat:repeat}.fixture-preview.noise img{display:none}
