*{ box-sizing: border-box; }
body{
    font-family:'Segoe UI', 'PingFang SC','Helvetica Neue', Arial, sans-serif;
    background: #f7fafd;
    margin:0; color:#2d3e50;
}
.site-header{
    display:flex; align-items:center;justify-content:space-between;
    padding:20px 32px 10px 32px; background:#fff; box-shadow:0 2px 12px rgba(140,170,255,.07);
    font-size:1.04em;
    border-radius: 0 0 14px 14px;
}
.site-logo{font-size:1.18em;font-weight:800;color:#1760e6;letter-spacing:.01em;}
nav a{
    color:#4d5d6d; text-decoration:none;padding:0 16px;font-weight:500;transition:color .16s;
}
nav a:hover{color:#1259e2}
.site-footer{
    text-align:center;
    color:#b3bbd0; font-size:.97em;
    margin:28px auto 5px auto;
    padding-bottom:12px;
}
main{max-width:980px;margin:0 auto;}

/* 关键词生成器区 */
.gen-section {
    background:#fff;
    border-radius:18px;
    box-shadow:0 3px 22px rgba(47,87,233,0.08);
    padding:1.7em 2em 2.5em 2em;
    margin:22px auto 34px auto;
}
.gen-section h2{font-size:1.38em;font-weight:700;color:#1663dd;margin-bottom:.3em;}
.gen-form{margin-bottom:.5em;}
.input-label{display:block;font-weight:600;margin-bottom:6px;font-size:1.05em;}
#keywordsInput{width:100%;font-size:1.13em;padding:10px 12px;border-radius:8px;border:1.2px solid #dde9fd;resize:vertical;outline:none;box-shadow:0 1px 5px rgba(180,208,255,.10);margin-bottom:15px;}
#keywordsInput:focus{border-color:#44afee;box-shadow:0 2px 10px rgba(110,200,255,.08);}
.gen-checkbox-group{margin-bottom:1.1em;display:flex;gap:1.8em;}
.gen-checkbox-group label{font-size:1em;margin-right:12px;}
.gen-checkbox-group .hint{color:#b8b8c6;font-size:.98em;margin-left:5px;}
.btn-primary,.copy-btn{
    background: linear-gradient(90deg,#2563eb 60%,#41cfb0 100%);
    color:#fff;font-size:1.09em;font-weight:700;border:0;padding:8px 42px;border-radius:9px;
    margin-top:8px;margin-right:18px;cursor:pointer;box-shadow:0 1.5px 12px rgba(52,109,255,.08);outline:none;
    transition:filter .13s,transform .09s;
}
.btn-primary:hover,.copy-btn:hover{filter:brightness(0.94);}
.btn-secondary{
    color:#44a1f2;border:0;background:#f1f7fc;padding:8px 24px; border-radius:7px;font-weight:600;
    margin-top:8px;cursor:pointer;transition:background .13s;
}
.btn-secondary:hover {background:#e3f0fe}

.results-section{margin-top:2.4em;}
.result-tabs{display: flex;gap:18px;}
.tab-btn{
    border:none;background:transparent;font-size:1.11em;font-weight:600;padding:6px 12px;border-bottom:3px solid transparent;color:#2563eb;cursor: pointer;opacity:.7;transition:border-color .14s,opacity .16s;}
.tab-btn.active{border-color:#1662dd;opacity:1;}
.result-content{margin-top:1.1em;}
.tab-content{display:none;}
.tab-content.active{display:block;}
.result-header{display:flex;align-items:center;justify-content:space-between;gap:2.5em;margin-bottom:8px;}
.result-header h4{font-size:1.07em;font-weight:600;color:#134ace;margin:0;}
.copy-btn{ font-size:.98em;margin:0;}
#broad-result,#phrase-result,#exact-result{
    width:98%;min-height:92px;font-size:1.09em;font-family:consolas,Menlo,monospace;
    color:#197; background:#f8fafc; border-radius:6px; border:1.2px solid #e5e8f4; resize:vertical;
    margin-bottom:8px; box-shadow:0 1px 7px rgba(180,200,240,.08);
    padding:8px;
}
.keywords-count{color:#b3bbd0;font-size:0.98em;}
/********* 否定关键词卡片区 *********/
.neglist-section {
    max-width: 880px;
    margin: 46px auto 22px auto;
    background: #f7fafd;
    border-radius: 24px;
    box-shadow: 0 8px 32px rgba(44,111,224,0.09);
    padding: 35px 26px 32px 26px;
}
.neglist-title {
    font-size: 1.44em;font-weight: 800;color: #1259e2;margin-bottom: 0.25em;letter-spacing: .03em;
}
.neglist-desc {
    color: #444d5f;
    font-size: 1.07em;
    margin-bottom: 1.6em;
    line-height: 1.7;
}
.neglist-highlight{ color: #ef651f; font-weight:700;}
.neglist-tag{border-radius:6px;padding:2px 10px;font-size:0.97em;font-weight:600;}
.negtag-must{ background:#e3f0fe; color:#2563eb;}
.negtag-optional{ background:#fff4e2; color:#c67800;}
.neglist-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px 32px;
}
.neglist-card {
    background: #fff;
    border-radius: 17px;
    box-shadow: 0 2px 34px rgba(97,143,255,0.10), 0 1.5px 5px rgba(87,104,133,.07);
    padding: 22px 19px 17px 22px;
    display:flex;
    flex-direction:column;
    min-width:0;
    transition: box-shadow 0.18s, transform 0.12s;
    border: 1.4px solid #edeffd;
    position:relative;
}
.neglist-card:hover {
    box-shadow: 0 6px 46px rgba(36,111,242,0.15), 0 1.5px 5px rgba(87,104,133,.08);
    transform: translateY(-2px) scale(1.018);
    border-color: #bfe0fa;
}
.neglist-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .82em;
    gap: 12px;
}
.neglist-card-head span {
    font-weight: 700;
    font-size: 1.11em;
    color: #184ea2;
    letter-spacing:.01em;
    opacity:.78;
    user-select: none;
    align-self: flex-start;
    display: flex;align-items: center;gap:4px;
}
.neglist-card-must .neglist-card-head span{color:#2284ee;}
.neglist-card-optional .neglist-card-head span{color:#bf7107;}
.neglist-copy {
    background: linear-gradient(90deg, #2563eb 40%, #4ed0b5 96%);
    color:#fff;
    border:none;
    border-radius: 8px;
    font-size: 1em;
    font-weight:600;
    padding: 4px 19px;
    cursor:pointer;
    transition: filter .13s;
    outline:none;
    min-width:76px;
}
.neglist-card-optional .neglist-copy{
    background: linear-gradient(90deg,#ffd34e 36%,#fd915c 80%);
    color:#fff;
}
.neglist-copy:hover{filter:brightness(0.95);}
.neglist-card-content {
    font-family: consolas, "Menlo", monospace;
    font-size: 1.05em;
    background: #f3f7fb;
    border-radius: 6px;
    color: #244;
    padding: 10px 8px 8px 10px;
    line-height: 1.7;
    letter-spacing: .01em;
    min-width:0;
    word-break:break-word;
    user-select:text;
}

/* mobile/窄屏优化 */
@media (max-width:850px){
    .site-header{padding:15px 10px 6px 12px;font-size:0.97em;}
    main,.neglist-section,.gen-section{padding-left:2vw;padding-right:2vw;}
    .neglist-cards{ grid-template-columns:1fr; gap:22px 0;}
    .neglist-section{padding:18px 3vw;}
}
