/* ==========================================================================
   包年吸烟量计算 · 单页专属设计
   设计语言：临床记录卡（薄描边 + 冷灰白纸面 + 单一强调色 +  tobacco 暖色做数据条）
   只作用于本页，不与 desk / desk2 / desk3 其他工具页冲突。
   ========================================================================== */

/* ---------- 0. 本页令牌（覆盖 base 的暖纸色，改为冷灰白） ---------- */
/* 令牌挂在 :root 上，页面下半部分（表格/卡片/正文）同样可用 */
:root {
    --pk-ink: #171b21;
    --pk-ink-2: #414a57;
    --pk-ink-3: #6c7684;
    --pk-line: #e2e6ec;
    --pk-line-2: #cbd3dd;
    --pk-surface: #ffffff;
    --pk-surface-2: #f7f9fb;
    --pk-surface-3: #eef2f6;

    --pk-clay: #a4572f;          /* 次强调：烟草暖色，用于情景条与换算 */
    --pk-clay-soft: rgba(164, 87, 47, .1);

    --pk-z1: #6f9c6a;
    --pk-z2: #cf9b31;
    --pk-z3: #d4762c;
    --pk-z4: #c1552f;
    --pk-z5: #a8322b;

    --pk-r: 12px;
    --pk-r-sm: 8px;
    --pk-btn-ink: #ffffff;
}

/* 深色下把强调色提亮，否则深藏青在暗背景上几乎没有对比 */
:root[data-theme="dark"] {
    --d3-accent: #8fb3d9;
    --d3-accent-rgb: 143, 179, 217;
    --pk-btn-ink: #0b0f14;

    --pk-ink: #e8edf4;
    --pk-ink-2: #b6c0cd;
    --pk-ink-3: #8a94a3;
    --pk-line: #232a34;
    --pk-line-2: #333d4b;
    --pk-surface: #141922;
    --pk-surface-2: #171d27;
    --pk-surface-3: #1d2530;

    --pk-clay: #e0a06c;
    --pk-clay-soft: rgba(224, 160, 108, .14);

    --pk-z1: #6fa173;
    --pk-z2: #c99a4a;
    --pk-z3: #cd7f42;
    --pk-z4: #c76b4b;
    --pk-z5: #c4554d;
}

.pk-hero { padding: 30px 0 6px; }

/* 冷色背景：覆盖 base.css 的暖纸渐变 */
body {
    background-color: #f6f8fa;
    background-image: radial-gradient(1000px 460px at 10% -12%, rgba(51, 78, 104, .12), transparent 66%);
    background-repeat: no-repeat;
}
:root[data-theme="dark"] body { background-color: #090c11; }

/* ---------- 1. 排版层级 ---------- */
.pk-eyebrow {
    display: inline-flex; align-items: center; gap: 9px;
    font-family: var(--d3-mono);
    font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
    color: var(--d3-accent);
    margin-bottom: 13px;
}
.pk-eyebrow::before {
    content: ""; width: 24px; height: 1px;
    background: var(--d3-accent); opacity: .55;
}

.pk-h1 {
    font-size: clamp(30px, 3.9vw, 44px);
    line-height: 1.22;
    letter-spacing: -.032em;
    font-weight: 800;
    max-width: 22em;
    color: var(--pk-ink);
}
.pk-h1 em {
    font-style: normal;
    color: var(--d3-accent);
    background: linear-gradient(to top, rgba(var(--d3-accent-rgb), .16) 0 .14em, transparent .14em);
}

.pk-sub {
    margin-top: 16px;
    max-width: 44em;
    font-size: 16.5px;
    line-height: 1.9;
    color: var(--pk-ink-2);
}
.pk-sub b { color: var(--pk-ink); font-weight: 700; }

/* ---------- 2. 首屏双栏：左输入 / 右结果 ---------- */
.pk-console {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 18px;
    align-items: start;
    margin-top: 26px;
}

.pk-card {
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-r);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.pk-card-pad { padding: 18px; }

.pk-card-title {
    font-size: 15px;
    letter-spacing: -.01em;
    color: var(--pk-ink);
}
.pk-card-lead {
    margin-top: 6px;
    font-size: 13.5px;
    line-height: 1.8;
    color: var(--pk-ink-3);
}
.pk-card-lead b { color: var(--pk-ink-2); }

/* ---------- 3. 输入面板：标签页 ---------- */
.pk-input { overflow: hidden; }

.pk-tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--pk-line);
    background: var(--pk-surface-2);
    overflow-x: auto;
    scrollbar-width: none;
}
.pk-tabs::-webkit-scrollbar { display: none; }

.pk-tabs button {
    appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    flex: 1 0 auto;
    padding: 13px 15px;
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--pk-ink-3);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    white-space: nowrap;
    transition: color .15s ease, background .15s ease;
}
.pk-tabs button:hover { color: var(--pk-ink); background: var(--pk-surface-3); }
.pk-tabs button[aria-selected="true"] {
    color: var(--d3-accent);
    border-bottom-color: var(--d3-accent);
    background: var(--pk-surface);
}

.pk-panels { padding: 18px; }
.pk-panel[hidden] { display: none; }

.pk-panel-lead {
    margin-bottom: 14px;
    font-size: 13.5px;
    line-height: 1.8;
    color: var(--pk-ink-3);
}
.pk-panel-lead code,
.pk-panel-lead b { color: var(--pk-ink-2); }
.pk-hero .d3-hint code { background: var(--pk-surface-3); color: var(--pk-ink-2); }
.pk-panel-lead code {
    font-family: var(--d3-mono);
    font-size: 12px;
    padding: 1px 5px;
    border-radius: 5px;
    background: var(--pk-surface-3);
}

/* ---------- 4. 表单原子 ---------- */
.pk-grid { display: grid; gap: 13px 14px; }
.pk-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pk-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.pk-field { min-width: 0; }
.pk-field > label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--pk-ink-2);
    margin-bottom: 6px;
}
.pk-label-note { font-weight: 400; color: var(--pk-ink-3); font-size: 12px; }

/* 全页统一成冷色输入框（本页样式只在本页加载，不会影响其他工具页） */
#d3Main .d3-io {
    background: var(--pk-surface-2);
    border: 1px solid var(--pk-line-2);
}
#d3Main .d3-io input,
#d3Main .d3-io select { color: var(--pk-ink); }
#d3Main .d3-io .d3-unit {
    background: var(--pk-surface-3);
    border-left-color: var(--pk-line);
    color: var(--pk-ink-3);
}
#d3Main .d3-io:focus-within { background: var(--pk-surface); }
#d3Main .d3-io.is-bad { border-color: var(--d3-bad); }

.pk-textarea {
    width: 100%;
    min-height: 132px;
    padding: 11px 13px;
    background: var(--pk-surface-2);
    border: 1px solid var(--pk-line-2);
    border-radius: var(--pk-r-sm);
    color: var(--pk-ink);
    font-family: var(--d3-mono);
    font-size: 13px;
    line-height: 1.85;
    resize: vertical;
}
.pk-textarea:focus {
    outline: none;
    background: var(--pk-surface);
    border-color: var(--d3-accent);
    box-shadow: 0 0 0 3px rgba(var(--d3-accent-rgb), .13);
}

.pk-row-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; }

.pk-btn {
    appearance: none;
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    height: 38px; padding: 0 15px;
    border-radius: var(--pk-r-sm);
    border: 1px solid var(--pk-line-2);
    background: var(--pk-surface);
    color: var(--pk-ink-2);
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .15s ease, color .15s ease, background .15s ease, transform .12s ease;
}
.pk-btn:hover { border-color: var(--d3-accent); color: var(--d3-accent); }
.pk-btn:active { transform: translateY(1px); }
.pk-btn-primary {
    background: var(--d3-accent);
    border-color: var(--d3-accent);
    color: var(--pk-btn-ink);
}
.pk-btn-primary:hover {
    background: color-mix(in srgb, var(--d3-accent) 86%, #000);
    border-color: transparent;
    color: var(--pk-btn-ink);
}
.pk-btn-primary[disabled] { opacity: .6; cursor: not-allowed; }
.pk-btn-sm { height: 32px; padding: 0 12px; font-size: 13px; }
.pk-btn-del {
    width: 30px; height: 30px; padding: 0;
    font-size: 15px; line-height: 1;
    color: var(--pk-ink-3);
    justify-self: end;
    align-self: start;
}
.pk-btn-del:hover { border-color: var(--d3-bad); color: var(--d3-bad); }

.pk-setup {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px 14px;
    padding: 16px 18px;
    border-top: 1px solid var(--pk-line);
    background: var(--pk-surface-2);
}
.pk-setup select[disabled],
.pk-setup input[disabled] { opacity: .55; }
.pk-setup .d3-io { background: var(--pk-surface); }

.pk-quickref {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding: 12px 18px 16px;
    border-top: 1px solid var(--pk-line);
}
.pk-quickref > div { display: grid; gap: 1px; padding: 2px 10px 2px 0; min-width: 0; }
.pk-quickref > div + div { border-left: 1px solid var(--pk-line); padding-left: 12px; }
.pk-quickref b {
    font-family: var(--d3-mono);
    font-variant-numeric: tabular-nums;
    font-size: 15px;
    color: var(--d3-accent);
}
.pk-quickref span { font-size: 11.5px; color: var(--pk-ink-3); }

.pk-err {
    margin: 0;
    padding: 10px 18px 16px;
    font-size: 13px;
    color: var(--d3-bad);
}
.pk-err[hidden] { display: none; }

/* ---------- 5. 分段记录行 ---------- */
.pk-seg-head {
    display: grid;
    grid-template-columns: 42px 1.25fr 1.25fr .78fr 1fr 30px;
    gap: 8px 9px;
    padding: 0 10px 8px;
    font-size: 11.5px;
    letter-spacing: .04em;
    color: var(--pk-ink-3);
}
.pk-seg-list { display: grid; gap: 10px; }

.pk-seg-row {
    display: grid;
    grid-template-columns: 42px 1.25fr 1.25fr .78fr 1fr 30px;
    gap: 8px 9px;
    align-items: start;
    padding: 10px;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-r-sm);
    background: var(--pk-surface-2);
}
.pk-seg-row > * { min-width: 0; }
.pk-seg-row .d3-io { background: var(--pk-surface); }
.pk-seg-row .d3-io input { padding: 8px 9px; font-size: 13px; font-weight: 600; }
.pk-seg-row .d3-io .d3-unit { padding: 0 8px; font-size: 11px; }
.pk-seg-row.is-new { animation: pk-in .22s ease; }
@keyframes pk-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

.pk-seg-no {
    font-family: var(--d3-mono);
    font-size: 12px;
    font-weight: 700;
    color: var(--pk-ink-3);
    text-align: center;
}
.pk-seg-pair { display: grid; grid-template-columns: 1.1fr .9fr; gap: 6px; min-width: 0; }
.pk-seg-cell { min-width: 0; }
.pk-select {
    width: 100%;
    min-width: 0;
    appearance: none;
    padding: 8px 9px;
    border: 1px solid var(--pk-line-2);
    border-radius: 6px;
    background: var(--pk-surface);
    color: var(--pk-ink);
    font-family: inherit;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
}
.pk-select:focus { outline: none; border-color: var(--d3-accent); box-shadow: 0 0 0 3px rgba(var(--d3-accent-rgb), .13); }
.pk-select[disabled] { opacity: .5; cursor: not-allowed; }

.pk-mini {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 8px 9px;
    border: 1px solid var(--pk-line-2);
    border-radius: 6px;
    background: var(--pk-surface);
    color: var(--pk-ink);
    font-family: inherit;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}
.pk-mini:focus { outline: none; border-color: var(--d3-accent); box-shadow: 0 0 0 3px rgba(var(--d3-accent-rgb), .13); }

.pk-till {
    display: inline-flex; align-items: center; gap: 5px;
    margin-top: 6px;
    font-size: 11.5px;
    color: var(--pk-ink-3);
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}
.pk-till input { accent-color: var(--d3-accent); width: 13px; height: 13px; margin: 0; }

.pk-empty {
    margin: 14px 0 0;
    padding: 22px 16px;
    text-align: center;
    font-size: 13.5px;
    color: var(--pk-ink-3);
    border: 1px dashed var(--pk-line-2);
    border-radius: var(--pk-r-sm);
}
.pk-empty[hidden] { display: none; }

.pk-count {
    margin: 10px 0 0;
    font-family: var(--d3-mono);
    font-size: 12px;
    color: var(--pk-ink-3);
}

/* ---------- 6. 批量导入报告 ---------- */
.pk-bulk-out {
    margin-top: 14px;
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-r-sm);
    overflow: hidden;
}
.pk-bulk-out[hidden] { display: none; }
.pk-bulk-sum {
    margin: 0;
    padding: 10px 13px;
    background: var(--pk-surface-3);
    border-bottom: 1px solid var(--pk-line);
    font-size: 13px;
    color: var(--pk-ink-2);
}
.pk-bulk-sum b { color: var(--pk-ink); }
.pk-bulk-list { margin: 0; padding: 6px 0; list-style: none; max-height: 230px; overflow: auto; }
.pk-bulk-list li {
    display: grid;
    grid-template-columns: 34px auto 1fr;
    gap: 10px;
    align-items: start;
    padding: 7px 13px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--pk-ink-2);
}
.pk-bulk-list li + li { border-top: 1px dashed var(--pk-line); }
.pk-bulk-list .pk-bl-no { font-family: var(--d3-mono); font-size: 11.5px; color: var(--pk-ink-3); }
.pk-bulk-list .pk-bl-flag { font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.pk-bulk-list .pk-bl-ok { color: var(--d3-ok); }
.pk-bulk-list .pk-bl-bad { color: var(--d3-bad); }
.pk-bulk-list .pk-bl-txt { word-break: break-all; color: var(--pk-ink-3); }

/* ---------- 7. 结果面板 ---------- */
.pk-result {
    padding: 18px;
    position: sticky;
    top: 76px;
}
.pk-lead {
    display: grid;
    gap: 4px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--pk-line);
}
.pk-lead-label {
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--pk-ink-3);
}
.pk-big {
    display: flex; align-items: baseline; gap: 7px;
    font-family: var(--d3-mono);
    font-variant-numeric: tabular-nums;
    font-size: clamp(34px, 5vw, 46px);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.035em;
    color: var(--pk-ink);
}
.pk-big small {
    font-family: var(--d3-sans);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--pk-ink-3);
}
.pk-tier {
    justify-self: start;
    margin-top: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 700;
    border: 1px solid transparent;
}
.pk-tier[data-level="low"] { color: var(--pk-z1); background: color-mix(in srgb, var(--pk-z1) 12%, transparent); border-color: color-mix(in srgb, var(--pk-z1) 34%, transparent); }
.pk-tier[data-level="mid"] { color: var(--pk-z2); background: color-mix(in srgb, var(--pk-z2) 14%, transparent); border-color: color-mix(in srgb, var(--pk-z2) 34%, transparent); }
.pk-tier[data-level="high"] { color: var(--pk-z3); background: color-mix(in srgb, var(--pk-z3) 14%, transparent); border-color: color-mix(in srgb, var(--pk-z3) 34%, transparent); }
.pk-tier[data-level="higher"] { color: var(--pk-z4); background: color-mix(in srgb, var(--pk-z4) 14%, transparent); border-color: color-mix(in srgb, var(--pk-z4) 34%, transparent); }
.pk-tier[data-level="vhigh"] { color: var(--pk-z5); background: color-mix(in srgb, var(--pk-z5) 14%, transparent); border-color: color-mix(in srgb, var(--pk-z5) 34%, transparent); }

/* 包年刻度条 */
.pk-scale { padding: 16px 0 2px; }
.pk-scale-track {
    position: relative;
    height: 11px;
}
.pk-scale-fill {
    position: absolute;
    inset: 0;
    display: flex;
    border-radius: 999px;
    overflow: hidden;
    background: var(--pk-surface-3);
    border: 1px solid var(--pk-line);
}
.pk-zone { display: block; height: 100%; width: 20%; }
.pk-z1 { background: var(--pk-z1); }
.pk-z2 { background: var(--pk-z2); }
.pk-z3 { background: var(--pk-z3); }
.pk-z4 { background: var(--pk-z4); }
.pk-z5 { background: var(--pk-z5); }
.pk-marker {
    position: absolute; top: -5px; left: 0;
    width: 3px; height: 19px;
    border-radius: 2px;
    background: var(--pk-ink);
    box-shadow: 0 0 0 2px var(--pk-surface);
    transition: left .3s cubic-bezier(.4, 0, .2, 1);
}
.pk-scale-ticks {
    display: flex; justify-content: space-between;
    margin-top: 6px;
    font-family: var(--d3-mono);
    font-size: 11px;
    color: var(--pk-ink-3);
}
.pk-tier-note {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.8;
    color: var(--pk-ink-2);
}

.pk-kv {
    display: grid;
    gap: 1px;
    margin: 14px 0 0;
    background: var(--pk-line);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-r-sm);
    overflow: hidden;
}
.pk-kv > div { background: var(--pk-surface-2); padding: 9px 12px; }
.pk-kv-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pk-kv-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pk-kv dt { font-size: 11.5px; color: var(--pk-ink-3); margin-bottom: 2px; }
.pk-kv dd {
    margin: 0;
    font-family: var(--d3-mono);
    font-variant-numeric: tabular-nums;
    font-size: 14px;
    font-weight: 650;
    color: var(--pk-ink);
}
.pk-mt { margin-top: 14px; }

.pk-result-actions { margin-top: 16px; }
.pk-disclaimer {
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px dashed var(--pk-line);
    font-size: 12.5px;
    line-height: 1.75;
    color: var(--pk-ink-3);
}
.pk-disclaimer b { color: var(--pk-ink-2); }

/* ---------- 8. 明细表 ---------- */
.pk-table-card {
    margin-top: 14px;
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    border-radius: var(--pk-r);
    padding: 4px;
}
.pk-table th { letter-spacing: .02em; }
.pk-table td.num { color: var(--pk-ink); }
.pk-table tbody td:first-child { font-weight: 600; }
.pk-table-note {
    margin: 0;
    padding: 10px 14px 6px;
    font-size: 12.5px;
    line-height: 1.75;
    color: var(--pk-ink-3);
}

/* ---------- 9. 筛查 / 核保两张卡 ---------- */
.pk-usage {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}

.pk-check { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 9px; }
.pk-check li {
    display: flex; align-items: flex-start; gap: 10px;
    font-size: 13.5px;
    line-height: 1.75;
    color: var(--pk-ink-2);
}
.pk-check li i {
    flex: none;
    width: 18px; height: 18px;
    margin-top: 4px;
    border-radius: 50%;
    display: grid; place-items: center;
    font-family: var(--d3-mono);
    font-size: 11px;
    font-weight: 700;
    background: var(--pk-surface-3);
    color: var(--pk-ink-3);
}
.pk-check li.is-ok i::after { content: "✓"; }
.pk-check li.is-bad i::after { content: "×"; }
.pk-check li.is-ok i { background: rgba(29, 107, 79, .14); color: var(--d3-ok); }
.pk-check li.is-bad i { background: rgba(176, 42, 36, .12); color: var(--d3-bad); }
.pk-check li b { color: var(--pk-ink); }

.pk-conclusion {
    margin: 14px 0 0;
    padding: 11px 13px;
    border-radius: var(--pk-r-sm);
    border: 1px solid var(--pk-line);
    background: var(--pk-surface-3);
    font-size: 13px;
    line-height: 1.8;
    color: var(--pk-ink-2);
}
.pk-conclusion.is-hit { border-color: color-mix(in srgb, var(--pk-clay) 40%, transparent); background: var(--pk-clay-soft); color: var(--pk-ink); }

.pk-list { margin: 14px 0 0; padding-left: 20px; display: grid; gap: 9px; }
.pk-list li { font-size: 13.5px; line-height: 1.85; color: var(--pk-ink-2); }
.pk-list li b { color: var(--pk-ink); font-weight: 700; }

.pk-fine {
    margin: 12px 0 0;
    font-size: 12px;
    line-height: 1.75;
    color: var(--pk-ink-3);
}

/* ---------- 10. 情景推演三卡 ---------- */
.pk-scen {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 16px;
}
.pk-scen-out {
    margin: 14px 0 0;
    padding: 12px 13px;
    border-radius: var(--pk-r-sm);
    border: 1px solid var(--pk-line);
    border-left: 3px solid var(--pk-clay);
    background: var(--pk-surface-2);
    font-size: 13.5px;
    line-height: 1.8;
    color: var(--pk-ink-2);
}
.pk-scen-out b {
    font-family: var(--d3-mono);
    font-variant-numeric: tabular-nums;
    font-size: 15px;
    color: var(--pk-ink);
}

/* ---------- 11. AI 区块 ---------- */
.pk-ai {
    border: 1px dashed color-mix(in srgb, var(--d3-accent) 45%, transparent);
    border-radius: var(--pk-r);
    padding: 18px;
    background: linear-gradient(180deg, rgba(var(--d3-accent-rgb), .06), transparent 62%);
}
.pk-ai-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pk-ai-head h2 { font-size: 16px; color: var(--pk-ink); }
.pk-badge {
    padding: 2px 9px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    color: var(--d3-accent);
    background: rgba(var(--d3-accent-rgb), .12);
    border: 1px solid rgba(var(--d3-accent-rgb), .34);
}
.pk-ai > p {
    margin: 8px 0 0;
    max-width: 52em;
    font-size: 13.5px;
    line-height: 1.85;
    color: var(--pk-ink-2);
}
.pk-ai-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 14px;
    margin-top: 14px;
}
.pk-ai-out {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: var(--pk-r-sm);
    background: var(--pk-surface);
    border: 1px solid var(--pk-line);
    font-size: 14px;
    line-height: 1.9;
    color: var(--pk-ink-2);
    white-space: pre-wrap;
    word-break: break-word;
}
.pk-ai-out[hidden] { display: none; }

/* ---------- 12. 长文阅读区 ---------- */
.pk-prose {
    margin-top: 14px;
    max-width: 48em;
    font-size: 15.5px;
    line-height: 1.9;
    color: var(--pk-ink-2);
}
.pk-prose h3 {
    margin: 26px 0 8px;
    font-size: 17px;
    color: var(--pk-ink);
}
.pk-prose p { margin: 0 0 14px; }
.pk-prose b { color: var(--pk-ink); font-weight: 700; }
.pk-prose .d3-formula { margin-top: 6px; }

.pk-conv-note { margin-top: 14px; }

/* ---------- 13. Toast ---------- */
.pk-toast {
    position: fixed;
    left: 50%; bottom: 30px;
    transform: translate(-50%, 12px);
    z-index: 95;
    max-width: min(88vw, 460px);
    padding: 10px 18px;
    border-radius: 10px;
    background: #171b21;
    color: #fff;
    font-size: 13.5px;
    line-height: 1.6;
    box-shadow: 0 14px 40px -12px rgba(0, 0, 0, .5);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
}
.pk-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ---------- 14. 响应式 ---------- */
@media (max-width: 1080px) {
    .pk-console { grid-template-columns: minmax(0, 1fr); }
    .pk-result { position: static; }
    .pk-usage { grid-template-columns: minmax(0, 1fr); }
    .pk-scen { grid-template-columns: minmax(0, 1fr); }
    .pk-setup { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .pk-hero { padding-top: 22px; }
    .pk-h1 { font-size: clamp(26px, 7vw, 32px); }
    .pk-sub { font-size: 15.5px; }
    .pk-panels { padding: 15px; }
    .pk-setup { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-grid-2, .pk-grid-3 { grid-template-columns: minmax(0, 1fr); }
    .pk-kv-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pk-quickref { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 10px; }
    .pk-quickref > div + div { border-left: 0; padding-left: 0; }
    .pk-quickref > div:nth-child(2n) { border-left: 1px solid var(--pk-line); padding-left: 12px; }
    .pk-seg-head { display: none; }
    .pk-seg-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 12px;
    }
    .pk-seg-row > .pk-seg-no { grid-column: 1 / -1; text-align: left; }
    /* 表头在窄屏隐藏，用行内小标签标注起止与支数单位 */
    .pk-seg-row > .pk-seg-cell:nth-child(2)::before { content: "起始"; }
    .pk-seg-row > .pk-seg-cell:nth-child(3)::before { content: "结束"; }
    .pk-seg-row > .pk-seg-cell[data-cell="cpd"]::before { content: "每天支数"; }
    .pk-seg-row > .pk-seg-cell::before {
        display: block;
        margin-bottom: 4px;
        font-size: 11px;
        letter-spacing: .04em;
        color: var(--pk-ink-3);
    }
    .pk-seg-row > .pk-btn-del {
        grid-column: 1 / -1;
        justify-self: end;
        width: 30px; height: 28px;
        margin-top: -2px;
    }
    .pk-ai-form { grid-template-columns: minmax(0, 1fr); }
    .pk-tabs button { padding: 12px 12px; font-size: 13px; }
}

@media (max-width: 420px) {
    .pk-kv-2 { grid-template-columns: minmax(0, 1fr); }
}

@media print {
    .pk-result { position: static; }
    .pk-tabs, .pk-row-actions, .pk-result-actions, .pk-ai, .pk-toast { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .pk-marker { transition: none; }
    .pk-seg-row.is-new { animation: none; }
}
