/* ====== 摩托车驾照与上牌 · mlg- 前缀 ====== */
.mlg-page { --mlg-bg:#0f0a1a; --mlg-bg-2:#1a1030; --mlg-accent:#a855f7; --mlg-accent-2:#f472b6; --mlg-bad:#ef4444; --mlg-warn:#f97316; --mlg-ok:#22c55e; --mlg-text:#e2e8f0; --mlg-muted:#94a3b8; --mlg-card:#1e1540; --mlg-border:#2a1f55; padding:28px 0 40px; color:var(--mlg-text); }

/* Hero 摩托 SVG */
.mlg-hero { position:relative; display:grid; grid-template-columns:280px 1fr 240px; gap:24px; align-items:center; padding:32px; background:linear-gradient(135deg, var(--mlg-bg) 0%, var(--mlg-bg-2) 100%); border-radius:20px; border:1px solid var(--mlg-border); overflow:hidden; margin-bottom:28px; }
.mlg-moto { height:140px; display:flex; align-items:center; }
.mlg-moto-svg { width:100%; height:100%; filter:drop-shadow(0 6px 20px rgba(168,85,247,.25)); }
.mlg-moto-body { fill:#7c3aed; stroke:#4c1d95; stroke-width:2; }
.mlg-moto-seat { fill:#1e1b4b; }
.mlg-moto-tank { fill:#f472b6; stroke:#9d174d; stroke-width:1; }
.mlg-moto-wheel { fill:#1e1b4b; stroke:#4c1d95; stroke-width:3; }
.mlg-moto-wheel-h { fill:#4c1d95; }
.mlg-moto-bar { stroke:#a855f7; stroke-width:3; fill:none; }
.mlg-moto-exh { stroke:#94a3b8; stroke-width:4; fill:none; stroke-linecap:round; }
.mlg-moto-label { fill:var(--mlg-accent); font-size:12px; font-weight:700; }
.mlg-kicker { display:inline-block; padding:4px 12px; background:rgba(168,85,247,.15); color:var(--mlg-accent); border-radius:999px; font-size:12px; font-weight:600; letter-spacing:1px; margin-bottom:12px; }
.mlg-hero h1 { font-size:28px; font-weight:800; margin:0 0 10px; }
.mlg-hero-sub { color:var(--mlg-muted); margin:0 0 14px; line-height:1.6; }
.mlg-hero-sub b { color:var(--mlg-accent); }
.mlg-hero-chips { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0; }
.mlg-hero-chips li { padding:4px 10px; background:rgba(255,255,255,.06); border-radius:999px; font-size:12px; color:var(--mlg-muted); }
.mlg-hero-readout { background:linear-gradient(135deg, var(--mlg-accent), var(--mlg-accent-2)); color:#fff; padding:20px; border-radius:16px; text-align:center; box-shadow:0 8px 28px rgba(168,85,247,.3); }
.mlg-readout-label { font-size:12px; opacity:.85; }
.mlg-readout-num { display:block; font-size:32px; font-weight:900; margin:4px 0; }
.mlg-readout-avg { font-size:13px; opacity:.9; }

/* D/E/F 对比卡 */
.mlg-license-compare { margin-bottom:28px; }
.mlg-section-head { margin-bottom:14px; }
.mlg-section-kicker { display:inline-block; font-size:11px; font-weight:700; color:var(--mlg-accent); letter-spacing:2px; }
.mlg-section-head h2 { font-size:20px; margin:4px 0 0; color:#fff; }
.mlg-compare-row { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.mlg-compare-card { position:relative; background:var(--mlg-card); border:1px solid var(--mlg-border); border-radius:16px; padding:22px; text-align:center; transition:transform .2s, border-color .2s; }
.mlg-compare-card:hover { transform:translateY(-4px); }
.mlg-letter { display:inline-block; font-size:56px; font-weight:900; line-height:1; margin-bottom:6px; background:linear-gradient(135deg, var(--mlg-accent), var(--mlg-accent-2)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.mlg-compare-card h3 { margin:6px 0 2px; font-size:17px; }
.mlg-sub { font-size:12px; color:var(--mlg-muted); margin:0 0 14px; }
.mlg-specs { list-style:none; padding:0; margin:0 0 14px; font-size:13px; text-align:left; }
.mlg-specs li { padding:4px 0; border-bottom:1px dashed rgba(255,255,255,.05); }
.mlg-price-box { display:flex; justify-content:space-between; padding:6px 0; font-size:13px; }
.mlg-price-box span { color:var(--mlg-muted); }
.mlg-price-box b { color:var(--mlg-accent); }
.mlg-card-recommend { border-color:var(--mlg-accent); box-shadow:0 0 0 2px rgba(168,85,247,.25); transform:scale(1.03); }
.mlg-recommend-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:linear-gradient(135deg, var(--mlg-accent), var(--mlg-accent-2)); color:#fff; padding:3px 12px; border-radius:999px; font-size:11px; font-weight:700; }

/* 计算区 */
.mlg-calc { display:grid; grid-template-columns:1.6fr 1fr; gap:24px; }
.mlg-input-col { display:flex; flex-direction:column; gap:18px; }
.mlg-panel { background:var(--mlg-card); border:1px solid var(--mlg-border); border-radius:16px; padding:22px; }
.mlg-panel-head { display:flex; gap:14px; align-items:center; margin-bottom:16px; }
.mlg-step { width:36px; height:36px; border-radius:10px; background:var(--mlg-accent); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mlg-panel-head h2 { font-size:17px; margin:0 0 2px; }
.mlg-panel-head p { font-size:12px; color:var(--mlg-muted); margin:0; }
.mlg-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

/* 表单 */
.mlg-field { display:flex; flex-direction:column; gap:4px; position:relative; }
.mlg-label { font-size:12px; color:var(--mlg-muted); }
.mlg-input { width:100%; padding:10px 12px; background:rgba(0,0,0,.25); border:1px solid var(--mlg-border); border-radius:10px; color:var(--mlg-text); font-size:14px; transition:border-color .2s; appearance:none; }
.mlg-input:focus { outline:none; border-color:var(--mlg-accent); }
select.mlg-input { background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:32px; }
.mlg-unit { position:absolute; right:12px; top:50%; transform:translateY(-50%); font-size:12px; color:var(--mlg-muted); pointer-events:none; }

/* 禁摩表 */
.mlg-ban-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; font-size:13px; }
.mlg-ban-col h4 { margin:0 0 8px; font-size:14px; }
.mlg-ban-col ul { list-style:none; padding:0; margin:0; color:var(--mlg-muted); }
.mlg-ban-col ul li { padding:3px 0; border-bottom:1px dashed rgba(255,255,255,.04); }

/* 结果列 */
.mlg-result-col { position:sticky; top:20px; display:flex; flex-direction:column; gap:14px; align-self:flex-start; }
.mlg-result-hero { background:linear-gradient(135deg, #7c3aed, #a855f7); color:#fff; padding:22px; border-radius:16px; text-align:center; box-shadow:0 8px 28px rgba(168,85,247,.3); }
.mlg-rh-label { font-size:12px; opacity:.9; }
.mlg-rh-num { display:block; font-size:32px; font-weight:900; margin:4px 0; }
.mlg-rh-sub { font-size:13px; opacity:.9; }
.mlg-kpis { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.mlg-kpi { background:rgba(255,255,255,.04); border:1px solid var(--mlg-border); border-radius:10px; padding:10px 12px; }
.mlg-kpi span { display:block; font-size:11px; color:var(--mlg-muted); }
.mlg-kpi b { font-size:15px; color:var(--mlg-accent); }
.mlg-mini-card { background:rgba(255,255,255,.04); border:1px solid var(--mlg-border); border-radius:12px; padding:14px 16px; }
.mlg-mini-card h3 { margin:0 0 10px; font-size:14px; }
.mlg-mini-card ul, .mlg-mini-card ol { margin:0; padding-left:20px; font-size:13px; color:var(--mlg-muted); line-height:1.7; }
.mlg-mini-card li b { color:var(--mlg-text); }

/* FAQ */
.mlg-faq { margin-top:28px; }
.faq-list .faq-item { background:var(--mlg-card); border:1px solid var(--mlg-border); border-radius:10px; margin-bottom:8px; padding:0; overflow:hidden; }
.faq-list summary { padding:14px 16px; cursor:pointer; font-weight:600; font-size:14px; list-style:none; display:flex; justify-content:space-between; align-items:center; color:var(--mlg-text); }
.faq-list summary::after { content:'+'; font-size:18px; color:var(--mlg-accent); }
.faq-list .faq-item[open] summary::after { content:'−'; }
.faq-list .faq-a { padding:0 16px 14px; font-size:13px; color:var(--mlg-muted); line-height:1.7; }

.mlg-top { position:fixed; right:20px; bottom:40px; width:44px; height:44px; border-radius:50%; background:var(--mlg-accent); color:#fff; border:none; font-size:18px; font-weight:700; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,.4); opacity:0; pointer-events:none; transition:opacity .3s; z-index:99; }
.mlg-top.show { opacity:1; pointer-events:auto; }

@media (prefers-color-scheme: light) {
    .mlg-page { --mlg-bg:#f8fafc; --mlg-bg-2:#f0eaff; --mlg-text:#0f172a; --mlg-muted:#64748b; --mlg-card:#fff; --mlg-border:#e2e8f0; }
    .mlg-input { background:#f1f5f9; color:#0f172a; }
}
[data-theme="light"] .mlg-page { --mlg-bg:#f8fafc; --mlg-bg-2:#f0eaff; --mlg-text:#0f172a; --mlg-muted:#64748b; --mlg-card:#fff; --mlg-border:#e2e8f0; }

@media (max-width: 900px) {
    .mlg-hero { grid-template-columns:1fr; }
    .mlg-moto { order:-1; height:110px; }
    .mlg-calc { grid-template-columns:1fr; }
    .mlg-result-col { position:static; }
    .mlg-compare-row { grid-template-columns:1fr; }
    .mlg-card-recommend { transform:none; }
}
@media (max-width: 520px) {
    .mlg-grid2 { grid-template-columns:1fr; }
    .mlg-ban-grid { grid-template-columns:1fr; }
}
