/* Propp reference page; shared site chrome and tokens come from fl-theme.css. */
.fl-propp { max-width: 1280px; margin-inline: auto; }
.fl-propp .fl-propp-section h2 { font-family: var(--fl-serif); font-size: 29px; line-height: 1.2; margin: 0 0 10px; }
.fl-propp p { color: var(--fl-ink-2); line-height: 1.7; }
.fl-propp a { color: var(--fl-teal-dark); text-underline-offset: 3px; }
.fl-propp a:focus-visible, .fl-propp-skip:focus-visible { outline: 3px solid var(--fl-teal); outline-offset: 4px; }
.fl-propp-lede { max-width: 850px; margin-top: 18px; font-size: 17px; }
.fl-propp-jump { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 38px; }
.fl-propp-jump a { text-decoration: none; }
.fl-propp-section { margin-top: 38px; }
.fl-propp-section-head { margin-bottom: 16px; }
.fl-propp-note { border-left: 3px solid var(--fl-teal); padding: 10px 16px; margin: 16px 0 20px; background: #edf5f2; font-size: 14px; }
.fl-propp-table-wrap { margin-bottom: 0; }
.fl-propp .fl-propp-table th[scope="row"] { width: 32%; font-family: var(--fl-sans); font-size: 15px; font-weight: 500; }
.fl-propp-table th[scope="row"] a { display: block; text-decoration: none; color: var(--fl-ink); }
.fl-propp-table th[scope="row"] a:hover { color: var(--fl-teal-dark); text-decoration: underline; }
.fl-propp .fl-propp-table td, .fl-propp .fl-propp-table th { padding: 16px 18px; line-height: 1.6; }
.fl-propp-table .fl-propp-notation { width: 90px; text-align: center; }
.fl-propp-symbol { font-family: var(--fl-mono); font-size: 17px; color: var(--fl-teal-dark); white-space: nowrap; }
.fl-propp-number { font-family: var(--fl-mono); font-size: 13px; color: var(--fl-muted); margin-right: 5px; }
.fl-propp-roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.fl-propp-role { border: 1px solid var(--fl-line); background: var(--fl-card); border-radius: 10px; padding: 20px 22px; }
.fl-propp .fl-propp-role h3 { font-family: var(--fl-sans); font-size: 16px; line-height: 1.5; margin: 0 0 8px; }
.fl-propp-role h3 a { text-decoration: none; color: var(--fl-ink); }
.fl-propp-role h3 a:hover { color: var(--fl-teal-dark); text-decoration: underline; }
.fl-propp-role p { font-size: 15px; margin: 0; }
.fl-propp-reading { max-width: 880px; }
.fl-propp-reading p + p { margin-top: 12px; }
.fl-propp [id] { scroll-margin-top: 24px; }
.fl-propp tr:target, .fl-propp-role:target { background: #e6f4ed; outline: 2px solid var(--fl-teal); outline-offset: -2px; }
.fl-propp-visually-hidden, .fl-propp-skip { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.fl-propp-skip:focus { position: fixed; top: 12px; left: 12px; width: auto; height: auto; padding: 12px 18px; clip-path: none; background: white; z-index: 2000; }
@media (max-width: 1050px) {
    .fl-propp .fl-propp-table th[scope="row"] { width: 35%; }
    .fl-propp .fl-propp-table td, .fl-propp .fl-propp-table th { padding: 14px 12px; }
}
@media (max-width: 640px) {
    .fl-propp-roles { grid-template-columns: 1fr; }
    .fl-propp-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .fl-propp-table, .fl-propp-table tbody { display: block; }
    .fl-propp-table tr { display: grid; grid-template-columns: minmax(0, 1fr) 65px; padding: 16px; border-bottom: 1px solid var(--fl-line); }
    .fl-propp-table tr:last-child { border-bottom: 0; }
    .fl-propp .fl-propp-table th[scope="row"], .fl-propp-table .fl-propp-notation { width: auto; }
    .fl-propp .fl-propp-table th, .fl-propp .fl-propp-table td { border: 0; padding: 0; }
    .fl-propp-table .fl-propp-notation { text-align: right; }
    .fl-propp-table .fl-propp-description { grid-column: 1 / -1; padding-top: 8px; }
    .fl-propp [id] { scroll-margin-top: 70px; }
}
@media print {
    .sidebar, .fl-sidebar-fab, .fl-scrim, .fl-propp-jump, .fl-propp .footer { display: none !important; }
    body { display: block; background: white; }
    .fl-propp { max-width: none; padding: 0; }
    .fl-propp-role, .fl-propp-table tr { break-inside: avoid; }
    .fl-propp-table { display: table; }
    .fl-propp-table tbody { display: table-row-group; }
    .fl-propp-table tr { display: table-row; }
    .fl-propp-table thead { display: table-header-group; position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
    .fl-propp .fl-propp-table th, .fl-propp .fl-propp-table td { padding: 10px; border-bottom: 1px solid var(--fl-line); }
}
