/* ==========================================================================
   家长测评批次（288–300）共享样式 · 档案纸 / 测评报告风
   与既有 kids-math（圆角活泼）区分：直角细线、衬线大标题、侧边竖标、墨绿主色
   所有颜色走 --pa-* 变量，[data-theme=dark] 下整体换一套
   ========================================================================== */

.pa {
    --pa-ink: #17202a;
    --pa-ink-2: #46525f;
    --pa-ink-3: #7b8794;
    --pa-paper: #fbf8f2;
    --pa-card: #fffdf9;
    --pa-line: #e3dbcd;
    --pa-line-2: #efe8dc;
    --pa-accent: #1f6f5c;
    --pa-accent-2: #2f8f76;
    --pa-accent-soft: #e7f1ed;
    --pa-good: #157a45;
    --pa-warn: #a7621a;
    --pa-bad: #ab3126;
    --pa-shadow: 0 1px 0 rgba(23, 32, 42, .04);

    max-width: 1120px;
    margin: 0 auto;
    padding: 24px 18px 64px;
    color: var(--pa-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
    font-size: 15px;
    line-height: 1.75;
}

[data-theme="dark"] .pa {
    --pa-ink: #e9eef4;
    --pa-ink-2: #b7c2cd;
    --pa-ink-3: #8b97a3;
    --pa-paper: #12181e;
    --pa-card: #1a222a;
    --pa-line: #2c3641;
    --pa-line-2: #232c36;
    --pa-accent: #4fd1a5;
    --pa-accent-2: #6edeb7;
    --pa-accent-soft: #10302a;
    --pa-good: #5bd39a;
    --pa-warn: #e0a458;
    --pa-bad: #f08a7f;
    --pa-shadow: none;
}

/* ---------------- 页头 ---------------- */
.pa-head { border-bottom: 1px solid var(--pa-line); padding-bottom: 18px; margin-bottom: 22px; }
.pa-kicker {
    font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase;
    color: var(--pa-accent); font-weight: 700; margin: 0 0 8px;
}
.pa-title {
    font-family: Georgia, "Songti SC", "Noto Serif SC", "Times New Roman", serif;
    font-size: 30px; line-height: 1.35; margin: 0 0 10px; font-weight: 700; letter-spacing: .5px;
}
.pa-sub { margin: 0; color: var(--pa-ink-2); font-size: 14.5px; max-width: 760px; }
.pa-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pa-badge {
    font-size: 12px; padding: 3px 9px; border: 1px solid var(--pa-line);
    color: var(--pa-ink-2); background: var(--pa-card); border-radius: 2px;
}
.pa-badge.hot { border-color: var(--pa-accent); color: var(--pa-accent); }

/* ---------------- 栅格 ---------------- */
.pa-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.pa-col { display: flex; flex-direction: column; gap: 18px; min-width: 0; }

/* ---------------- 卡片 ---------------- */
.pa-card {
    background: var(--pa-card); border: 1px solid var(--pa-line);
    border-radius: 3px; padding: 18px 20px; box-shadow: var(--pa-shadow);
}
.pa-card > h2, .pa-card > h3 {
    font-size: 15.5px; margin: 0 0 14px; font-weight: 700; color: var(--pa-ink);
    display: flex; align-items: center; gap: 8px;
}
.pa-card > h2::before, .pa-card > h3::before {
    content: ""; width: 3px; height: 15px; background: var(--pa-accent); display: inline-block;
}
.pa-hint { font-size: 12.5px; color: var(--pa-ink-3); margin: 0 0 12px; line-height: 1.7; }

/* ---------------- 表单 ---------------- */
.pa-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.pa-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pa-label { font-size: 12.5px; color: var(--pa-ink-2); font-weight: 600; letter-spacing: .02em; }
.pa-input, .pa-select, .pa-textarea {
    width: 100%; box-sizing: border-box; padding: 9px 11px; font-size: 14px;
    color: var(--pa-ink); background: var(--pa-paper);
    border: 1px solid var(--pa-line); border-radius: 2px; outline: none;
    font-family: inherit; transition: border-color .15s, box-shadow .15s;
}
.pa-textarea { min-height: 84px; resize: vertical; line-height: 1.7; }
.pa-input:focus, .pa-select:focus, .pa-textarea:focus {
    border-color: var(--pa-accent); box-shadow: 0 0 0 3px var(--pa-accent-soft);
}
.pa-unit { font-size: 12px; color: var(--pa-ink-3); }

/* 分段按钮 */
.pa-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-seg button {
    font: inherit; font-size: 13.5px; padding: 6px 12px; cursor: pointer;
    background: var(--pa-paper); color: var(--pa-ink-2);
    border: 1px solid var(--pa-line); border-radius: 2px; transition: all .15s;
}
.pa-seg button:hover { border-color: var(--pa-accent); color: var(--pa-ink); }
.pa-seg button.on {
    background: var(--pa-accent); border-color: var(--pa-accent); color: #fff; font-weight: 600;
}
[data-theme="dark"] .pa-seg button.on { color: #05130f; }

/* 多选 chips */
.pa-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.pa-chip {
    font-size: 13px; padding: 5px 11px; cursor: pointer; user-select: none;
    border: 1px solid var(--pa-line); border-radius: 2px; background: var(--pa-paper);
    color: var(--pa-ink-2); transition: all .15s;
}
.pa-chip:hover { border-color: var(--pa-accent); }
.pa-chip.on { background: var(--pa-accent-soft); border-color: var(--pa-accent); color: var(--pa-accent); font-weight: 600; }

/* 按钮 */
.pa-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    font: inherit; font-size: 14px; font-weight: 600; padding: 9px 18px; cursor: pointer;
    background: var(--pa-accent); color: #fff; border: 1px solid var(--pa-accent);
    border-radius: 2px; transition: filter .15s, transform .05s;
}
.pa-btn:hover { filter: brightness(1.08); }
.pa-btn:active { transform: translateY(1px); }
.pa-btn:disabled { opacity: .55; cursor: not-allowed; }
[data-theme="dark"] .pa-btn { color: #05130f; }
.pa-btn.ghost { background: transparent; color: var(--pa-accent); }
.pa-btn.sm { font-size: 13px; padding: 6px 12px; }
.pa-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }

/* ---------------- 结果区 ---------------- */
.pa-score-row { display: flex; flex-wrap: wrap; gap: 22px; align-items: flex-end; }
.pa-score { display: flex; align-items: baseline; gap: 6px; }
.pa-score b { font-family: Georgia, serif; font-size: 42px; line-height: 1; color: var(--pa-accent); }
.pa-score span { font-size: 13px; color: var(--pa-ink-3); }
.pa-verdict { font-size: 15px; font-weight: 700; }
.pa-verdict.lv1 { color: var(--pa-good); }
.pa-verdict.lv2 { color: var(--pa-warn); }
.pa-verdict.lv3 { color: var(--pa-bad); }

.pa-bars { display: flex; flex-direction: column; gap: 9px; margin-top: 6px; }
.pa-bar-item { display: grid; grid-template-columns: 96px minmax(0, 1fr) 58px; gap: 10px; align-items: center; font-size: 13px; }
.pa-bar-track { height: 9px; background: var(--pa-line-2); border-radius: 1px; overflow: hidden; }
.pa-bar-fill { height: 100%; background: var(--pa-accent); width: 0; transition: width .45s ease; }
.pa-bar-item b { text-align: right; font-variant-numeric: tabular-nums; color: var(--pa-ink); }

.pa-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.pa-table th, .pa-table td { padding: 8px 10px; border-bottom: 1px solid var(--pa-line-2); text-align: left; }
.pa-table th { font-size: 12.5px; color: var(--pa-ink-3); font-weight: 600; }
.pa-table td.num { font-variant-numeric: tabular-nums; }
.pa-table tr.conflict td { color: var(--pa-bad); }

.pa-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.pa-list li { padding-left: 16px; position: relative; font-size: 14px; color: var(--pa-ink-2); }
.pa-list li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; background: var(--pa-accent); border-radius: 50%; }
.pa-list li b { color: var(--pa-ink); }

.pa-note {
    margin-top: 14px; padding: 10px 14px; font-size: 13px; line-height: 1.8;
    background: var(--pa-accent-soft); border-left: 3px solid var(--pa-accent); color: var(--pa-ink-2);
}
.pa-disclaimer {
    margin-top: 20px; padding: 12px 14px; font-size: 12.5px; line-height: 1.85;
    border: 1px dashed var(--pa-line); color: var(--pa-ink-3); background: var(--pa-paper);
}
.pa-disclaimer b { color: var(--pa-ink-2); }

.pa-empty { font-size: 13.5px; color: var(--pa-ink-3); padding: 18px 0; text-align: center; }

/* AI 区块 */
.pa-ai-out { margin-top: 12px; font-size: 14px; line-height: 1.9; color: var(--pa-ink-2); white-space: pre-wrap; }
.pa-ai-out:empty { display: none; }
.pa-ai-status { font-size: 12.5px; color: var(--pa-ink-3); min-height: 18px; margin-top: 8px; }

/* ---------------- 响应式 ---------------- */
@media (max-width: 900px) {
    .pa-grid { grid-template-columns: minmax(0, 1fr); }
    .pa-title { font-size: 24px; }
    .pa { padding: 16px 12px 48px; }
    .pa-score b { font-size: 34px; }
}
@media (max-width: 520px) {
    .pa-bar-item { grid-template-columns: 78px minmax(0, 1fr) 48px; font-size: 12.5px; }
    .pa-card { padding: 14px 14px; }
}

/* ---------------- 打印：只出报告 ---------------- */
@media print {
    .pa { max-width: none; padding: 0; }
    .pa-head .pa-badges, .pa-actions, .pa-seg, .pa-chips, .pa-btn, .pa-ai-wrap { display: none !important; }
    .pa-card { border-color: #999; box-shadow: none; break-inside: avoid; }
    .pa-grid { grid-template-columns: 1fr; }
    .pa-bar-track { border: 1px solid #666; }
    .pa-bar-fill { background: #333 !important; }
    .pa-disclaimer { border-color: #666; }
    body { background: #fff !important; }
}
