/* ======================================================================
 * 58 · 葡萄牙语入门速查 —— 「巴西 · 海洋绿黄」
 * 视觉：海洋蓝底 + 巴西绿黄点缀；双版式对照表、短语发音卡；
 *       与本批其余 10 页不共用配色与构图。
 * ====================================================================== */

.nx.pt {
    --bg: #f2f6f4;
    --bg2: #e6eeea;
    --card: #ffffff;
    --card2: #f3f7f4;
    --card3: #e8f0ea;
    --ink: #16241d;
    --ink2: #3d4f45;
    --muted: #74857c;
    --line: #d2ded7;
    --line2: #e3ebe6;
    --accent: #0d8a4f;          /* 巴西绿 */
    --accent-ink: #f4fbf7;
    --accent-soft: #d9efdf;
    --accent2: #c69a12;         /* 巴西黄 */
    --accent2-soft: #f6ecd0;
    --sea: #14589c;             /* 海洋蓝 */
    --sea-soft: #dfeaf6;
    --ok: #2c7a4b;
    --ok-bg: #e1f2e7;
    --warn: #8f6400;
    --warn-bg: #f8efd4;
    --bad: #a83a32;
    --bad-bg: #f9e5e1;
    --info: #14589c;
    --info-bg: #dfeaf6;
    --radius: 15px;
    --radius-sm: 10px;
    --font-head: Georgia, "PingFang SC", "Microsoft YaHei", serif;
    --head-weight: 700;
    --tracking: 0;

    background:
        linear-gradient(180deg, rgba(20, 88, 156, .05), transparent 200px),
        var(--bg);
}
:root[data-theme="dark"] .nx.pt {
    --bg: #0e1512;
    --bg2: #131b17;
    --card: #18211c;
    --card2: #1e2822;
    --card3: #27332b;
    --ink: #edf3ee;
    --ink2: #c3cec6;
    --muted: #87968d;
    --line: #2e3b34;
    --line2: #25302a;
    --accent: #46b478;
    --accent-ink: #0a1710;
    --accent-soft: #17351f;
    --accent2: #dcbb4e;
    --accent2-soft: #352b0e;
    --sea: #6ba6e0;
    --sea-soft: #16283a;
    --ok: #6cbb89;
    --ok-bg: #1c3526;
    --warn: #d5af5b;
    --warn-bg: #352b13;
    --bad: #e0827a;
    --bad-bg: #3c201c;
    --info: #6ba6e0;
    --info-bg: #16283a;
    background:
        linear-gradient(180deg, rgba(107, 166, 224, .06), transparent 200px),
        var(--bg);
}

/* ---------- 首屏 ---------- */
.pt-hero {
    margin: 22px 0 6px;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 24px 30px 24px;
    position: relative;
    overflow: hidden;
}
.pt-band {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    display: flex;
}
.pt-band i { flex: 1; }
.pt-band i:nth-child(1) { background: var(--accent); }
.pt-band i:nth-child(2) { background: var(--accent2); }
.pt-band i:nth-child(3) { background: var(--sea); }
.pt-kicker {
    font: 700 11px var(--font-mono);
    letter-spacing: .24em;
    text-transform: uppercase;
    color: var(--sea);
    margin: 8px 0 8px;
}
.pt-hero h1 { font-size: clamp(30px, 3.8vw, 44px); margin-bottom: 12px; }
.pt-lede { font-size: 14.8px; line-height: 1.95; color: var(--ink2); margin: 0 0 16px; max-width: 58em; }
.pt-lede b { color: var(--accent); border-bottom: 2px solid var(--accent-soft); }

.pt-toggle {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.pt-toggle-hint { font-size: 12px; color: var(--muted); }

/* ---------- 欧巴对照表 ---------- */
.pt-diff-eu { color: var(--sea); font-weight: 700; }
.pt-diff-br { color: var(--accent); font-weight: 700; }

/* ---------- 短语 ---------- */
.pt-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
}
.pt-tabs button {
    appearance: none;
    border: 1px solid var(--line);
    background: var(--card);
    border-radius: 999px;
    padding: 9px 17px;
    font: 700 13.5px var(--font-body);
    color: var(--ink2);
    cursor: pointer;
    transition: all .15s;
}
.pt-tabs button:hover { border-color: var(--accent); color: var(--accent); }
.pt-tabs button.on {
    background: var(--sea);
    border-color: var(--sea);
    color: #fff;
}

.pt-phrases { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pt-phrase {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: var(--card2);
    border: 1px solid var(--line2);
    border-radius: var(--radius-sm);
    padding: 12px 14px;
}
.pt-phrase-main { flex: 1; min-width: 0; }
.pt-phrase-main .orig {
    font-size: 16px;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.5;
}
.pt-phrase-main .pron {
    font: 600 12px var(--font-mono);
    color: var(--sea);
    margin-top: 2px;
}
.pt-phrase-main .cn { font-size: 13px; color: var(--ink2); margin-top: 3px; }
.pt-phrase-main .variant {
    display: inline-block;
    margin-top: 5px;
    font-size: 11.8px;
    color: var(--muted);
    background: var(--card3);
    border-radius: 7px;
    padding: 3px 8px;
}
.pt-phrase-main .variant b { color: var(--accent2); }
.pt-phrase-main .tip { font-size: 11.8px; color: var(--muted); margin-top: 4px; line-height: 1.6; }
.pt-say {
    appearance: none;
    flex: none;
    border: 1px solid var(--line);
    background: var(--card);
    border-radius: 50%;
    width: 38px;
    height: 38px;
    font-size: 15px;
    cursor: pointer;
    transition: all .15s;
}
.pt-say:hover { border-color: var(--accent); background: var(--accent-soft); }

/* ---------- 语法 ---------- */
.pt-gram-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: var(--gap);
    align-items: start;
}
.pt-gram-grid .nx-card + .nx-card { margin-top: 0; }
.pt-h3 { color: var(--sea); margin-bottom: 12px; }
.pt-verb-form b { color: var(--accent); font-family: var(--font-mono); }

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
    .pt-gram-grid { grid-template-columns: minmax(0, 1fr); }
    .pt-phrases { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
    .pt-hero { padding: 20px 16px; }
}
