/* ======================================================================
   鼠标 DPI 换算器 · 独立设计（赛博霓虹深紫黑主题）
   浅色 = 雾紫底 + 霓虹紫青描边；深色 = 深夜电竞房
   ====================================================================== */
.mdc{
  --ink:#241b3a; --sub:#655a80; --faint:#9c93b5;
  --bg:#f2effa; --card:#ffffff; --card2:#ece7f7; --line:#d8d0ec; --line2:#e5dff4;
  --pri:#6d28d9; --pri-2:#8b5cf6; --pri-soft:#ece0fd; --pri-ink:#5b21b6;
  --cyan:#0891b2; --cyan-soft:#d9f2f8;
  --pink:#db2777; --neon:#a78bfa;
  --red:#b42323; --red-soft:#fdecec;
  --r:14px;
  --shadow:0 1px 2px rgba(36,27,58,.06),0 12px 30px rgba(109,40,217,.14);
  color:var(--ink);
  font-family:"Segoe UI","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",-apple-system,sans-serif;
  font-size:15px; line-height:1.75;
  background:
    radial-gradient(760px 380px at 90% -120px, rgba(139,92,246,.16), transparent 60%),
    radial-gradient(640px 320px at -6% 120px, rgba(8,145,178,.10), transparent 60%),
    var(--bg);
  padding:0 16px 58px;
}
:root[data-theme="dark"] .mdc{
  --ink:#e7e0f7; --sub:#a79cc4; --faint:#6f668c;
  --bg:#0d0a18; --card:#171226; --card2:#1e1832; --line:#322a4e; --line2:#282143;
  --pri:#a78bfa; --pri-2:#c4b5fd; --pri-soft:rgba(167,139,250,.14); --pri-ink:#d8ccff;
  --cyan:#22d3ee; --cyan-soft:rgba(34,211,238,.12);
  --pink:#f472b6; --neon:#c4b5fd;
  --red:#f87171; --red-soft:rgba(248,113,113,.12);
  --shadow:0 1px 2px rgba(0,0,0,.5),0 14px 34px rgba(0,0,0,.55);
}
.mdc *{box-sizing:border-box;}
.mdc b{font-weight:700;}
.mdc-wrap{max-width:1080px;margin:0 auto;}
.mdc-mono{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-weight:700;}

/* ---------- Hero：霓虹电竞 ---------- */
.mdc-hero{margin-top:22px;border:1px solid var(--pri);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);
  background:linear-gradient(135deg,#150c2e 0%,#2b1158 55%,#0e3a4a 120%);position:relative;}
.mdc-hero::before{content:'';position:absolute;inset:0;background:
  repeating-linear-gradient(90deg, rgba(167,139,250,.07) 0 2px, transparent 2px 42px),
  repeating-linear-gradient(0deg, rgba(34,211,238,.05) 0 2px, transparent 2px 42px);}
.mdc-hero-body{padding:26px 28px;position:relative;z-index:2;display:flex;gap:20px;align-items:center;flex-wrap:wrap;}
.mdc-mouse{width:96px;height:96px;flex:none;}
.mdc-hero-txt{flex:1;min-width:260px;}
.mdc-hero h1{margin:0 0 6px;font-size:clamp(23px,3.4vw,31px);font-weight:900;color:#f4efff;}
.mdc-hero h1 em{font-style:normal;color:var(--cyan);}
.mdc-hero p{margin:0;color:#b9a8e6;font-size:14.5px;max-width:680px;}
.mdc-hero p em{font-style:normal;color:#e9d5ff;font-weight:800;}

/* ---------- 模式 ---------- */
.mdc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;}
.mdc-tab{border:1.5px solid var(--line);background:var(--card);color:var(--sub);border-radius:10px;padding:8px 16px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;}
.mdc-tab:hover{border-color:var(--pri-2);color:var(--pri-ink);}
.mdc-tab.on{background:var(--pri);border-color:var(--pri);color:#fff;}
:root[data-theme="dark"] .mdc-tab.on{color:#171226;}

/* ---------- 工作台 ---------- */
.mdc-desk{display:grid;grid-template-columns:360px 1fr;gap:18px;margin-top:16px;}
@media (max-width:920px){.mdc-desk{grid-template-columns:1fr;}}
.mdc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 22px;}
.mdc-card h2{margin:0 0 4px;font-size:16px;font-weight:900;display:flex;align-items:center;gap:8px;}
.mdc-card h2::before{content:'▮';color:var(--cyan);}
.mdc-tip{font-size:12.5px;color:var(--sub);margin:0 0 14px;}
.mdc-field{margin-bottom:12px;}
.mdc-field label{display:block;font-size:13px;font-weight:700;color:var(--sub);margin-bottom:4px;}
.mdc-in,.mdc-sel{width:100%;border:1.5px solid var(--line);background:var(--card2);color:var(--ink);border-radius:10px;padding:9px 12px;font-size:14.5px;outline:none;font-family:inherit;}
.mdc-in:focus,.mdc-sel:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.mdc-btn{border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;}
.mdc-btn-go{background:var(--pri);color:#fff;}
:root[data-theme="dark"] .mdc-btn-go{color:#171226;}
.mdc-btn-go:hover{background:var(--pri-2);}
.mdc-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1.5px solid var(--line);}
.mdc-btn-ghost:hover{border-color:var(--pri-2);}
.mdc-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.mdc-msg{margin-top:10px;font-size:13px;min-height:20px;font-weight:700;}
.mdc-msg.err{color:var(--red);}
.mdc-msg.ok{color:var(--pri);}

/* ---------- 结果 ---------- */
.mdc-big{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.mdc-stat{flex:1;min-width:125px;background:var(--pri-soft);border:1px solid var(--line2);border-radius:12px;padding:12px;text-align:center;}
.mdc-stat.cy{background:var(--cyan-soft);}
.mdc-stat i{display:block;font-style:normal;font-size:12px;color:var(--sub);font-weight:700;}
.mdc-stat b{font-size:25px;color:var(--pri-ink);}
.mdc-stat.cy b{color:var(--cyan);}
.mdc-stat u{text-decoration:none;font-size:12px;color:var(--faint);}
.mdc-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:6px;}
.mdc-table th{font-size:12px;color:var(--sub);text-align:left;padding:6px 8px;border-bottom:2px solid var(--line);white-space:nowrap;}
.mdc-table td{padding:7px 8px;border-bottom:1px solid var(--line2);}
.mdc-table td b{color:var(--pri-ink);}
.mdc-advice{margin-top:12px;border-radius:10px;padding:10px 14px;font-size:14px;border:1px solid var(--line2);background:var(--card2);}
.mdc-advice.hl{background:var(--pri-soft);}
.mdc-advice.cy{background:var(--cyan-soft);}
.mdc-advice.bad{background:var(--red-soft);}
.mdc-advice b{color:var(--pri-ink);}

/* ---------- FAQ ---------- */
.mdc-faq{margin-top:34px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 26px;box-shadow:var(--shadow);}
.mdc-faq h2{margin:0 0 12px;font-size:19px;font-weight:900;}
.mdc-faq h3{margin:18px 0 6px;font-size:15.5px;font-weight:800;color:var(--pri-ink);}
.mdc-faq p{margin:0;color:var(--sub);font-size:14px;}
.mdc-faq p b{color:var(--ink);}
