/* Extracted from src/services/nlp.njk style block 1 */
/* ============ nlp.njk · page-scoped ============ */

/* §01 四大核心能力 — 卡片内的标签 + 图标分色 */
.nl-cap-card{ display:flex; flex-direction:column; }
.nl-cap-card .scn-card-icon{ margin-bottom:16px; }
.nl-cap-card.t-intent  .scn-card-icon{ background:#efe9fb; color:#7a52e0; }
.nl-cap-card.t-entity  .scn-card-icon{ background:#fbe9e4; color:#c96a4f; }
.nl-cap-card.t-emotion .scn-card-icon{ background:#f7efde; color:#bd863f; }
.nl-cap-card.t-domain  .scn-card-icon{ background:#e4f1ec; color:#479088; }
.nl-cap-card h3{ margin-bottom:8px; }
.nl-cap-card > p{ margin-bottom:16px; }
.nl-cap-tags{
    display:flex; flex-wrap:wrap; gap:7px;
    margin-top:auto; padding-top:4px;
}
.nl-cap-tags span{
    padding:5px 10px;
    font-family:var(--font-mono);
    font-size:10.5px; font-weight:700; letter-spacing:.06em;
    border-radius:7px; text-transform:uppercase;
    background:var(--scn-paper); color:var(--accent);
    border:1px solid var(--scn-line);
}

/* §02 引擎流水线面板 */
.nl-visual-stack{ display:flex; flex-direction:column; gap:18px; }
.nl-media-card{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    border:1px solid var(--scn-line);
    background:#fff;
    box-shadow:var(--scn-shadow-sm);
}
.nl-media-card img{
    display:block;
    width:100%;
    aspect-ratio:16 / 10;
    object-fit:cover;
}
.nl-media-caption{
    position:absolute;
    left:18px;
    bottom:18px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(22,25,33,.72);
    color:#fff;
    font-size:12px;
    font-weight:800;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
}
.nl-media-caption .dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#7ee8c8;
    box-shadow:0 0 0 4px rgba(126,232,200,.14);
}
.nl-flow{
    display:grid; grid-template-columns:repeat(5,1fr);
    gap:8px; align-items:stretch;
}
.nl-flow-node{
    background:var(--scn-paper);
    border:1px solid var(--scn-line);
    border-radius:11px;
    padding:14px 9px 12px; text-align:center;
    transition:border-color .25s var(--ease-out), background .25s var(--ease-out);
}
.nl-flow-node:hover{ border-color:var(--accent); background:var(--accent-glow); }
.nl-flow-node i{
    display:block; font-size:17px;
    color:var(--accent); margin-bottom:7px;
}
.nl-flow-node b{
    display:block;
    font-size:12.5px; font-weight:800; letter-spacing:-.005em;
    color:var(--text-primary); margin-bottom:2px;
}
.nl-flow-node small{
    display:block;
    font-family:var(--font-mono);
    font-size:9px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--text-muted);
}

/* §02 实例：输入 → 解析结果 */
.nl-example{
    margin-top:18px; padding-top:18px;
    border-top:1px dashed var(--scn-line);
}
.nl-example-input{
    background:var(--accent-glow);
    border:1px solid rgba(116,68,253,.18);
    border-radius:11px;
    padding:12px 14px; margin-bottom:6px;
    font-size:14px; line-height:1.6;
    color:var(--text-primary);
}
.nl-example-input::before,
.nl-example-input::after{ content:'"'; color:var(--accent); font-weight:700; }
.nl-example-arrow{
    text-align:center;
    color:var(--accent); font-size:15px;
    margin:6px 0;
}
pre.nl-example-output{
    background:#1f1813;
    border:1px solid var(--scn-line);
    border-radius:11px;
    padding:14px 16px;
    font-family:var(--font-mono);
    font-size:12px; line-height:1.7;
    color:rgba(255,255,255,.86);
    margin:0; white-space:pre; overflow-x:auto;
}
pre.nl-example-output .k{ color:#c5b1ff; }
pre.nl-example-output .s{ color:#7ee8c8; }
pre.nl-example-output .n{ color:#ffd06b; }
pre.nl-example-output .p{ color:rgba(255,255,255,.5); }

/* §03 行业模型包卡片 */
.nl-pack-card{ display:flex; flex-direction:column; }
.nl-pack-mono{
    display:inline-flex; align-items:center; gap:7px;
    margin-bottom:11px;
    font-family:var(--font-mono);
    font-size:10.5px; font-weight:600; letter-spacing:.13em; text-transform:uppercase;
    color:var(--accent);
}
.nl-pack-mono::before{ content:""; width:16px; height:1px; background:currentColor; opacity:.6; }
.nl-pack-card h4{ margin-bottom:9px; }
.nl-pack-card > p{ margin-bottom:16px; }
.nl-pack-meta{
    display:flex; flex-wrap:wrap; gap:7px;
    margin-top:auto; padding-top:4px;
}
.nl-pack-meta span{
    font-size:11px; font-weight:600;
    padding:4px 11px; border-radius:999px;
    background:var(--accent-glow); color:var(--accent);
}

@media (max-width:1024px){
    .nl-flow{ grid-template-columns:repeat(2,1fr); gap:10px; }
}
@media (max-width:480px){
    .nl-flow{ grid-template-columns:1fr; }
    .nl-media-caption{ left:14px; bottom:14px; }
    .nl-example-input{ font-size:14px; padding:14px 18px; }
    pre.nl-example-output{ font-size:11px; padding:14px; line-height:1.65; }
    .nl-cap-tags span{ font-size:11px; padding:4px 9px; }
}

/* 折叠式技术细节（PC 默认展开，H5 默认收起）*/
.nl-tech-details{
    margin-top:28px; padding:14px 18px;
    background:var(--accent-glow-2);
    border:1px dashed rgba(116,68,253,.30);
    border-radius:12px;
}
.nl-tech-details > summary{
    cursor:pointer; list-style:none;
    font-size:13.5px; font-weight:700; color:var(--accent);
    display:inline-flex; align-items:center; gap:8px;
    user-select:none;
}
.nl-tech-details > summary::-webkit-details-marker{ display:none; }
.nl-tech-details > summary::before{
    content:"+"; display:inline-block;
    width:18px; height:18px; line-height:16px;
    border-radius:50%;
    background:var(--accent); color:#fff; text-align:center;
    font-weight:700; font-size:14px;
    transition:transform .25s var(--ease-out);
}
.nl-tech-details[open] > summary::before{ content:"−"; transform:rotate(0deg); }
.nl-tech-details .nl-tech-body{ margin-top:10px; }

/* 在 PC 端默认展开，提升专业感 */
@media (min-width: 992px){
    .nl-tech-details{ /* 不强制 open，仍由用户控制；但提示视觉 */ }
}
/* JSON 示例：H5 也保持直接可见，避免核心示例内容只在交互后出现。 */
@media (max-width:480px){
    .nl-example-arrow{ display:none; }
    .nl-example-input ~ pre.nl-example-output { display:block; }
    .nl-example-input{ position:relative; }
    .nl-example-input::after{ content:""; display:none; }
    .nl-example.is-open pre.nl-example-output{ margin-top:12px; }
}

.nl-pipeline-intro{
    margin:14px 0 10px;
    font-size:14px;
    color:var(--text-secondary);
}
.nl-pipeline-list{
    margin:0 0 0 18px;
    padding:0;
    color:var(--text-secondary);
    font-size:13.5px;
    line-height:1.85;
}
.nl-strong{ color:var(--text-primary); }
