/* ==========================================================================
   LPEN — NOC Guide page
   Scoped entirely under .lpen-noc. Safe to enqueue site-wide.
   Tokens per LPEN-Design-System.md §3–§5.
   ========================================================================== */

.lpen-noc{
--navy-900:#012032;--navy-800:#022E48;--navy-700:#0B4465;--navy-600:#175A82;
--navy-100:#C9DDE8;--navy-50:#E5EEF3;--navy-25:#F3F7F9;
--action:#0F5C96;--action-hover:#0B4465;
--gold-700:#8A5A08;--gold-500:#C8901F;--gold-300:#E8B64A;--gold-100:#F7E4BD;--gold-50:#FDF3E0;
--ink:#111820;--muted:#4A5666;--subtle:#6B7684;
--border:#CFD6DD;--border-strong:#78848F;
--surface-2:#EEF2F5;--surface-1:#F6F8FA;
--ln-sans:"Source Sans 3","Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
--ln-mono:"Source Code Pro",ui-monospace,SFMono-Regular,Menlo,monospace;
font-family:var(--ln-sans);color:var(--ink);font-size:16px;line-height:1.625;
max-width:1120px;margin:0 auto;padding:24px 20px 64px;
}
.lpen-noc *{box-sizing:border-box}
.lpen-noc h2,.lpen-noc h3,.lpen-noc h4{color:var(--navy-800);font-family:var(--ln-sans);margin:0 0 .5em}
.lpen-noc h2{font-size:2.125rem;line-height:1.2;font-weight:600;letter-spacing:-.01em;margin-top:2.75rem}
.lpen-noc h3{font-size:1.5rem;line-height:1.3;font-weight:600;margin-top:2rem}
.lpen-noc h4{font-size:1.125rem;line-height:1.4;font-weight:600;margin-top:1.25rem}
.lpen-noc p{margin:0 0 1rem}
.lpen-noc a{color:var(--action);text-decoration:underline;text-underline-offset:2px}
.lpen-noc a:hover{color:var(--action-hover)}
.lpen-noc a:focus-visible{outline:none;box-shadow:0 0 0 2px #6A3FD4,0 0 0 4px #F3F7F9;border-radius:2px}
.lpen-noc ul,.lpen-noc ol{margin:0 0 1rem;padding-left:1.25rem}
.lpen-noc li{margin-bottom:.4rem}
.lpen-noc code{font-family:var(--ln-mono);font-size:.925em;background:var(--surface-2);padding:1px 5px;border-radius:2px}
.lpen-noc img{max-width:100%;height:auto}
.ln-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- icons: Tabler glyphs as CSS masks (no icon font dependency) ---- */
.ln-i{display:inline-block;width:1em;height:1em;flex:none;background-color:currentColor;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
 -webkit-mask-size:contain;mask-size:contain;vertical-align:-.135em}
.ln-i-clock{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E")}
.ln-i-school{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 9 12 5 2 9l10 4 10-4v6'/%3E%3Cpath d='M6 10.6V16c0 1.1 2.7 2 6 2s6-.9 6-2v-5.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 9 12 5 2 9l10 4 10-4v6'/%3E%3Cpath d='M6 10.6V16c0 1.1 2.7 2 6 2s6-.9 6-2v-5.4'/%3E%3C/svg%3E")}
.ln-i-file{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2z'/%3E%3Cpath d='M9 13h6M9 17h4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3v4a1 1 0 0 0 1 1h4'/%3E%3Cpath d='M17 21H7a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7l5 5v11a2 2 0 0 1-2 2z'/%3E%3Cpath d='M9 13h6M9 17h4'/%3E%3C/svg%3E")}
.ln-i-alert{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3Cpath d='M10.24 3.96 2.51 17.5a2 2 0 0 0 1.73 3h15.52a2 2 0 0 0 1.73-3L13.76 3.96a2 2 0 0 0-3.52 0z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3Cpath d='M10.24 3.96 2.51 17.5a2 2 0 0 0 1.73 3h15.52a2 2 0 0 0 1.73-3L13.76 3.96a2 2 0 0 0-3.52 0z'/%3E%3C/svg%3E")}
.ln-i-info{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8h.01M11 12h1v4h1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8h.01M11 12h1v4h1'/%3E%3C/svg%3E")}
.ln-i-external{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6'/%3E%3Cpath d='M11 13 20 4M15 4h5v5'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6'/%3E%3Cpath d='M11 13 20 4M15 4h5v5'/%3E%3C/svg%3E")}
.ln-i-search{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m21 21-6-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m21 21-6-6'/%3E%3C/svg%3E")}
.ln-i-check{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 11 3 3 8-8'/%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h9'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 11 3 3 8-8'/%3E%3Cpath d='M20 12v7a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h9'/%3E%3C/svg%3E")}
.ln-i-list{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11M5 6h.01M5 12h.01M5 18h.01'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11M5 6h.01M5 12h.01M5 18h.01'/%3E%3C/svg%3E")}
.ln-i-book{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19a9 9 0 0 1 9 0 9 9 0 0 1 9 0'/%3E%3Cpath d='M3 6a9 9 0 0 1 9 0 9 9 0 0 1 9 0'/%3E%3Cpath d='M3 6v13M12 6v13M21 6v13'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19a9 9 0 0 1 9 0 9 9 0 0 1 9 0'/%3E%3Cpath d='M3 6a9 9 0 0 1 9 0 9 9 0 0 1 9 0'/%3E%3Cpath d='M3 6v13M12 6v13M21 6v13'/%3E%3C/svg%3E")}
.ln-i-ticket{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5v2M15 11v2M15 17v2'/%3E%3Cpath d='M5 5h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3a2 2 0 0 0 0-4V7a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5v2M15 11v2M15 17v2'/%3E%3Cpath d='M5 5h14a2 2 0 0 1 2 2v3a2 2 0 0 0 0 4v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3a2 2 0 0 0 0-4V7a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")}
.ln-i-mail{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")}
.ln-i-calendar{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3v4M16 3v4M4 9h16'/%3E%3Crect x='4' y='5' width='16' height='16' rx='2'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3v4M16 3v4M4 9h16'/%3E%3Crect x='4' y='5' width='16' height='16' rx='2'/%3E%3C/svg%3E")}
.ln-i-report{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h3'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h3'/%3E%3C/svg%3E")}
.ln-i-arrowup{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V4M6 10l6-6 6 6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V4M6 10l6-6 6 6'/%3E%3C/svg%3E")}

/* ---------- hero ---------- */
.ln-overline{font-size:.75rem;line-height:1.33;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-700);margin:0 0 .5rem}
.ln-hero{border-bottom:1px solid var(--border);padding:0 0 32px;margin-bottom:8px}
.ln-hero .ln-h1{display:block;font-size:3rem;line-height:1.16;font-weight:700;letter-spacing:-.02em;color:var(--navy-800);margin:0 0 .5rem}
.ln-lead{font-size:1.125rem;line-height:1.66;color:var(--muted);max-width:68ch;margin:0 0 1.25rem}
.ln-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.875rem;color:var(--subtle);margin:0;padding:0;list-style:none}
.ln-meta li{display:inline-flex;align-items:center;gap:7px;margin:0}
.ln-meta .ln-i{color:var(--action)}

/* ---------- callouts ---------- */
.ln-note{border-left:4px solid var(--gold-500);background:var(--gold-50);border-radius:0 4px 4px 0;padding:18px 22px;margin:24px 0}
.ln-note.is-info{border-left-color:var(--action);background:var(--navy-50)}
.ln-note h4{margin-top:0;margin-bottom:.4rem;font-size:1.0625rem;display:flex;gap:9px;align-items:baseline}
.ln-note h4 .ln-i{color:var(--gold-700)}
.ln-note.is-info h4 .ln-i{color:var(--action)}
.ln-note p:last-child,.ln-note ul:last-child{margin-bottom:0}

/* ---------- flipbook ---------- */
.ln-book{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-1);margin:20px 0 8px}
.ln-book-frame{position:relative;width:100%;padding-top:70%;background:var(--navy-25)}
.ln-book-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ln-book-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px;color:var(--muted)}
.ln-book-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border);font-size:.875rem;color:var(--muted);background:#fff}

/* ---------- buttons ---------- */
.ln-btn{display:inline-flex;align-items:center;gap:9px;font-size:1rem;font-weight:600;line-height:1.5;padding:11px 22px;border-radius:4px;text-decoration:none;border:1px solid transparent;transition:background-color 120ms cubic-bezier(.2,0,.2,1),color 120ms cubic-bezier(.2,0,.2,1),border-color 120ms}
.lpen-noc .ln-btn{text-decoration:none}
.ln-btn-primary{background:var(--action);color:#fff}
.ln-btn-primary:hover{background:var(--action-hover);color:#fff}
.ln-btn-secondary{background:#fff;color:var(--action);border-color:var(--border-strong)}
.ln-btn-secondary:hover{background:var(--surface-1);color:var(--action-hover);border-color:var(--action)}
.ln-btn-onnavy{background:var(--gold-300);color:var(--navy-800)}
.ln-btn-onnavy:hover{background:#F0C76B;color:var(--navy-800)}
.ln-btn-ghostnavy{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.ln-btn-ghostnavy:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
.ln-btnrow{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 0}

/* ---------- tables ---------- */
.ln-tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;margin:16px 0}
.lpen-noc .ln-tablewrap table{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:640px;background:#fff;margin:0}
.lpen-noc .ln-tablewrap th{text-align:left;font-weight:600;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--navy-800);background:var(--surface-2);padding:11px 16px;border-bottom:1px solid var(--border);vertical-align:bottom}
.lpen-noc .ln-tablewrap td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--ink)}
.lpen-noc .ln-tablewrap tbody tr:last-child td{border-bottom:0}
.ln-teer{font-family:var(--ln-mono);font-weight:600;color:var(--navy-800);white-space:nowrap}
.ln-yes{color:#125E26;font-weight:600}
.ln-no{color:var(--subtle)}
.ln-tnote{font-size:.875rem;color:var(--subtle);max-width:78ch}

/* ---------- code anatomy ---------- */
.ln-anatomy{border:1px solid var(--border);border-radius:8px;background:var(--surface-1);padding:24px;margin:20px 0}
.ln-digits{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.ln-digit{width:52px;height:64px;display:flex;align-items:center;justify-content:center;font-family:var(--ln-mono);font-size:1.75rem;font-weight:600;border-radius:4px;background:#fff;border:1px solid var(--border-strong);color:var(--navy-800)}
.ln-digit.d1{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.ln-digit.d2{background:var(--gold-300);color:var(--navy-800);border-color:var(--gold-500)}
.lpen-noc .ln-anatomy dl{margin:0}
.lpen-noc .ln-anatomy dt{font-weight:600;color:var(--navy-800);font-size:.9375rem;margin-top:12px}
.lpen-noc .ln-anatomy dt:first-child{margin-top:0}
.lpen-noc .ln-anatomy dd{margin:2px 0 0;color:var(--muted);font-size:.9375rem}
.ln-swatch{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:8px}
.sw1{background:var(--navy-800)}
.sw2{background:var(--gold-300);border:1px solid var(--gold-500)}
.sw3{background:#fff;border:1px solid var(--border-strong)}

/* ---------- pitfall cards ---------- */
.ln-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:20px 0}
.ln-card{border:1px solid var(--border);border-radius:8px;padding:20px;background:#fff}
.ln-card h4{margin:0 0 .45rem;font-size:1.0625rem;display:flex;gap:10px;align-items:baseline;line-height:1.35}
.ln-card h4 .ln-i{color:var(--gold-700)}
.ln-card p{margin:0;font-size:.9375rem;color:var(--muted)}
.ln-card p+p{margin-top:.6rem}
.ln-card strong{color:var(--ink)}

/* ---------- category chips ---------- */
.ln-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px;padding:0;list-style:none}
.ln-chips li{margin:0}
.ln-chip{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;font-weight:500;padding:6px 14px;border-radius:999px;border:1px solid var(--border-strong);color:var(--navy-800);background:#fff}
.ln-chip.is-new{background:var(--gold-100);border-color:var(--gold-500)}
.ln-chip .ln-tag{font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-700)}

/* ---------- resource links ---------- */
.ln-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;margin:20px 0;padding:0;list-style:none}
.ln-links li{margin:0}
.lpen-noc .ln-links a{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;padding:15px 17px;text-decoration:none;color:var(--ink);background:#fff;transition:border-color 120ms,background-color 120ms;height:100%}
.lpen-noc .ln-links a:hover{border-color:var(--border-strong);background:var(--surface-1)}
.ln-links .ln-i{color:var(--action);margin-top:4px;font-size:1.125rem}
.ln-links b{display:block;color:var(--navy-800);font-weight:600;font-size:.9375rem;margin-bottom:2px}
.ln-links span{display:block;font-size:.875rem;color:var(--muted);line-height:1.45}

/* ---------- FAQ ---------- */
.ln-faq{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin:20px 0;background:#fff}
.ln-faq details{border-bottom:1px solid var(--border)}
.ln-faq details:last-child{border-bottom:0}
.ln-faq summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:600;color:var(--navy-800);display:flex;justify-content:space-between;gap:16px;align-items:center}
.ln-faq summary::-webkit-details-marker{display:none}
.ln-faq summary:hover{background:var(--surface-1)}
.ln-faq summary:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #6A3FD4}
.ln-faq summary::after{content:"";width:9px;height:9px;flex:none;border-right:2px solid var(--action);border-bottom:2px solid var(--action);transform:rotate(45deg) translateY(-3px);transition:transform 200ms cubic-bezier(.2,0,.2,1)}
.ln-faq details[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.ln-faq .ln-a{padding:0 20px 18px;color:var(--muted);font-size:.9375rem}
.ln-faq .ln-a p:last-child{margin-bottom:0}

/* ---------- CTA + partner ---------- */
.ln-cta{background:var(--navy-800);border-radius:8px;padding:40px;margin:44px 0 0;color:#fff}
.lpen-noc .ln-cta h2{color:#fff;margin-top:0;font-size:1.875rem}
.ln-cta p{color:var(--navy-100);max-width:64ch}
.ln-cta .ln-overline{color:var(--gold-300)}
.ln-partner{display:flex;flex-wrap:wrap;gap:22px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:20px;margin:28px 0;background:var(--surface-1)}
.ln-partner img{max-width:300px;border-radius:4px;display:block}
.ln-partner div{flex:1 1 260px}
.ln-partner p{margin:0;font-size:.9375rem;color:var(--muted)}

/* ---------- TOC ---------- */
.ln-toc{border:1px solid var(--border);border-radius:8px;padding:20px 24px;background:var(--surface-1);margin:28px 0}
.ln-toc p{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 .7rem}
.lpen-noc .ln-toc ol{margin:0;padding-left:1.15rem;columns:2;column-gap:36px;font-size:.9375rem}
.ln-toc li{margin-bottom:.35rem;break-inside:avoid}

/* ---------- review meta ---------- */
.ln-rev{border-top:1px solid var(--border);margin-top:44px;padding-top:20px;font-size:.8125rem;line-height:1.6;color:var(--subtle)}
.ln-rev p{margin:0 0 .5rem}
.ln-rev strong{color:var(--muted)}

@media (max-width:640px){
 .lpen-noc{padding:16px 16px 48px}
 .ln-hero .ln-h1{font-size:2.125rem}
 .lpen-noc h2{font-size:1.625rem}
 .ln-cta{padding:26px}
 .lpen-noc .ln-toc ol{columns:1}
 .ln-book-frame{padding-top:118%}
 .ln-digit{width:44px;height:56px;font-size:1.5rem}
}
@media (prefers-reduced-motion:reduce){
 .lpen-noc *,.lpen-noc *::before,.lpen-noc *::after{transition-duration:1ms !important;animation-duration:1ms !important}
}
