/* ==========================================================================
   120 · 气缸推力与耗气量计算
   视觉概念：气动控制台 —— 冷白/石墨底，青绿主色，气缸剖面动态示意
   ========================================================================== */

:root {
    --pc-bg: #f4f7f5;
    --pc-panel: #ffffff;
    --pc-panel-2: #edf2f0;
    --pc-ink: #0d171a;
    --pc-ink-2: #3b4a4d;
    --pc-muted: #7a888a;
    --pc-line: #dde5e3;
    --pc-line-2: #c8d3d0;
    --pc-teal: #0d7d72;
    --pc-teal-2: #0a655c;
    --pc-teal-soft: #e0f2ef;
    --pc-amber: #bd5f18;
    --pc-amber-soft: #fbeee1;
    --pc-bad: #a63a2a;
    --pc-bad-soft: #fbeae7;
    --pc-metal-1: #e6ecea;
    --pc-metal-2: #c4d0cd;
    --pc-metal-3: #9dadaa;
    --pc-barrel: #f8fbfa;
    --pc-glow: rgba(13, 125, 114, .16);
    --pc-shadow: 0 1px 2px rgba(13, 23, 26, .04), 0 18px 40px -32px rgba(13, 23, 26, .5);
    --pc-sans: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
    --pc-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

:root[data-theme="dark"] {
    --pc-bg: #090f11;
    --pc-panel: #111a1d;
    --pc-panel-2: #162125;
    --pc-ink: #e7efed;
    --pc-ink-2: #a9b6b6;
    --pc-muted: #778584;
    --pc-line: #1f2c2c;
    --pc-line-2: #2c3d3b;
    --pc-teal: #3ecfba;
    --pc-teal-2: #2fb5a3;
    --pc-teal-soft: #0d2521;
    --pc-amber: #df9a5e;
    --pc-amber-soft: #241a11;
    --pc-bad: #e08b7c;
    --pc-bad-soft: #261513;
    --pc-metal-1: #26332f;
    --pc-metal-2: #182322;
    --pc-metal-3: #0f1918;
    --pc-barrel: #0c1517;
    --pc-glow: rgba(62, 207, 186, .14);
    --pc-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 22px 48px -34px rgba(0, 0, 0, .95);
}

/* ---------------- 骨架 ---------------- */
.pc-wrap {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 22px;
}

.pc-hero {
    position: relative;
    padding: 18px 0 24px;
    background:
        radial-gradient(900px 340px at 18% -8%, var(--pc-glow), transparent 70%),
        linear-gradient(var(--pc-line) 1px, transparent 1px) 0 0 / 100% 34px,
        linear-gradient(90deg, var(--pc-line) 1px, transparent 1px) 0 0 / 34px 100%;
    background-blend-mode: normal, normal, normal;
}
.pc-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 55%, var(--pc-bg) 100%);
    opacity: .9;
}
.pc-hero > .pc-wrap { position: relative; z-index: 1; }

.pc-crumb {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 16px;
    font-size: 12.5px;
    color: var(--pc-muted);
}
.pc-crumb a { color: var(--pc-muted); text-decoration: none; }
.pc-crumb a:hover { color: var(--pc-teal); }
.pc-crumb i { font-style: normal; opacity: .45; }

.pc-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 26px;
    align-items: end;
    margin-bottom: 22px;
}

.pc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    font-family: var(--pc-mono);
    font-size: 10.5px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pc-teal);
}
.pc-eyebrow::before {
    content: "";
    width: 22px;
    height: 2px;
    background: currentColor;
}
.pc-eyebrow i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--pc-teal);
    font-style: normal;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--pc-teal) 14%, transparent);
}

.pc-h1 {
    margin: 0 0 12px;
    font-family: var(--pc-sans);
    font-size: clamp(28px, 3.6vw, 42px);
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -.035em;
    color: var(--pc-ink);
}
.pc-h1 em {
    font-style: normal;
    color: var(--pc-teal);
}
.pc-h1 span {
    display: inline-block;
    margin-left: 10px;
    padding: 3px 9px;
    border-radius: 5px;
    background: var(--pc-teal-soft);
    color: var(--pc-teal);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    vertical-align: 6px;
}
.pc-sub {
    margin: 0;
    max-width: 56ch;
    font-size: 14.8px;
    line-height: 1.85;
    color: var(--pc-ink-2);
}
.pc-sub b { color: var(--pc-ink); font-weight: 600; white-space: nowrap; }

.pc-sidebar {
    display: grid;
    gap: 10px;
    justify-items: end;
    text-align: right;
}
.pc-live {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--pc-mono);
    font-size: 10.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pc-muted);
}
.pc-live i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--pc-teal);
    animation: pcPulse 2.4s ease-in-out infinite;
}
@keyframes pcPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .35; transform: scale(.75); }
}

.pc-theme {
    display: inline-flex;
    gap: 2px;
    padding: 3px;
    border: 1px solid var(--pc-line);
    border-radius: 8px;
    background: var(--pc-panel);
}
.pc-theme button {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--pc-muted);
    font: inherit;
    font-size: 12px;
    padding: 6px 12px;
    border-radius: 6px;
    cursor: pointer;
    transition: color .15s, background .15s;
}
.pc-theme button:hover { color: var(--pc-ink); }
.pc-theme button[aria-pressed="true"] {
    background: var(--pc-teal);
    color: #fff;
    font-weight: 600;
}

/* ---------------- 工作台 ---------------- */
.pc-desk {
    display: grid;
    grid-template-columns: 336px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.pc-panel {
    border: 1px solid var(--pc-line);
    border-radius: 12px;
    background: var(--pc-panel);
    box-shadow: var(--pc-shadow);
    overflow: hidden;
}

.pc-ph {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 11px 15px;
    border-bottom: 1px solid var(--pc-line);
    background: var(--pc-panel-2);
}
.pc-ph h2 {
    margin: 0;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pc-ink);
    font-family: var(--pc-mono);
}
.pc-ph span {
    margin-left: auto;
    font-family: var(--pc-mono);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--pc-muted);
}

/* 参数 */
.pc-form { padding: 13px 15px 15px; }
.pc-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.pc-field { display: grid; gap: 5px; min-width: 0; }
.pc-field.is-wide { grid-column: 1 / -1; }
.pc-field > label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .04em;
    color: var(--pc-muted);
}

.pc-inp {
    display: flex;
    align-items: center;
    border: 1px solid var(--pc-line-2);
    border-radius: 7px;
    background: var(--pc-panel);
    transition: border-color .15s, box-shadow .15s;
}
.pc-inp:focus-within {
    border-color: var(--pc-teal);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc-teal) 13%, transparent);
}
.pc-inp input {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    border: 0;
    background: transparent;
    color: var(--pc-ink);
    font-family: var(--pc-mono);
    font-size: 14.5px;
    font-weight: 600;
    padding: 8px 4px 8px 10px;
    outline: none;
    font-variant-numeric: tabular-nums;
}
.pc-inp span {
    flex: 0 0 auto;
    padding: 0 9px 0 4px;
    font-family: var(--pc-mono);
    font-size: 10.5px;
    color: var(--pc-muted);
}
.pc-inp.is-bad { border-color: var(--pc-bad); background: var(--pc-bad-soft); }
.pc-inp.is-bad span { color: var(--pc-bad); }
.pc-inp input::placeholder { color: var(--pc-muted); opacity: .65; font-weight: 400; letter-spacing: 0; }

select.pc-sel {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--pc-line-2);
    border-radius: 7px;
    background: var(--pc-panel);
    color: var(--pc-ink);
    font-family: var(--pc-sans);
    font-size: 13px;
    padding: 8px 10px;
    outline: none;
    cursor: pointer;
}
select.pc-sel:focus { border-color: var(--pc-teal); }

.pc-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 2px;
}
.pc-chips button {
    appearance: none;
    border: 1px solid var(--pc-line-2);
    background: transparent;
    color: var(--pc-ink-2);
    font-family: var(--pc-mono);
    font-size: 10.5px;
    padding: 2px 7px;
    border-radius: 4px;
    cursor: pointer;
    transition: all .14s;
}
.pc-chips button:hover { border-color: var(--pc-teal); color: var(--pc-teal); }
.pc-chips button[aria-pressed="true"] {
    background: var(--pc-teal-soft);
    border-color: var(--pc-teal);
    color: var(--pc-teal);
    font-weight: 700;
}

.pc-actions {
    display: flex;
    gap: 7px;
    margin-top: 13px;
    padding-top: 12px;
    border-top: 1px solid var(--pc-line);
}
.pc-btn {
    appearance: none;
    font: inherit;
    font-size: 12.8px;
    padding: 8px 13px;
    border-radius: 7px;
    border: 1px solid var(--pc-line-2);
    background: var(--pc-panel);
    color: var(--pc-ink-2);
    cursor: pointer;
    white-space: nowrap;
    transition: all .15s;
}
.pc-btn:hover { border-color: var(--pc-ink); color: var(--pc-ink); }
.pc-btn.is-primary {
    flex: 1 1 auto;
    background: var(--pc-teal);
    border-color: var(--pc-teal);
    color: #fff;
    font-weight: 700;
}
.pc-btn.is-primary:hover { background: var(--pc-teal-2); border-color: var(--pc-teal-2); color: #fff; }
.pc-btn.is-ghost { background: transparent; }

.pc-demos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
}
.pc-demos > span {
    font-family: var(--pc-mono);
    font-size: 9.5px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--pc-muted);
}
.pc-demos button {
    appearance: none;
    border: 1px dashed var(--pc-line-2);
    background: transparent;
    color: var(--pc-ink-2);
    font: inherit;
    font-size: 11.5px;
    padding: 3px 8px;
    border-radius: 5px;
    cursor: pointer;
    transition: all .14s;
}
.pc-demos button:hover { border-color: var(--pc-teal); color: var(--pc-teal); }

.pc-note {
    margin: 10px 0 0;
    padding: 8px 10px;
    border-radius: 6px;
    border-left: 3px solid var(--pc-amber);
    background: var(--pc-amber-soft);
    font-size: 11.8px;
    line-height: 1.7;
    color: var(--pc-ink-2);
}
.pc-note.is-bad { border-left-color: var(--pc-bad); background: var(--pc-bad-soft); }
.pc-note b { color: var(--pc-ink); }

/* ---------------- 舞台 ---------------- */
.pc-stage { display: grid; }
.pc-stage-top {
    position: relative;
    padding: 14px 16px 6px;
    background:
        radial-gradient(420px 200px at 78% 0%, var(--pc-glow), transparent 72%),
        var(--pc-panel);
}
.pc-stage-head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 2px;
}
.pc-stage-head h2 {
    margin: 0;
    font-family: var(--pc-mono);
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pc-ink);
}
.pc-stage-head span {
    margin-left: auto;
    font-family: var(--pc-mono);
    font-size: 11px;
    color: var(--pc-muted);
}

.pc-cyl { width: 100%; height: auto; display: block; }
.pc-barrel {
    fill: var(--pc-barrel);
    stroke: var(--pc-line-2);
    stroke-width: 1.5;
}
.pc-chamber {
    fill: color-mix(in srgb, var(--pc-teal) 13%, transparent);
}
.pc-chamber.is-pull {
    fill: color-mix(in srgb, var(--pc-teal) 7%, transparent);
}
.pc-cap { fill: var(--pc-metal-3); opacity: .55; }
.pc-piston-body {
    fill: var(--pc-metal-1);
    stroke: var(--pc-metal-3);
    stroke-width: 1.4;
}
.pc-rod {
    fill: var(--pc-metal-1);
    stroke: var(--pc-metal-3);
    stroke-width: 1.4;
}
@media (prefers-reduced-motion: reduce) {
    .pc-live i { animation: none; }
}
.pc-port { fill: var(--pc-teal); }
.pc-port-halo { fill: var(--pc-teal); opacity: .16; }
.pc-neck { stroke: var(--pc-teal); stroke-width: 3; }
.pc-hose {
    fill: none;
    stroke: var(--pc-teal);
    stroke-width: 2;
    stroke-dasharray: 5 5;
    opacity: .7;
    animation: pcFlow 1.4s linear infinite;
}
@keyframes pcFlow { to { stroke-dashoffset: -20; } }
.pc-arrow { stroke: var(--pc-amber); stroke-width: 2.4; fill: none; stroke-linecap: round; }
.pc-arrow-head { fill: var(--pc-amber); }
.pc-force-label {
    font-family: var(--pc-mono);
    font-size: 11px;
    fill: var(--pc-amber);
    font-weight: 700;
}
.pc-cyl-label {
    font-family: var(--pc-mono);
    font-size: 9.5px;
    fill: var(--pc-muted);
    letter-spacing: .06em;
}
.pc-press-tag {
    position: absolute;
    top: 44px;
    right: 26px;
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    padding: 5px 9px;
    border: 1px solid var(--pc-line-2);
    border-radius: 6px;
    background: var(--pc-panel);
    font-family: var(--pc-mono);
    font-weight: 700;
    font-size: 14px;
    color: var(--pc-teal);
    box-shadow: var(--pc-shadow);
}
.pc-press-tag small { font-size: 9.5px; font-weight: 500; color: var(--pc-muted); letter-spacing: .04em; }

/* 双结果 */
.pc-out {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--pc-line);
    border-top: 1px solid var(--pc-line);
}
.pc-out-card {
    padding: 14px 16px 16px;
    background: var(--pc-panel);
}
.pc-out-card.is-pull { background: linear-gradient(180deg, var(--pc-panel), var(--pc-panel-2)); }
.pc-out-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--pc-mono);
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pc-muted);
}
.pc-out-tag i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--pc-teal);
    font-style: normal;
}
.pc-out-card.is-pull .pc-out-tag i { background: var(--pc-amber); }
.pc-out-num {
    display: block;
    margin: 4px 0 2px;
    font-family: var(--pc-mono);
    font-size: clamp(30px, 3.6vw, 40px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.03em;
    color: var(--pc-ink);
    font-variant-numeric: tabular-nums;
}
.pc-out-num small {
    font-size: 13px;
    font-weight: 500;
    color: var(--pc-muted);
    margin-left: 3px;
    letter-spacing: 0;
}
.pc-out-sub {
    display: block;
    font-size: 11.5px;
    color: var(--pc-muted);
    font-variant-numeric: tabular-nums;
}
.pc-out-sub i { font-style: normal; color: var(--pc-ink-2); }

/* 出力对比 */
.pc-bar { padding: 12px 16px 15px; border-top: 1px solid var(--pc-line); }
.pc-bar h3 {
    margin: 0 0 9px;
    font-family: var(--pc-mono);
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pc-muted);
}
.pc-bar-row {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 82px;
    align-items: center;
    gap: 9px;
    margin-bottom: 7px;
    font-size: 12px;
    color: var(--pc-ink-2);
}
.pc-bar-row span:first-child { font-family: var(--pc-mono); font-size: 10.5px; color: var(--pc-muted); }
.pc-bar-track {
    height: 8px;
    border-radius: 4px;
    background: var(--pc-panel-2);
    overflow: hidden;
}
.pc-bar-track i {
    display: block;
    height: 100%;
    width: 0;
    border-radius: 4px;
    background: var(--pc-teal);
    transition: width .45s cubic-bezier(.22, .8, .3, 1);
}
.pc-bar-row.is-pull .pc-bar-track i { background: var(--pc-amber); }
.pc-bar-row b {
    text-align: right;
    font-family: var(--pc-mono);
    font-size: 11.5px;
    font-weight: 600;
    color: var(--pc-ink);
    font-variant-numeric: tabular-nums;
}
.pc-bar-note {
    margin: 9px 0 0;
    padding-top: 9px;
    border-top: 1px dashed var(--pc-line);
    font-size: 11.8px;
    line-height: 1.7;
    color: var(--pc-ink-2);
}
.pc-bar-note b { color: var(--pc-ink); }
.pc-bar-note strong { color: var(--pc-teal); font-family: var(--pc-mono); font-weight: 700; }

/* ---------------- 耗气量 ---------------- */
.pc-body { padding-bottom: 10px; }
.pc-air {
    margin-top: 16px;
    border: 1px solid var(--pc-line);
    border-radius: 12px;
    background: var(--pc-panel);
    box-shadow: var(--pc-shadow);
    overflow: hidden;
}
.pc-air-head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--pc-line);
    background: var(--pc-panel-2);
}
.pc-air-head h2 {
    margin: 0;
    font-family: var(--pc-mono);
    font-size: 11.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pc-ink);
}
.pc-air-head span { font-size: 12px; color: var(--pc-muted); }
.pc-air-head .pc-btn { margin-left: auto; padding: 6px 11px; font-size: 12px; }

.pc-tiles {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: var(--pc-line);
}
.pc-tile { padding: 13px 15px 15px; background: var(--pc-panel); }
.pc-tile span {
    display: block;
    font-family: var(--pc-mono);
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--pc-muted);
    margin-bottom: 4px;
}
.pc-tile b {
    font-family: var(--pc-mono);
    font-size: 19px;
    font-weight: 700;
    color: var(--pc-ink);
    font-variant-numeric: tabular-nums;
    letter-spacing: -.02em;
}
.pc-tile b small { font-size: 10.5px; font-weight: 500; color: var(--pc-muted); margin-left: 2px; }

.pc-advice {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: var(--pc-line);
    border-top: 1px solid var(--pc-line);
}
.pc-advice div {
    padding: 11px 15px 13px;
    background: var(--pc-panel);
    font-size: 12px;
    line-height: 1.7;
    color: var(--pc-ink-2);
}
.pc-advice span {
    display: block;
    font-family: var(--pc-mono);
    font-size: 9.5px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--pc-muted);
    margin-bottom: 3px;
}
.pc-advice b {
    font-family: var(--pc-mono);
    color: var(--pc-ink);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}
.pc-advice em {
    font-style: normal;
    color: var(--pc-teal);
    font-weight: 700;
}

/* ---------------- 批量表 ---------------- */
.pc-table {
    margin-top: 16px;
    border: 1px solid var(--pc-line);
    border-radius: 12px;
    background: var(--pc-panel);
    box-shadow: var(--pc-shadow);
    overflow: hidden;
}
.pc-table-head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--pc-line);
    background: var(--pc-panel-2);
}
.pc-table-head h2 {
    margin: 0;
    font-family: var(--pc-mono);
    font-size: 11.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pc-ink);
}
.pc-table-head span { font-size: 12px; color: var(--pc-muted); }
.pc-table-head .pc-btn { margin-left: auto; padding: 6px 11px; font-size: 12px; }
.pc-table-scroll { overflow-x: auto; }
.pc-table table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 12.4px; }
.pc-table th,
.pc-table td {
    padding: 8px 12px;
    text-align: right;
    border-bottom: 1px dashed var(--pc-line);
    font-variant-numeric: tabular-nums;
}
.pc-table th:first-child,
.pc-table td:first-child { text-align: left; font-weight: 600; }
.pc-table th {
    font-family: var(--pc-mono);
    font-size: 10px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--pc-muted);
    font-weight: 600;
    white-space: nowrap;
    background: var(--pc-panel-2);
}
.pc-table td { font-family: var(--pc-mono); color: var(--pc-ink-2); }
.pc-table tbody tr:hover td { background: var(--pc-panel-2); }
.pc-table tr.is-cur td {
    color: var(--pc-teal);
    font-weight: 700;
    background: var(--pc-teal-soft);
}

/* ---------------- 说明 ---------------- */
.pc-doc {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 28px 0 8px;
}
.pc-doc-block {
    padding: 18px 20px;
    border: 1px solid var(--pc-line);
    border-radius: 12px;
    background: var(--pc-panel);
}
.pc-doc-block h2 {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    color: var(--pc-ink);
}
.pc-doc-block h2 i {
    font-family: var(--pc-mono);
    font-style: normal;
    font-size: 11px;
    color: var(--pc-teal);
    letter-spacing: .06em;
}
.pc-doc-block p,
.pc-doc-block li {
    font-size: 13px;
    line-height: 1.95;
    color: var(--pc-ink-2);
}
.pc-doc-block p { margin: 0 0 8px; }
.pc-doc-block p:last-child { margin-bottom: 0; }
.pc-doc-block ul, .pc-doc-block ol { margin: 0; padding-left: 18px; }
.pc-doc-block li + li { margin-top: 4px; }
.pc-doc-block b { color: var(--pc-ink); }
.pc-doc-block code {
    font-family: var(--pc-mono);
    font-size: 11.8px;
    padding: 1px 5px;
    border-radius: 3px;
    background: var(--pc-panel-2);
    color: var(--pc-teal);
}
.pc-formula {
    margin: 10px 0 0;
    padding: 12px 14px;
    border-radius: 8px;
    background: var(--pc-panel-2);
    border: 1px dashed var(--pc-line-2);
    font-family: var(--pc-mono);
    font-size: 11.6px;
    line-height: 2;
    color: var(--pc-ink-2);
    overflow-x: auto;
}

.pc-toast {
    position: fixed;
    left: 50%;
    bottom: 26px;
    transform: translate(-50%, 12px);
    z-index: 90;
    max-width: min(88vw, 440px);
    padding: 10px 18px;
    border-radius: 8px;
    background: var(--pc-ink);
    color: var(--pc-panel);
    font-size: 13px;
    line-height: 1.6;
    box-shadow: 0 18px 36px -22px rgba(0, 0, 0, .7);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s, transform .2s;
}
.pc-toast.is-show { opacity: 1; transform: translate(-50%, 0); }

/* ---------------- 响应式 ---------------- */
@media (max-width: 1060px) {
    .pc-desk { grid-template-columns: minmax(0, 1fr); }
    .pc-top { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .pc-sidebar { justify-items: start; text-align: left; grid-auto-flow: column; align-items: center; }
    .pc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pc-advice { grid-template-columns: minmax(0, 1fr); }
    .pc-doc { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 640px) {
    .pc-wrap { padding: 0 14px; }
    .pc-hero { padding: 16px 0 20px; }
    .pc-h1 { font-size: 24px; }
    .pc-h1 span { vertical-align: 3px; font-size: 11px; }
    .pc-live { display: none; }
    .pc-sidebar { justify-items: start; text-align: left; }
    .pc-sub { font-size: 14px; line-height: 1.8; }
    .pc-out { grid-template-columns: minmax(0, 1fr); }
    .pc-out-card { padding: 12px 14px 14px; }
    .pc-out-num { font-size: 30px; }
    .pc-form { padding: 11px 12px 13px; }
    .pc-fields { gap: 9px; }
    .pc-stage-top { padding: 12px 12px 4px; }
    .pc-press-tag { top: 40px; right: 18px; }
    .pc-bar { padding: 11px 12px 13px; }
    .pc-bar-row { grid-template-columns: 40px minmax(0, 1fr) 74px; }
    .pc-tiles { grid-template-columns: minmax(0, 1fr); }
    .pc-table-head span { display: none; }
    .pc-actions { flex-wrap: wrap; }
    .pc-btn.is-primary { flex: 1 1 100%; }
    .pc-advice div { padding: 10px 12px; }
}
