.xml-wrap{width:min(980px,calc(100% - 40px));margin:0 auto;padding:90px 0}.xml-hero{max-width:760px;margin-bottom:38px}.xml-hero h1{font-size:clamp(38px,6vw,70px);line-height:1.04;letter-spacing:-.055em;margin:12px 0 18px}.xml-hero>p:last-child{color:#8e9791;line-height:1.8;max-width:740px}.xml-card{border:1px solid var(--line);border-radius:22px;background:rgba(13,17,15,.92);box-shadow:0 28px 80px rgba(0,0,0,.22);overflow:hidden}.xml-card-head{display:flex;gap:14px;align-items:center;padding:24px;border-bottom:1px solid var(--line)}.xml-card-head h2{margin:0;font-size:19px}.xml-card-head p{margin:5px 0 0;color:#78817b;font-size:13px}.xml-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(145,239,174,.18);border-radius:13px;background:rgba(145,239,174,.06)}.xml-icon svg{width:19px;height:19px;fill:none;stroke:#98e7b1;stroke-width:1.6}#xmlForm{padding:24px}.xml-card label{display:block;margin-bottom:10px;font-size:10px;font-weight:800;letter-spacing:.16em;color:#7d8780}.xml-row{display:flex;gap:12px}.xml-row input{height:58px;flex:1;min-width:0;border:1px solid var(--line);border-radius:14px;background:#090c0b;color:#e5eae6;padding:0 17px;font:500 15px/1 inherit;outline:none}.xml-row input:focus{border-color:rgba(145,239,174,.5);box-shadow:0 0 0 4px rgba(145,239,174,.05)}.xml-row button{min-width:170px;border:0;border-radius:14px;background:#a9ebbc;color:#102016;font-weight:800;padding:0 20px;cursor:pointer;transition:transform .2s ease,filter .2s ease}.xml-row button:hover{filter:brightness(1.03)}.xml-row button:active{transform:scale(.985)}.xml-row button:disabled{opacity:.7;cursor:wait}.xml-note{margin:13px 0 0;color:#7c857f;font-size:12px;line-height:1.6}.xml-result{margin:0 24px 24px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018);display:flex;gap:13px;align-items:flex-start}.xml-result.hidden{display:none}.xml-result.error{display:block;color:#ffb2b2;border-color:rgba(255,100,100,.22)}.status-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex:0 0 10px}.status-dot.open{background:#9debb6;box-shadow:0 0 18px rgba(157,235,182,.5)}.status-dot.closed{background:#8b9690}.xml-result small{font-size:9px;letter-spacing:.16em;color:#718079}.xml-result h3{margin:5px 0;font-size:16px}.xml-result p{margin:0;color:#89928c;font-size:13px;line-height:1.6}.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.meta span{font:11px/1.2 monospace;color:#a9b1ac;padding:5px 7px;border-radius:7px;background:rgba(255,255,255,.04)}.xml-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.xml-grid article{padding:19px;border:1px solid var(--line);border-radius:18px;background:rgba(13,17,15,.72)}.xml-grid h3{margin:0 0 8px;font-size:14px}.xml-grid p{margin:0;color:#7d8781;font-size:12px;line-height:1.65}@media(max-width:720px){.xml-wrap{width:calc(100% - 20px);padding:72px 0 44px}.xml-row{display:block}.xml-row button{width:100%;height:56px;margin-top:10px}.xml-grid{grid-template-columns:1fr}.xml-card-head{padding:18px}.xml-card-head p{font-size:12px}#xmlForm{padding:18px}.xml-result{margin:0 18px 18px}}
/* Batch input and result controls */
.batch-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.batch-top span{font:700 10px/1 monospace;color:#8a958d;padding:7px 9px;border:1px solid var(--line);border-radius:999px}#xmlDomains{display:block;width:100%;min-height:210px;resize:vertical;box-sizing:border-box;border:1px solid var(--line);border-radius:16px;background:#090c0b;color:#e5eae6;padding:16px;font:500 14px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;outline:none}#xmlDomains:focus{border-color:rgba(145,239,174,.5);box-shadow:0 0 0 4px rgba(145,239,174,.05)}.upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.upload-btn{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025);color:#dce3de!important;cursor:pointer;font-size:12px!important;letter-spacing:0!important}.upload-btn input{display:none}.upload-row small{color:#758078;font-size:12px}.batch-action{margin-top:14px}.batch-action button{width:100%;height:56px}.xml-progress{margin:0 24px 18px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.018)}.xml-progress.hidden,.xml-result-list.hidden,.download-actions.hidden{display:none}.progress-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:12px;color:#98a19b}.progress-track{height:6px;border-radius:999px;background:rgba(255,255,255,.05);overflow:hidden}.progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:#a9ebbc;transition:width .45s ease}.xml-result-list{margin:0 24px 18px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.014)}.xml-result-list.error{padding:16px;color:#ffb2b2;border-color:rgba(255,100,100,.22)}.result-summary{display:flex;align-items:baseline;gap:8px;padding:16px;border-bottom:1px solid var(--line)}.result-summary strong{font-size:24px}.result-summary span{font-size:12px;color:#7f8982}.result-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.045)}.result-row:last-child{border-bottom:0}.result-domain{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.result-status{font-size:11px;color:#89928c}.result-status.reachable{color:#9debb6}.result-http{font:11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#7c8780}.download-actions{display:flex;gap:10px;flex-wrap:wrap;margin:0 24px 24px}.download-actions button{border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025);color:#dce3de;padding:11px 14px;cursor:pointer;font-weight:700;font-size:12px}.download-actions button:hover{border-color:rgba(145,239,174,.35)}@media(max-width:720px){#xmlDomains{min-height:190px;font-size:13px}.xml-progress,.xml-result-list{margin-left:18px;margin-right:18px}.download-actions{margin-left:18px;margin-right:18px}.result-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.result-status{grid-column:1}.result-http{grid-column:2;grid-row:1}.result-domain{grid-column:1/3}.upload-row{align-items:flex-start}}

/* v25 — compact confirmed results + distinct scan motion */
.xml-progress.scanning{position:relative;overflow:hidden}
.xml-progress.scanning:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(169,235,188,.08) 46%,transparent 62%);animation:xmlSweep 1.8s linear infinite}
@keyframes xmlSweep{from{transform:translateX(-70%)}to{transform:translateX(70%)}}
.progress-track{position:relative}.progress-track:after{content:"";position:absolute;inset:-8px auto -8px 0;width:28px;border-radius:50%;border:1px solid rgba(169,235,188,.35);box-shadow:0 0 22px rgba(169,235,188,.12);opacity:0}.scanning .progress-track:after{opacity:1;animation:scanPulse 1.25s ease-in-out infinite}
@keyframes scanPulse{0%,100%{transform:translateX(0) scale(.7);opacity:.35}50%{transform:translateX(18px) scale(1);opacity:1}}
.xml-result-list{background:rgba(9,12,11,.72)}
.result-summary.confirmed{gap:13px;padding:18px 18px 16px;background:linear-gradient(110deg,rgba(169,235,188,.07),transparent 55%)}
.result-summary.confirmed strong{font-size:30px;letter-spacing:-.04em;color:#b6f1c6}.result-summary.confirmed div{display:grid;gap:3px}.result-summary.confirmed small{font-size:10px;color:#68736c}
.confirmed-list{max-height:430px;overflow:auto;scrollbar-width:thin;scrollbar-color:#29342e transparent}.confirmed-row{grid-template-columns:34px minmax(0,1fr) auto}.scan-index{font:10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#59645d}.confirmed-row{animation:rowReveal .35s ease both;animation-delay:calc(var(--i)*14ms)}
@keyframes rowReveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.empty-result{min-height:170px;padding:28px;display:flex;align-items:center;justify-content:center;gap:18px;text-align:left}.empty-result strong{display:block;font-size:15px}.empty-result p{margin:6px 0 0;color:#78837b;font-size:12px;line-height:1.6;max-width:560px}.empty-orbit{width:48px;height:48px;flex:0 0 48px;border:1px solid var(--line);border-radius:50%;position:relative;background:rgba(255,255,255,.015)}.empty-orbit:before,.empty-orbit:after{content:"";position:absolute;inset:8px;border:1px solid rgba(169,235,188,.18);border-radius:50%}.empty-orbit:after{inset:15px;background:rgba(169,235,188,.45);box-shadow:0 0 18px rgba(169,235,188,.25)}.empty-orbit i{position:absolute;width:3px;height:3px;border-radius:50%;background:#a9ebbc;left:5px;top:21px;animation:orbitDot 2.8s linear infinite;transform-origin:19px 3px}
@keyframes orbitDot{to{transform:rotate(360deg)}}
.download-actions button:first-child{background:#a9ebbc;color:#102016;border-color:#a9ebbc}.download-actions button:first-child:before{content:"↓";margin-right:8px;font-size:14px}.download-actions button:first-child:hover{filter:brightness(1.04)}
@media(max-width:720px){.result-summary.confirmed{padding:16px}.result-summary.confirmed strong{font-size:26px}.confirmed-row{grid-template-columns:28px minmax(0,1fr)}.confirmed-row .result-status{grid-column:2;grid-row:2;justify-self:start;font-size:10px}.empty-result{padding:22px 16px;gap:13px}.empty-orbit{width:42px;height:42px;flex-basis:42px}.empty-orbit:before{inset:7px}.empty-orbit:after{inset:13px}.empty-orbit i{left:4px;top:18px}.empty-result p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.xml-progress.scanning:after,.scanning .progress-track:after,.empty-orbit i{animation:none}.confirmed-row{animation:none}}

/* Shared-header spacing polish */
@media(max-width:720px){.xml-wrap{padding-top:30px}}

/* v28 unified mobile content polish */
@media(max-width:720px){
  .xml-wrap{width:calc(100% - 20px)!important;padding:26px 0 36px!important}
  .xml-hero h1{font-size:clamp(30px,9vw,42px)!important;line-height:1.06!important}
  .xml-card{padding:17px!important;border-radius:16px!important}
  .xml-grid{grid-template-columns:1fr!important;gap:10px!important}
  .xml-grid article{padding:17px!important}
  .upload-row{align-items:flex-start!important;gap:8px!important}
  .upload-btn{max-width:100%!important}
}
