/* V1.6 visual alignment with the confirmed reference screens. */
.tools-header{height:86px}
.tools-header .inner{height:86px}
.brand-mark{width:70px;height:70px}
.brand-title{font-size:32px;color:#05070f}
.brand-subtitle{font-size:15px;letter-spacing:2px;color:#536071}
.nav{gap:70px;color:#07133a}
.nav a.active::after{bottom:7px;height:4px}
.hero-tools{background:linear-gradient(110deg,#eef7ff 0%,#f9fcff 54%,#edf6ff 100%)}
.hero-tools::before{background:radial-gradient(800px 320px at 46% 54%,rgba(34,126,255,.12),transparent 68%),radial-gradient(620px 300px at 86% 48%,rgba(54,132,255,.18),transparent 65%)}
.hero-tools .inner{min-height:320px;padding:46px 0 28px}
.city-art{position:absolute;left:0;right:0;bottom:0;height:150px;opacity:.65;pointer-events:none;background:linear-gradient(180deg,transparent 0 40%,rgba(164,209,255,.35) 70%,rgba(112,178,255,.24) 100%)}
.city-art::before{content:"";position:absolute;left:0;bottom:8px;width:54%;height:118px;background:linear-gradient(145deg,transparent 0 54%,rgba(0,111,255,.18) 54% 56%,transparent 56%),linear-gradient(90deg,rgba(5,105,232,.2) 0 2px,transparent 2px 100%);background-size:100% 100%,42px 100%}
.city-art::after{content:"";position:absolute;right:48%;bottom:14px;width:150px;height:126px;background:linear-gradient(to top,rgba(8,104,245,.28) 0 42px,transparent 42px),linear-gradient(to top,rgba(8,104,245,.22) 0 78px,transparent 78px),linear-gradient(to top,rgba(8,104,245,.18) 0 108px,transparent 108px);background-size:34px 100%,42px 100%,28px 100%;background-position:0 0,52px 0,108px 0;background-repeat:no-repeat}
.hero-title{font-size:42px;color:#05070f}
.search-box{height:58px;border-radius:12px}
.feature-card{border-radius:18px;min-height:240px}
.map-art::before{background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(153,198,255,.22));box-shadow:0 22px 32px rgba(58,120,210,.14)}
.tool-grid{gap:18px 22px}
.tool-card{min-height:146px;border-radius:12px}
.tool-card.recommend{border-color:#0868f5;box-shadow:0 8px 24px rgba(8,104,245,.08)}
.contact-strip{margin-top:18px;border-radius:9px;grid-template-columns:1.45fr 1.2fr 190px}
.tool-page .main-area{padding:38px 0 12px;background:linear-gradient(105deg,#f5faff 0,#fbfdff 52%,#edf6ff 100%)}
.tool-page .main-area::after{display:none}
.contour-art{height:185px;position:relative;opacity:.78}
.contour-art::before{content:"";position:absolute;right:10px;top:8px;width:345px;height:135px;border-radius:18px;transform:rotate(-9deg);background:repeating-radial-gradient(ellipse at 55% 45%,transparent 0 12px,rgba(89,151,255,.22) 13px 15px,transparent 16px 28px),linear-gradient(145deg,rgba(255,255,255,.35),rgba(101,166,255,.12));border:2px solid rgba(8,104,245,.22);box-shadow:0 28px 34px rgba(46,115,220,.10)}
.contour-art::after{content:"";position:absolute;right:145px;top:34px;width:42px;height:42px;border-radius:50% 50% 50% 0;background:#418cff;transform:rotate(-45deg);box-shadow:0 12px 26px rgba(8,104,245,.22)}
.tool-title{font-size:48px;color:#071347;letter-spacing:1px}
.privacy-note{color:#0868f5}
.step-flow{margin-top:18px}
.flow-card{height:86px;border-radius:8px}
.panel{background:rgba(255,255,255,.82)}
.dropzone{height:78px;background:rgba(255,255,255,.68)}
.right-help .help-card{box-shadow:0 6px 18px rgba(13,45,93,.035)}
@media(max-width:1100px){.nav{gap:24px}.brand-title{font-size:28px}.contour-art{display:none}.contact-strip{grid-template-columns:1fr}.city-art{display:none}}
@media(max-width:680px){.brand-mark{width:48px;height:48px}.brand-title{font-size:22px}.brand-subtitle{letter-spacing:.5px}.tools-header,.tools-header .inner{height:auto}.nav{gap:16px}.hero-title,.tool-title{font-size:32px}.contact-strip{grid-template-columns:1fr}}


/* V1.7: make the DXF upload area more prominent and support drag states. */
.upload-row{grid-template-columns:minmax(0,1fr) 132px;align-items:stretch}
.dropzone.upload-emphasis{
  min-height:88px;
  height:auto;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:14px;
  align-items:center;
  justify-content:start;
  text-align:left;
  padding:16px 22px;
  border:2px dashed #0868f5;
  border-radius:12px;
  background:linear-gradient(135deg,#eef6ff 0%,#ffffff 58%,#eaf3ff 100%);
  box-shadow:0 10px 24px rgba(8,104,245,.10), inset 0 0 0 1px rgba(255,255,255,.75);
  position:relative;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}
.dropzone.upload-emphasis::after{
  content:"点击或拖入 DXF";
  position:absolute;
  right:16px;
  top:12px;
  height:26px;
  padding:0 12px;
  border-radius:999px;
  background:#0868f5;
  color:#fff;
  font-size:12px;
  font-weight:900;
  display:flex;
  align-items:center;
}
.dropzone.upload-emphasis:hover,
.dropzone.upload-emphasis.dragover{
  transform:translateY(-1px);
  border-color:#004ec7;
  background:linear-gradient(135deg,#e1efff 0%,#ffffff 54%,#dbeaff 100%);
  box-shadow:0 14px 30px rgba(8,104,245,.18), inset 0 0 0 1px rgba(255,255,255,.82);
}
.dropzone.upload-emphasis.dragover::after{content:"松开即可上传";background:#075bd8}
.upload-icon{
  width:52px;
  height:52px;
  border-radius:14px;
  background:#0868f5;
  color:#fff;
  display:grid!important;
  place-items:center;
  margin:0!important;
  font-size:26px!important;
  box-shadow:0 8px 18px rgba(8,104,245,.22);
}
.dropzone .upload-copy{display:block;color:#53667f;margin:0!important;padding-right:118px}
.dropzone .upload-copy strong{font-size:18px;color:#06245b;margin-bottom:4px}
.dropzone .upload-copy span{font-size:14px;color:#53667f;line-height:1.55;margin:0!important}
.dropzone .upload-copy em{
  display:inline-flex;
  margin-top:7px;
  font-style:normal;
  color:#0868f5;
  background:#e8f2ff;
  border:1px solid #cfe3ff;
  border-radius:999px;
  padding:3px 10px;
  font-size:12px;
  font-weight:900;
}
@media(max-width:680px){
  .dropzone.upload-emphasis{grid-template-columns:1fr;text-align:center;justify-items:center;padding:18px 14px}
  .dropzone.upload-emphasis::after{position:static;justify-self:center;margin-top:8px;grid-row:3}
  .dropzone .upload-copy{padding-right:0;text-align:center}
}


/* V1.8: make selected DXF status obvious after click/drag upload. */
.dropzone.upload-emphasis.has-file{
  border-style:solid;
  border-color:#0f73ff;
  background:linear-gradient(135deg,#e8f4ff 0%,#ffffff 48%,#dff0ff 100%);
  box-shadow:0 16px 34px rgba(8,104,245,.18), inset 0 0 0 2px rgba(8,104,245,.08);
}
.dropzone.upload-emphasis.has-file::after{
  content:"已选择文件";
  background:#0f73ff;
}
.dropzone.upload-emphasis.has-file .upload-icon{
  background:linear-gradient(135deg,#0f73ff,#075bd8);
  font-size:28px!important;
}
.dropzone.upload-emphasis.has-file .upload-copy strong{
  display:block;
  color:#063a86;
  font-size:20px;
  line-height:1.35;
}
.dropzone.upload-emphasis.has-file .upload-copy .selected-file-name{
  display:block;
  margin-top:5px!important;
  color:#041b43;
  font-size:16px;
  font-weight:900;
  line-height:1.5;
  word-break:break-all;
}
.dropzone.upload-emphasis.has-file .upload-copy .selected-file-tip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:9px!important;
  color:#075bd8;
  background:#e7f1ff;
  border:1px solid #b9d8ff;
  border-radius:999px;
  padding:5px 12px;
  font-size:13px;
  font-weight:900;
}
.file-line.has-file{
  margin-top:12px;
  padding:10px 12px;
  border:1px solid #b9d8ff;
  border-radius:10px;
  background:#f0f7ff;
  color:#063a86;
  font-weight:800;
}
.file-line.has-file #fileName{
  color:#041b43;
}

/* V1.9: stronger selected-state icon and batch conversion result layout. */
.dropzone.upload-emphasis{
  min-height:104px;
  grid-template-columns:82px minmax(0,1fr);
  gap:18px;
}
.upload-icon{
  width:66px;
  height:66px;
  border-radius:18px;
  font-size:34px!important;
  font-weight:950;
}
.dropzone.upload-emphasis.has-file{
  min-height:114px;
  border-width:3px;
  border-color:#005eea;
  background:linear-gradient(135deg,#dff0ff 0%,#ffffff 44%,#d6ebff 100%);
}
.dropzone.upload-emphasis.has-file .upload-icon{
  width:72px;
  height:72px;
  border-radius:18px;
  background:linear-gradient(135deg,#005eea 0%,#0078ff 52%,#004ec7 100%);
  color:#ffffff!important;
  font-size:52px!important;
  line-height:1;
  font-weight:950;
  text-shadow:0 2px 5px rgba(0,0,0,.22);
  box-shadow:0 12px 24px rgba(0,94,234,.32);
}
.dropzone.upload-emphasis.has-file .upload-copy strong{font-size:22px}
.dropzone.upload-emphasis.has-file .upload-copy .selected-file-list{font-size:15px;max-height:48px;overflow:hidden}
.result-box{
  align-items:center;
  justify-items:center;
  padding:12px;
}
.result-box .batch-result{
  width:100%;
  text-align:left;
}
.result-box .batch-result > strong{
  font-size:17px;
  margin-bottom:6px;
}
.result-box .batch-result > span{
  display:block;
  line-height:1.6;
}

/* V1.11: compact CAD hero area and highlight online preview action. */
.cad2kml-page .main-area{
  padding:18px 0 10px;
}
.cad2kml-page .main-head{
  align-items:center;
  gap:28px;
}
.cad2kml-page .tool-title{
  font-size:42px;
  margin-bottom:8px;
}
.cad2kml-page .tool-sub{
  margin-bottom:7px;
  line-height:1.45;
}
.cad2kml-page .privacy-note{
  font-size:14px;
}
.cad2kml-page .contour-art{
  height:126px;
}
.cad2kml-page .contour-art::before{
  top:0;
  right:8px;
  width:330px;
  height:116px;
}
.cad2kml-page .contour-art::after{
  top:28px;
}
.cad2kml-page .step-flow{
  margin-top:14px;
}
.cad2kml-page .preview-btn{
  border:1px solid #0868f5;
  background:linear-gradient(135deg,#0868f5,#075bd8);
  color:#fff;
  box-shadow:0 8px 18px rgba(8,104,245,.24);
}
.cad2kml-page .preview-btn:hover{
  background:linear-gradient(135deg,#075bd8,#064fc0);
  box-shadow:0 10px 22px rgba(8,104,245,.30);
}
@media(max-width:1100px){
  .cad2kml-page .main-area{padding-top:16px}
  .cad2kml-page .main-head{gap:16px}
}
@media(max-width:680px){
  .cad2kml-page .tool-title{font-size:32px}
}
.result-list{
  margin:8px 0 0 0;
  padding:8px 10px 8px 24px;
  max-height:132px;
  overflow:auto;
  background:#ffffff;
  border:1px solid #dce9fb;
  border-radius:7px;
  font-size:12.5px;
  line-height:1.6;
  color:#374a6b;
}
.result-list li.ok{color:#075985}
.result-list li.bad{color:#b42318}
@media(max-width:680px){
  .dropzone.upload-emphasis{grid-template-columns:1fr;justify-items:center}
  .dropzone.upload-emphasis.has-file .upload-icon{width:66px;height:66px;font-size:48px!important}
}
