/* kinship 亲戚计算器工具页(布局源自 uidemo tool-kinship v4, 前缀 k4- 形态同 case-converter)
   两栏: 主栏(计算卡+结果板+词典tab+文档+FAQ) + 300px 右栏(widget) */

.k4-page{background:#f6f7f9;min-height:60vh;padding:24px 0 64px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif;color:#1f2937}
.k4-layout{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:1fr;gap:22px}
.k4-col-main{min-width:0;display:flex;flex-direction:column}
.k4-col-side{display:flex;flex-direction:column;gap:16px}
@media (min-width:996px){
.k4-layout{grid-template-columns:minmax(0,1fr) 300px}
}

/* ---------- 面包屑 / 标题 ---------- */
.k4-crumb{font-size:13px;color:#6b7280;margin-bottom:12px}
.k4-crumb a{color:#6b7280;text-decoration:none}
.k4-crumb a:hover{color:#18816a}
.k4-crumb-sep{margin:0 7px;color:#d1d5db}
.k4-titlebox h1{font-size:1.35rem;font-weight:700;margin:0 0 6px;color:#111827}
.k4-titlebox p{font-size:.85rem;color:#6b7280;margin:0 0 18px;line-height:1.6}

/* ---------- 计算输入卡 ---------- */
.k4-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px}
.k4-input-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;flex-wrap:wrap;gap:8px}
.k4-in-label{font-size:.9rem;font-weight:600}
.k4-input-ops{display:flex;align-items:center;gap:10px}
.k4-count{font-size:.78rem;color:#6b7280}
.k4-count b{color:#18816a}
.k4-mini{padding:4px 12px;border:1px solid #d1d5db;border-radius:999px;background:#fff;cursor:pointer;font-size:.74rem;color:#374151;transition:all .15s}
.k4-mini:hover{border-color:#18816a;color:#18816a}
.k4-chain{min-height:52px;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fafafa;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.k4-chain-me{font-weight:700;color:#18816a}
.k4-chain-hint{font-size:.8rem;color:#9ca3af}
.k4-chipnode{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #d3ece3;color:#116a56;font-size:.82rem;border-radius:999px;padding:4px 6px 4px 12px}
.k4-chipnode button{border:0;background:#e6f4f0;color:#18816a;width:18px;height:18px;border-radius:50%;cursor:pointer;font-size:11px;line-height:1;padding:0}
.k4-chipnode button:hover{background:#cfe9e2}
.k4-arrow{color:#c6cbd2;font-size:12px}
.k4-pad{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px}
.k4-pad-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.k4-pad-title{font-size:.76rem;color:#9ca3af}
.k4-key{font-size:.85rem;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:7px 15px;cursor:pointer;transition:all .15s}
.k4-key:hover{border-color:#18816a;color:#18816a;background:#f0faf7}
.k4-key.k4-key-off{opacity:.32;cursor:not-allowed}
.k4-inputrow{display:flex;gap:10px;margin-top:14px}
.k4-input{flex:1;font-size:.88rem;color:#1f2937;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fafafa;outline:none}
.k4-input:focus{outline:2px solid rgba(24,129,106,.35);border-color:#18816a;background:#fff}
.k4-go{font-size:.88rem;font-weight:600;color:#fff;background:#18816a;border:0;border-radius:8px;padding:10px 22px;cursor:pointer}
.k4-go:hover{background:#116a56}
.k4-opts{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:14px;padding-top:14px;border-top:1px dashed #e5e7eb}
.k4-seg-group{display:flex;align-items:center;gap:7px}
.k4-seg-name{font-size:.8rem;color:#6b7280}
.k4-seg{font-size:.8rem;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:6px 15px;cursor:pointer;transition:all .15s}
.k4-seg.on{color:#fff;background:#18816a;border-color:#18816a}
.k4-diff-legend{margin-top:12px;font-size:.74rem;color:#9ca3af;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.k4-diff-demo{font-style:normal;font-weight:700;color:#0d9488}
.k4-chip{font-size:.74rem;color:#116a56;background:#f0faf7;border:1px solid #d3ece3;border-radius:999px;padding:3px 11px;cursor:pointer}
.k4-chip:hover{background:#e2f3ee}
.k4-err{margin-top:10px;font-size:.8rem;color:#b91c1c;display:none}

/* ---------- 实时大结果 ---------- */
.k4-resbox{margin-top:14px;border:1px solid #d3ece3;border-radius:10px;background:linear-gradient(150deg,#fbfefd,#f0faf7);padding:16px}
.k4-res-label{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#6b7280;margin-bottom:12px;gap:10px;flex-wrap:wrap}
.k4-read{color:#18816a}
.k4-res-body{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.k4-big{font-size:2.5rem;font-weight:700;line-height:1.15;color:#116a56;min-width:130px;text-align:center;background:#fff;border:1px solid #d3ece3;border-radius:12px;padding:12px 20px;box-shadow:0 3px 12px rgba(17,106,86,.1)}
.k4-res-side{flex:1;min-width:200px}
.k4-alias{font-size:.84rem;color:#4b5563;line-height:1.7}
.k4-alias b{color:#116a56}
.k4-rev{margin-top:8px;font-size:.82rem;color:#6b7280;background:#fff;border:1px dashed #d3ece3;border-radius:8px;padding:8px 12px;line-height:1.7}
.k4-rev b{color:#18816a}

/* ---------- 结果板 ---------- */
.k4-board-head{display:flex;justify-content:space-between;align-items:baseline;margin:24px 0 12px}
.k4-board-head h2{font-size:1.05rem;font-weight:700;color:#111827;margin:0}
.k4-board-hint{font-size:.74rem;color:#9ca3af}
.k4-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.k4-item{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 14px 12px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:8px;min-height:96px}
.k4-item:hover{border-color:#18816a;box-shadow:0 2px 10px rgba(24,129,106,.12)}
.k4-item.copied{border-color:#18816a;background:#f0faf7}
.k4-item-name{font-size:.8rem;font-weight:700;color:#111827;display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.k4-item-name small{font-size:.64rem;font-weight:400;color:#9ca3af}
.k4-item-out{flex:1;font-size:.88rem;line-height:1.6;color:#374151;word-break:break-word}
.k4-item-out b{color:#0d9488;font-weight:700}
.k4-item.empty .k4-item-out{color:#c6cbd2;font-size:.8rem}
.k4-item-copy{font-size:.68rem;color:#9ca3af;transition:color .15s}
.k4-item:hover .k4-item-copy{color:#18816a}
.k4-item.copied .k4-item-copy{color:#18816a;font-weight:600}
.k4-item-tag{position:absolute;top:-9px;right:10px;background:#18816a;color:#fff;font-size:.62rem;padding:2px 8px;border-radius:999px;display:none}
.k4-item.copied .k4-item-tag{display:block}
.k4-item-main{grid-column:1 / -1;flex-direction:row;align-items:center;gap:18px;min-height:0}
.k4-item-main .k4-item-out{flex:0 0 auto}
.k4-item-main .k4-item-side{flex:1;font-size:.8rem;color:#6b7280;line-height:1.65}
.k4-item-main .k4-item-side b{color:#116a56}
.k4-item-main.nocopy{cursor:default}

/* ---------- 词典 tab ---------- */
.k4-dict-card{padding:16px 18px}
.k4-tabs{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.k4-fgroup{display:flex;gap:6px;flex-wrap:wrap}
.k4-tab{font-size:.78rem;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:5px 13px;cursor:pointer;transition:all .15s}
.k4-tab:hover{border-color:#18816a;color:#18816a}
.k4-tab.on{color:#fff;background:#18816a;border-color:#18816a}
.k4-search{flex:1;min-width:160px;font-size:.82rem;color:#1f2937;padding:6px 14px;border:1px solid #d1d5db;border-radius:999px;background:#fafafa;outline:none}
.k4-search:focus{border-color:#18816a;background:#fff;box-shadow:0 0 0 3px rgba(24,129,106,.12)}
.k4-tscroll{overflow-x:auto}
.k4-table{width:100%;border-collapse:collapse;font-size:.82rem;min-width:560px}
.k4-table th{background:#f6f7f9;text-align:left;padding:8px 10px;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap}
.k4-table td{padding:8px 10px;border-bottom:1px solid #f0f1f3;color:#4b5563;line-height:1.55}
.k4-table tr:hover td{background:#f8fafa}
.k4-table td b{color:#0d9488}
.k4-tag{display:inline-block;font-size:.68rem;color:#116a56;background:#f0faf7;border:1px solid #d3ece3;border-radius:5px;padding:1px 7px;margin-right:8px;vertical-align:1px}
.k4-empty{font-size:.82rem;color:#9ca3af;padding:22px 0;text-align:center}
.k4-note{font-size:.74rem;color:#9ca3af;line-height:1.7;margin:12px 0 0}

/* ---------- 文档区(md content_html) ---------- */
.k4-doc{margin-top:28px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px}
.k4-doc h2{font-size:1.02rem;font-weight:700;color:#111827;margin:22px 0 8px}
.k4-doc h2:first-child{margin-top:0}
.k4-doc p{font-size:.85rem;color:#4b5563;line-height:1.7;margin:0 0 12px}
.k4-doc ul,.k4-doc ol{margin:0 0 12px;padding-left:20px}
.k4-doc li{font-size:.85rem;color:#4b5563;line-height:1.7}
.k4-doc b,.k4-doc strong{color:#116a56}
.k4-doc a{color:#18816a;text-decoration:none}
.k4-doc a:hover{text-decoration:underline}
.k4-doc code{background:#f0faf7;color:#116a56;padding:1px 6px;border-radius:4px;font-size:.8rem}
.k4-doc table{width:100%;border-collapse:collapse;font-size:.82rem;margin:0 0 14px}
.k4-doc th{background:#f6f7f9;text-align:left;padding:8px 10px;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb}
.k4-doc td{padding:8px 10px;border-bottom:1px solid #f0f1f3;color:#4b5563;line-height:1.55;vertical-align:top}
.k4-doc blockquote{margin:0 0 12px;padding:8px 14px;border-left:3px solid #18816a;background:#f0faf7;color:#116a56;font-size:.85rem}

/* ---------- FAQ(独立圆角卡+chevron 旋转) ---------- */
.k4-faqbox{margin-top:16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px}
.k4-faqbox h3{font-size:1.05rem;font-weight:700;margin:0 0 12px;color:#111827}
.k4-faq{border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:0 16px;margin-bottom:10px}
.k4-faq:last-child{margin-bottom:0}
.k4-faq summary{cursor:pointer;font-weight:500;font-size:.95rem;color:#111827;padding:13px 8px 13px 24px;list-style:none;position:relative}
.k4-faq summary::marker,.k4-faq summary::-webkit-details-marker{content:none;display:none}
.k4-faq summary::before{
    content:"";position:absolute;left:5px;top:50%;
    width:7px;height:7px;margin-top:-4.5px;
    border-right:2px solid #6b7280;border-bottom:2px solid #6b7280;
    transform:rotate(-45deg);transition:transform .15s;
}
.k4-faq[open] summary::before{transform:rotate(45deg)}
.k4-faq p{font-size:.88rem;color:#4b5563;line-height:1.65;margin:0;padding:0 8px 13px 24px}
.k4-faq b{color:#116a56}

/* ---------- 右栏 widget ---------- */
.k4-widget{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px 18px}
.k4-widget-title{font-size:.95rem;font-weight:700;color:#111827;margin:0 0 12px}
.k4-side-note{font-size:.76rem;color:#9ca3af;margin:0 0 8px;line-height:1.5}
.k4-side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.k4-side-list li{display:flex;gap:10px;align-items:flex-start}
.k4-side-list b{display:block;font-size:.86rem;font-weight:600;color:#111827}
.k4-side-list li>div>span{display:block;font-size:.76rem;color:#6b7280;margin:2px 0 4px;line-height:1.5}
.k4-side-list code{background:#f2f3f5;border-radius:4px;padding:1px 6px;font-size:.74rem;color:#1c1e21;word-break:break-all}
.k4-side-ico{
    flex:none;width:28px;height:28px;border-radius:7px;margin-top:1px;
    background:#eef2ff;color:#4338ca;font-weight:700;font-size:.8rem;
    display:flex;align-items:center;justify-content:center;
}
.k4-side-ico-cap{background:#fef3c7;color:#b45309}
.k4-side-ico-title{background:#fce7f3;color:#be185d}
.k4-smallwords{display:flex;flex-wrap:wrap;gap:6px}
.k4-smallwords span{padding:2px 9px;background:#f0faf7;border:1px solid #d3ece3;border-radius:999px;font-size:.74rem;color:#116a56}
.k4-abc{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.k4-abc span{background:#f0faf7;border:1px solid #d3ece3;border-radius:6px;text-align:center;font-size:.76rem;color:#116a56;padding:6px 0}
.k4-tool-link{
    display:flex;align-items:center;gap:10px;padding:8px 6px;margin:0 -6px;
    border-radius:9px;text-decoration:none;transition:background .15s;
}
.k4-tool-link:hover{background:rgba(0,0,0,.05)}
.k4-tool-link b{display:block;font-size:.86rem;color:#111827;font-weight:600}
.k4-tool-link div>span{display:block;font-size:.76rem;color:#6b7280;margin-top:1px}
.k4-tool-ico{
    flex:none;width:32px;height:32px;border-radius:8px;
    background:rgba(24,129,106,.1);color:#116a56;font-weight:700;font-size:.86rem;
    display:flex;align-items:center;justify-content:center;
}
.k4-tool-ico-wc{background:#fef3c7;color:#b45309}
.k4-tool-ico-all{background:#eef2ff;color:#4338ca}
.k4-widget-priv{background:#ecfdf5;border-color:#a7f3d0}
.k4-widget-priv b{font-size:.86rem;color:#065f46}
.k4-widget-priv p{font-size:.78rem;color:#047857;line-height:1.65;margin:6px 0 0}

/* ---------- toast ---------- */
.k4-toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(20px);background:#111827;color:#fff;font-size:.82rem;padding:9px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:all .25s;z-index:999}
.k4-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ---------- 响应式 ---------- */
@media (max-width:760px){
.k4-board{grid-template-columns:1fr 1fr}
.k4-big{min-width:0;flex:1 1 100%}
}
@media (max-width:520px){
.k4-board{grid-template-columns:1fr}
}
