:root{--ink:#0A101E;--surface:#111a2c;--line:rgba(147,160,184,.18);--muted:#93A0B8;--text:#EAF0FA;--cyan:#19B8D4;--violet:#8B5CF6;--radius:14px;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;display:flex;flex-direction:column;min-height:100vh}
.topbar{padding:28px 32px 8px}
.topbar h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.3px}
.accent{background:linear-gradient(135deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.tagline{color:var(--muted);margin:8px 0 0;font-size:14px;max-width:900px}

.layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:16px 32px 8px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;min-height:280px;overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);font-weight:600}
.btn{font-family:inherit;font-size:12px;font-weight:600;padding:7px 14px;border-radius:8px;border:1px solid var(--line);cursor:pointer;background:transparent;color:var(--text)}
.btn:hover{border-color:var(--cyan)}
.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--violet));border:none;color:#06121A}
textarea{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--text);font-family:inherit;font-size:13.5px;line-height:1.7;padding:16px;white-space:pre-wrap}

.result-section{padding:8px 32px 8px;display:flex;gap:18px;align-items:stretch}
.score-card{width:200px;flex-shrink:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.score-num{font-size:48px;font-weight:800;background:linear-gradient(135deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.score-label{font-size:12.5px;color:var(--muted);margin-top:6px}

.keyword-cols{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kw-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;overflow:auto;max-height:220px}
.kw-col-head{font-size:12.5px;font-weight:700;margin-bottom:10px}
.kw-col-head.matched{color:#3ED598}
.kw-col-head.missing{color:#F87171}
.kw-list{display:flex;flex-wrap:wrap;gap:7px}
.kw-tag{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(147,160,184,.06)}
.kw-tag.matched{border-color:rgba(62,213,152,.4);color:#3ED598}
.kw-tag.missing{border-color:rgba(248,113,113,.4);color:#F87171}

.footer{padding:14px 32px 26px;color:var(--muted);font-size:12.5px;text-align:center}
.footer p{margin:4px 0}
.footer a{color:var(--cyan);text-decoration:none}
.footer a:hover{text-decoration:underline}

@media (max-width:860px){.layout{grid-template-columns:1fr}.result-section{flex-direction:column}.score-card{width:100%}.keyword-cols{grid-template-columns:1fr}}
