:root {
    --bg: #f6f7f9;
    --ink: #121417;
    --muted: #66717f;
    --surface: #fff;
    --line: #dfe5ec;
    --accent: #0f8b8d;
    --warm: #f2b84b;
    font-family: Inter, "Microsoft YaHei", Arial, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); }
a { color: inherit; text-decoration: none; }

.header {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 68px;
    padding: 0 6vw;
    border-bottom: 1px solid var(--line);
    background: rgba(246, 247, 249, .92);
    backdrop-filter: blur(14px);
}

.brand, nav, .actions, .footer { display: flex; align-items: center; }
.brand { gap: 10px; font-weight: 900; font-size: 20px; }
.brand-mark {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--ink);
    color: #fff;
}
nav { gap: 24px; color: var(--muted); font-size: 14px; }

.hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    min-height: calc(100vh - 68px);
    padding: 72px 6vw;
}

.eyebrow {
    margin: 0 0 12px;
    color: var(--accent);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 18px; font-size: clamp(46px, 7vw, 86px); line-height: .96; letter-spacing: 0; }
h2 { font-size: clamp(32px, 4.6vw, 54px); line-height: 1.05; letter-spacing: 0; }
.lead { max-width: 660px; color: #3c4653; font-size: 21px; line-height: 1.65; }

.actions { gap: 12px; margin-top: 30px; }
.button, form button {
    display: inline-flex;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--ink);
    padding: 13px 18px;
    font-weight: 800;
}
.button.primary, form button { border-color: var(--ink); background: var(--ink); color: #fff; }

.preview {
    padding: 22px;
    border: 1px solid #cbd4df;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 26px 80px rgba(30, 40, 58, .16);
}
.search {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 18px;
    border-radius: 8px;
    background: #121b1d;
    color: #fff;
}
kbd { color: var(--warm); }
.preview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 16px;
}
.preview-grid span {
    min-height: 78px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #f8fafb;
    font-weight: 800;
}

.section { padding: 78px 6vw; }
.section.alt { background: #eef3f3; }
.section-title { display: flex; justify-content: space-between; gap: 32px; align-items: end; margin-bottom: 26px; }
.cards, .plugin-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
article, .plugin-card, form {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
}
article, .plugin-card { min-height: 190px; padding: 22px; }
article p, .plugin-card p, .split p, .contact p, .footer { color: var(--muted); line-height: 1.65; }
.tag { display: inline-block; padding: 5px 9px; border-radius: 999px; background: #e5f3f3; color: #0b696a; font-size: 12px; font-weight: 800; }
.member { background: #fff0cf; color: #7a5400; }
.plugin-meta { display: flex; gap: 10px; margin-top: 18px; color: var(--muted); font-size: 13px; }

.split, .contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: 42px; align-items: start; }
form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 22px; }
input, textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 12px;
    font: inherit;
}
textarea, form button, #formMessage { grid-column: 1 / -1; }
textarea { min-height: 112px; resize: vertical; }
#formMessage { margin: 0; color: var(--accent); }

.footer {
    justify-content: space-between;
    gap: 18px;
    padding: 26px 6vw;
    border-top: 1px solid var(--line);
    background: #121417;
    color: #c5ccd5;
}
.footer span:first-child { color: #fff; font-weight: 900; }

@media (max-width: 900px) {
    .hero, .split, .contact { grid-template-columns: 1fr; }
    .cards, .plugin-grid, .preview-grid { grid-template-columns: 1fr; }
    .section-title { display: block; }
}

@media (max-width: 620px) {
    .header { align-items: flex-start; flex-direction: column; padding: 16px 6vw; }
    nav { width: 100%; justify-content: space-between; gap: 10px; }
    .actions, .footer { flex-direction: column; align-items: stretch; }
    form { grid-template-columns: 1fr; }
}
