/* Membres PF : styles du profil, de la liste des membres et des émoticônes de passlord.net (passlord_responsive.css, passlord_pf2026.css, pf_brand_late.css…),
   extraits par scratchpad/forums/ui/build.py. Variables de la charte commune (--pfb-*, --pf-*, --e4-*) : celles de PF. */
/* Variables */
:root { --font-mono: "JetBrains Mono", ui-monospace, monospace; }
:root { --pf-cream: var(--pfb-surface-2); --pf-white: var(--pfb-surface); --pf-ink: var(--pfb-encre); --pf-ink-mid: var(--pfb-encre-corps); --pf-ink-light: var(--pfb-encre-2); --pf-ink-faint: var(--pfb-encre-2); --pf-border: var(--pfb-ligne); --pf-border-light: var(--pfb-ligne); --pf-yellow: var(--pfb-jaune); --pf-yellow-dark: var(--pfb-jaune-ombre); --pf-red: #CC0000; --pf-blue: var(--pfb-encre); --pf-green: #16A34A; --pf-shadow-sm: none; --pf-shadow-lg: 0 16px 48px rgba(10, 10, 10, .14); --pf-r-md: 16px; --pf-r-lg: 22px; --pf-r-full: 9999px; --pf-font: var(--pfb-font-texte); --pl-gutter: clamp(16px, 2.4vw, 32px); --pl-nav-h: var(--pfb-tetiere-h); --font-mono: var(--pf-font); }
body.passlord-profile-page { --pr-ink: var(--pf-ink, #0d0d1c); --pr-ink-2: var(--pf-ink-mid, #2c2c44); --pr-ink-3: var(--pf-ink-light, #6b6b8a); --pr-line: var(--pf-border, #e3e3ef); --pr-line-2: var(--pf-border-light, #ededf8); --pr-card: var(--pf-white, #fff); --pr-bg: var(--pf-cream, #f7f6f2); --pr-night: var(--e4-night, #0e1550); --pr-indigo: var(--e4-indigo, #1b2a86); --pr-gold: var(--e4-gold, #f3cf5a); --pr-yellow: var(--pf-yellow, #ffcb05); --pr-green: var(--pf-green, #16a34a); --pr-red: var(--pf-red, #cc0000); --pr-r: var(--pf-r-md, 16px); --pr-r-lg: var(--pf-r-lg, 22px); --pr-shadow: var(--pf-shadow-sm, 0 2px 8px rgba(13, 13, 28, .08)); --pr-font: var(--pf-font, 'Space Grotesk', system-ui, sans-serif); }
/* Règles */
.sr-only { position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0; }
.passlord-smileys-page { width: min(1180px, calc(100vw - 2.4rem));
    margin: 1.6rem auto 4rem;
    display: grid;
    gap: 1.4rem;
    color: var(--pf-ink); }
.passlord-smileys-hero { padding: 1.8rem 2rem;
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(73, 109, 207, 0.12), rgba(123, 156, 230, 0.06));
    border: 1px solid var(--pf-border);
    box-shadow: 0 18px 38px rgba(40, 64, 114, 0.08);
    display: grid;
    gap: 1rem; }
.passlord-smileys-hero__eyebrow { margin: 0;
    text-transform: uppercase;
    font-size: 0.78rem;
    letter-spacing: 0.16em;
    color: var(--pf-ink-mid);
    font-weight: 700; }
.passlord-smileys-hero h1, .passlord-smileys-bbcode__head h2 { margin: 0;
    color: var(--pf-ink);
    line-height: 1.1; }
.passlord-smileys-hero h1 { font-size: clamp(1.6rem, 1.4vw + 1rem, 2.1rem); }
.passlord-smileys-hero__lead { margin: 0;
    color: var(--pf-ink-mid);
    line-height: 1.55;
    max-width: 60ch; }
.passlord-smileys-hero__stats { display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 0.4rem; }
.passlord-smileys-hero__stat { background: var(--pf-white);
    border: 1px solid var(--pf-border);
    border-radius: 18px;
    padding: 0.65rem 1rem;
    display: grid;
    gap: 0.1rem;
    min-width: 8rem; }
.passlord-smileys-hero__stat strong { font-size: 1.4rem;
    color: var(--pf-ink); }
.passlord-smileys-hero__stat span { font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--pf-ink-mid); }
.passlord-smileys-tip { display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.95rem 1.1rem;
    border-radius: 22px;
    background: rgba(255, 245, 215, 0.72);
    border: 1px solid rgba(214, 174, 92, 0.32);
    color: #5b4621;
    line-height: 1.5;
    font-size: 0.95rem; }
.passlord-smileys-tip svg { flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: #b48128; }
.passlord-smileys-tip em { font-style: normal;
    font-weight: 700;
    color: #5b4621; }
.passlord-smileys-toolbar { display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.9rem;
    border-radius: 22px;
    background: var(--pf-white);
    border: 1px solid var(--pf-border);
    box-shadow: 0 8px 18px rgba(40, 64, 114, 0.06);
    position: sticky;
    top: 90px;
    z-index: 5; }
.passlord-smileys-search { display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 240px;
    background: rgba(232, 238, 251, 0.5);
    border: 1px solid var(--pf-border);
    border-radius: 999px;
    padding: 0.4rem 0.85rem;
    transition: border-color 120ms ease, background 120ms ease; }
.passlord-smileys-search:focus-within { border-color: rgba(73, 109, 207, 0.6);
    background: var(--pf-white); }
.passlord-smileys-search svg { width: 16px;
    height: 16px;
    color: var(--pf-ink-mid); }
.passlord-smileys-search input { flex: 1;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 0.95rem;
    color: var(--pf-ink); }
.passlord-smileys-filter { display: flex;
    flex-wrap: wrap;
    gap: 0.4rem; }
.passlord-smileys-chip { background: rgba(232, 238, 251, 0.7);
    border: 1px solid var(--pf-border);
    color: var(--pf-ink);
    border-radius: 999px;
    padding: 0.35rem 0.85rem;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 120ms ease, transform 120ms ease, border-color 120ms ease; }
.passlord-smileys-chip span { margin-left: 0.35rem;
    color: var(--pf-ink-mid);
    font-weight: 500; }
.passlord-smileys-chip:hover, .passlord-smileys-chip:focus-visible { background: var(--pf-white);
    transform: translateY(-1px);
    outline: none; }
.passlord-smileys-chip.is-active { background: linear-gradient(135deg, #2259d4, #4880e8);
    color: #ffffff;
    border-color: transparent; }
.passlord-smileys-chip.is-active span { color: rgba(255, 255, 255, 0.78); }
.passlord-smileys-section { display: grid;
    gap: 0.9rem; }
.passlord-smileys-section__head { display: flex;
    align-items: baseline;
    gap: 0.6rem; }
.passlord-smileys-section__head h2 { margin: 0;
    font-size: 1.1rem;
    color: var(--pf-ink); }
.passlord-smileys-section__count { font-size: 0.78rem;
    color: var(--pf-ink-mid);
    background: rgba(232, 238, 251, 0.7);
    border-radius: 999px;
    padding: 0.1rem 0.55rem; }
.passlord-smileys-grid { list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 0.7rem; }
.passlord-smileys-card { background: var(--pf-white);
    border: 1px solid var(--pf-border);
    border-radius: 18px;
    padding: 0.7rem 0.7rem 0.65rem;
    display: grid;
    gap: 0.35rem;
    text-align: center;
    transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease; }
.passlord-smileys-card:hover { transform: translateY(-2px);
    border-color: rgba(73, 109, 207, 0.32);
    box-shadow: 0 14px 28px rgba(40, 64, 114, 0.1); }
.passlord-smileys-card__btn { background: rgba(232, 238, 251, 0.5);
    border: 1px solid var(--pf-border);
    border-radius: 14px;
    padding: 0.55rem 0.4rem 0.45rem;
    cursor: pointer;
    display: grid;
    gap: 0.25rem;
    justify-items: center;
    transition: background 120ms ease, border-color 120ms ease;
    position: relative; }
.passlord-smileys-card__btn img { max-width: 32px;
    max-height: 32px; }
.passlord-smileys-card__btn:hover, .passlord-smileys-card__btn:focus-visible { background: var(--pf-white);
    border-color: rgba(73, 109, 207, 0.32);
    outline: none; }
.passlord-smileys-card__btn.is-copied { background: rgba(120, 200, 120, 0.18);
    border-color: rgba(120, 200, 120, 0.45); }
.passlord-smileys-card__btn.is-copied::after { content: 'Copi\00E9 \2713';
    position: absolute;
    inset: auto 0 -1.6rem 0;
    font-size: 0.78rem;
    color: #1f5d1f;
    font-weight: 700; }
.passlord-smileys-card__btn.is-copy-failed { background: rgba(255, 209, 209, 0.55);
    border-color: rgba(190, 90, 90, 0.45); }
.passlord-smileys-card__code { font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.78rem;
    color: var(--pf-ink);
    font-weight: 700; }
.passlord-smileys-card__label { margin: 0;
    font-size: 0.85rem;
    color: var(--pf-ink);
    font-weight: 600; }
.passlord-smileys-card__codes { margin: 0;
    color: var(--pf-ink-mid);
    font-size: 0.74rem;
    line-height: 1.35;
    overflow-wrap: anywhere; }
.passlord-smileys-card__topic { margin: 0.15rem 0 0;
    color: var(--pf-ink-mid);
    font-size: 0.72rem;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    justify-content: center; }
.passlord-smileys-card__topic img { max-height: 16px; }
.passlord-smileys-empty { margin: 0;
    padding: 1.4rem;
    text-align: center;
    color: var(--pf-ink-mid);
    border-radius: 18px;
    background: var(--pf-white);
    border: 1px dashed var(--pf-border); }
.passlord-smileys-bbcode { display: grid;
    gap: 1rem;
    background: var(--pf-white);
    border: 1px solid var(--pf-border);
    border-radius: 24px;
    padding: 1.4rem 1.4rem 1.6rem;
    box-shadow: 0 12px 26px rgba(40, 64, 114, 0.06); }
.passlord-smileys-bbcode__head { display: grid;
    gap: 0.3rem;
    max-width: 60ch; }
.passlord-smileys-bbcode__head p { margin: 0;
    color: var(--pf-ink-mid);
    line-height: 1.55; }
.passlord-smileys-bbcode__head h2 { font-size: 1.3rem; }
.passlord-smileys-bbcode__grid { display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.7rem; }
.passlord-smileys-bbcode__card { background: rgba(232, 238, 251, 0.45);
    border: 1px solid var(--pf-border);
    border-radius: 16px;
    padding: 0.75rem 0.85rem;
    display: grid;
    gap: 0.3rem; }
.passlord-smileys-bbcode__card code { font-family: var(--font-mono, ui-monospace, monospace);
    background: rgba(73, 109, 207, 0.12);
    color: var(--pf-ink);
    padding: 0.18rem 0.45rem;
    border-radius: 10px;
    font-size: 0.84rem;
    font-weight: 600;
    align-self: flex-start;
    overflow-wrap: anywhere; }
.passlord-smileys-bbcode__example { margin: 0;
    font-family: var(--font-mono, ui-monospace, monospace);
    color: var(--pf-ink-mid);
    font-size: 0.82rem; }
.passlord-smileys-bbcode__card p:last-child { margin: 0;
    color: var(--pf-ink-mid);
    font-size: 0.86rem;
    line-height: 1.5; }
.passlord-smileys-footer { display: flex;
    justify-content: center;
    gap: 0.6rem;
    margin-top: 0.4rem; }
.passlord-smileys-popover { position: absolute;
    z-index: 1000;
    width: min(360px, calc(100vw - 2rem));
    max-height: min(420px, 60vh);
    display: grid;
    grid-template-rows: auto auto 1fr;
    gap: 0.55rem;
    padding: 0.7rem;
    background: var(--pf-white);
    border: 1px solid var(--pf-border);
    border-radius: 18px;
    box-shadow: 0 24px 48px rgba(40, 64, 114, 0.18);
    color: var(--pf-ink); }
.passlord-smileys-popover[hidden] { display: none !important; }
.passlord-smileys-popover__head { display: flex;
    align-items: center;
    gap: 0.5rem; }
.passlord-smileys-popover__head input { flex: 1;
    border: 1px solid var(--pf-border);
    background: rgba(232, 238, 251, 0.4);
    border-radius: 12px;
    padding: 0.4rem 0.7rem;
    font-size: 0.9rem;
    color: var(--pf-ink); }
.passlord-smileys-popover__head input:focus { outline: none;
    border-color: rgba(73, 109, 207, 0.55);
    background: var(--pf-white); }
.passlord-smileys-popover__filter { display: flex;
    flex-wrap: wrap;
    gap: 0.3rem; }
.passlord-smileys-popover__chip { background: rgba(232, 238, 251, 0.7);
    border: 1px solid var(--pf-border);
    color: var(--pf-ink);
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
    font-size: 0.74rem;
    font-weight: 600;
    cursor: pointer; }
.passlord-smileys-popover__chip.is-active { background: linear-gradient(135deg, #2259d4, #4880e8);
    color: #ffffff;
    border-color: transparent; }
.passlord-smileys-popover__grid { display: grid;
    grid-template-columns: repeat(auto-fill, minmax(58px, 1fr));
    gap: 0.4rem;
    overflow-y: auto;
    padding-right: 0.3rem; }
.passlord-smileys-popover__btn { background: rgba(232, 238, 251, 0.45);
    border: 1px solid var(--pf-border);
    border-radius: 12px;
    padding: 0.4rem;
    cursor: pointer;
    display: grid;
    gap: 0.15rem;
    justify-items: center;
    transition: background 120ms ease, border-color 120ms ease; }
.passlord-smileys-popover__btn img { max-width: 28px;
    max-height: 28px; }
.passlord-smileys-popover__btn span { font-family: var(--font-mono, ui-monospace, monospace);
    font-size: 0.66rem;
    color: var(--pf-ink);
    font-weight: 700;
    line-height: 1; }
.passlord-smileys-popover__btn:hover, .passlord-smileys-popover__btn:focus-visible { background: var(--pf-white);
    border-color: rgba(73, 109, 207, 0.32);
    outline: none; }
.passlord-smileys-popover__empty { margin: 0;
    padding: 1rem;
    color: var(--pf-ink-mid);
    text-align: center;
    font-size: 0.84rem; }
.passlord-smileys-popover__footer { display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--pf-border);
    padding-top: 0.45rem;
    color: var(--pf-ink-mid);
    font-size: 0.78rem; }
.passlord-smileys-popover__footer a { color: var(--pf-ink);
    font-weight: 700;
    text-decoration: none; }
.passlord-smileys-popover__footer a:hover { text-decoration: underline; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-page { color: #e9ecf5; } }
:root[data-theme="dark"] body .passlord-smileys-page { color: #e9ecf5; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-hero { background: linear-gradient(135deg, rgba(80, 116, 200, 0.18), rgba(40, 60, 110, 0.4));
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.36); } }
:root[data-theme="dark"] body .passlord-smileys-hero { background: linear-gradient(135deg, rgba(80, 116, 200, 0.18), rgba(40, 60, 110, 0.4));
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.36); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-hero h1, :root:not([data-theme="light"]) body .passlord-smileys-bbcode__head h2, :root:not([data-theme="light"]) body .passlord-smileys-section__head h2 { color: #f4f6fb; } }
:root[data-theme="dark"] body .passlord-smileys-hero h1, :root[data-theme="dark"] body .passlord-smileys-bbcode__head h2, :root[data-theme="dark"] body .passlord-smileys-section__head h2 { color: #f4f6fb; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-hero__lead, :root:not([data-theme="light"]) body .passlord-smileys-bbcode__head p, :root:not([data-theme="light"]) body .passlord-smileys-card__codes, :root:not([data-theme="light"]) body .passlord-smileys-card__topic, :root:not([data-theme="light"]) body .passlord-smileys-bbcode__card p:last-child, :root:not([data-theme="light"]) body .passlord-smileys-popover__footer { color: #b6c0d8; } }
:root[data-theme="dark"] body .passlord-smileys-hero__lead, :root[data-theme="dark"] body .passlord-smileys-bbcode__head p, :root[data-theme="dark"] body .passlord-smileys-card__codes, :root[data-theme="dark"] body .passlord-smileys-card__topic, :root[data-theme="dark"] body .passlord-smileys-bbcode__card p:last-child, :root[data-theme="dark"] body .passlord-smileys-popover__footer { color: #b6c0d8; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-hero__stat, :root:not([data-theme="light"]) body .passlord-smileys-card, :root:not([data-theme="light"]) body .passlord-smileys-bbcode, :root:not([data-theme="light"]) body .passlord-smileys-popover, :root:not([data-theme="light"]) body .passlord-smileys-toolbar { background: rgba(20, 26, 44, 0.92);
    border-color: rgba(255, 255, 255, 0.08);
    color: #e9ecf5; } }
:root[data-theme="dark"] body .passlord-smileys-hero__stat, :root[data-theme="dark"] body .passlord-smileys-card, :root[data-theme="dark"] body .passlord-smileys-bbcode, :root[data-theme="dark"] body .passlord-smileys-popover, :root[data-theme="dark"] body .passlord-smileys-toolbar { background: rgba(20, 26, 44, 0.92);
    border-color: rgba(255, 255, 255, 0.08);
    color: #e9ecf5; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-card__btn, :root:not([data-theme="light"]) body .passlord-smileys-bbcode__card, :root:not([data-theme="light"]) body .passlord-smileys-popover__btn, :root:not([data-theme="light"]) body .passlord-smileys-search { background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
    color: #f4f6fb; } }
:root[data-theme="dark"] body .passlord-smileys-card__btn, :root[data-theme="dark"] body .passlord-smileys-bbcode__card, :root[data-theme="dark"] body .passlord-smileys-popover__btn, :root[data-theme="dark"] body .passlord-smileys-search { background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
    color: #f4f6fb; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-search input, :root:not([data-theme="light"]) body .passlord-smileys-popover__head input { color: #f4f6fb; } }
:root[data-theme="dark"] body .passlord-smileys-search input, :root[data-theme="dark"] body .passlord-smileys-popover__head input { color: #f4f6fb; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-card__label { color: #f4f6fb; } }
:root[data-theme="dark"] body .passlord-smileys-card__label { color: #f4f6fb; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-chip, :root:not([data-theme="light"]) body .passlord-smileys-popover__chip { background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
    color: #d6deef; } }
:root[data-theme="dark"] body .passlord-smileys-chip, :root[data-theme="dark"] body .passlord-smileys-popover__chip { background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.08);
    color: #d6deef; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-tip { background: rgba(180, 129, 40, 0.18);
    border-color: rgba(214, 174, 92, 0.4);
    color: #ffd590; } }
:root[data-theme="dark"] body .passlord-smileys-tip { background: rgba(180, 129, 40, 0.18);
    border-color: rgba(214, 174, 92, 0.4);
    color: #ffd590; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) body .passlord-smileys-tip em { color: #ffd590; } }
:root[data-theme="dark"] body .passlord-smileys-tip em { color: #ffd590; }
@media (max-width: 720px) {
  .passlord-smileys-toolbar { position: static; }
  .passlord-smileys-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
}
.passlord-premium-badge { display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    padding: 2px 8px 2px 6px;
    border-radius: 999px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10.5px;
    font-weight: 800;
    font-style: normal;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
    background: linear-gradient(135deg, #0e1550, #1f3a6e);
    color: #f3cf5a;
    box-shadow: inset 0 0 0 1px #f3cf5a;
    vertical-align: middle;
    line-height: 1.4; }
.passlord-premium-badge::before { content: "\25C6";
    font-size: 9px;
    line-height: 1; }
.passlord-premium-badge--lifetime { background: linear-gradient(135deg, #b88c1d, #e2b53f);
    color: var(--pf-ink);
    box-shadow: none; }
.passlord-premium-badge--pioneer { background: linear-gradient(135deg, #2f5f2a, #4a7a3f);
    color: #f3cf5a; }
.sr-only { position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0; }
.pr-premium { background: var(--pfb-noir) !important; color: var(--pfb-blanc); border: 1px solid var(--pfb-graphite); }
.passlord-premium-badge, .pr a.pr-chip--premium, .pr-chip--premium { background: var(--pfb-jaune) !important; color: var(--pfb-noir) !important; border-color: var(--pfb-jaune) !important; box-shadow: none !important; }
body.passlord-profile-page { background: var(--pr-bg); }
.pr { color: var(--pr-ink); font-family: var(--pr-font); padding-bottom: 64px; }
.pr *, .pr *::before, .pr *::after { box-sizing: border-box; }
.pr-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 var(--pl-gutter, 20px); }
.pr h1, .pr h2, .pr h3 { margin: 0; font-family: var(--pr-font); letter-spacing: -.02em; }
.pr p { margin: 0; }
.pr a { color: var(--pr-indigo); }
.pr img { max-width: 100%; }
.pr-muted { color: var(--pr-ink-3); font-size: 14px; line-height: 1.55; }
.pr-small { font-size: 12.5px; }
.pr[data-pr-viewer="owner"]:not([data-pr-preview]) .visitor-only { display: none !important; }
.pr[data-pr-preview] .owner-only { display: none !important; }
.pr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 42px; padding: 0 18px;
    border-radius: 999px; border: 1.5px solid transparent;
    font: 700 14.5px/1 var(--pr-font); text-decoration: none; cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
    white-space: nowrap; }
.pr-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.pr-btn:hover { transform: translateY(-1px); }
.pr-btn:focus-visible, .pr-tab:focus-visible, .pr-link:focus-visible { outline: 3px solid var(--pr-yellow); outline-offset: 2px; }
.pr a.pr-btn--primary, .pr-btn--primary { background: var(--pr-night); color: #fff; box-shadow: 0 3px 0 #000; }
.pr a.pr-btn--gold, .pr-btn--gold { background: var(--pr-yellow); color: var(--pr-night); box-shadow: 0 3px 0 #b8900a; }
.pr a.pr-btn--ghost, .pr-btn--ghost { background: var(--pr-card); color: var(--pr-ink); border-color: var(--pr-line); }
.pr-btn--ghost:hover { border-color: var(--pr-ink-3); }
.pr a.pr-btn--danger, .pr-btn--danger { background: var(--pf-white); color: var(--pr-red); border-color: #f2c2c2; }
.pr-btn--done { background: var(--pf-cream); color: var(--pf-ink); border-color: #b7ebcd; cursor: default; }
.pr-btn--done:hover { transform: none; }
.pr-btn--icon { width: 42px; padding: 0; background: var(--pr-card); color: var(--pr-ink); border-color: var(--pr-line); }
.pr-btn--sm { min-height: 34px; padding: 0 14px; font-size: 13px; }
.pr-btn[disabled] { opacity: .5; cursor: not-allowed; transform: none; }
.pr-link { background: none; border: 0; padding: 0; cursor: pointer;
    font: inherit; font-weight: 700; color: var(--pr-indigo); text-decoration: underline; text-underline-offset: 3px; }
.pr-chip { display: inline-flex; align-items: center; gap: 6px;
    min-height: 26px; padding: 0 11px; border-radius: 999px;
    background: var(--pr-card); border: 1px solid var(--pr-line);
    font-size: 12.5px; font-weight: 600; color: var(--pr-ink-2); text-decoration: none; }
.pr-chip--rank { background: var(--pr-yellow); border-color: var(--pr-yellow); color: var(--pr-night); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: 11.5px; }
.pr a.pr-chip--premium, .pr-chip--premium { padding-left: 4px; background: linear-gradient(135deg, var(--pr-night), #1f3a6e); border: 0;
    color: var(--pr-gold); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: 11.5px;
    box-shadow: inset 0 0 0 1.5px var(--pr-gold); }
.pr-chip--premium img { width: 18px; height: 18px; border-radius: 5px; display: block; }
.pr-chip--sm { min-height: 22px; font-size: 10.5px; vertical-align: middle; margin-left: 6px; }
.pr-chip--sm img { width: 14px; height: 14px; }
.pr-pill { display: inline-flex; align-items: center; min-height: 22px; padding: 0 9px; border-radius: 999px;
    font-size: 11.5px; font-weight: 700; background: var(--pr-line-2); color: var(--pr-ink-2); white-space: nowrap; }
.pr-pill.is-live, .pr-pill.is-ok { background: var(--pf-cream); color: var(--pf-ink); }
.pr-pill.is-done { background: var(--pf-cream); color: var(--pr-indigo); }
.pr-pill.is-stopped, .pr-pill.is-ko { background: var(--pf-cream); color: #a11; }
.pr-pill.is-wait { background: #fff6dc; color: #8a6400; }
.pr-pill--format { background: var(--pr-night); color: #fff; }
.pr-pill--format.is-archive { background: var(--pr-line-2); color: var(--pr-ink-2); }
.pr-flash { display: flex; align-items: center; gap: 12px; margin-top: 20px; padding: 14px 18px;
    border-radius: var(--pr-r); font-weight: 600; font-size: 14.5px; }
.pr-flash.is-success { background: var(--pf-cream); color: var(--pf-ink); border: 1px solid #b7ebcd; }
.pr-flash.is-error { background: var(--pf-cream); color: #8a1111; border: 1px solid #f2c2c2; }
.pr-flash__ic { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.pr-flash__ic { color: inherit; }
.pr-flash.is-success .pr-flash__ic { background: #16a34a; color: #fff; }
.pr-flash.is-error .pr-flash__ic { background: #cc0000; color: #fff; }
.pr-hero { margin-top: 20px; background: var(--pr-card); border: 1px solid var(--pr-line);
    border-radius: var(--pr-r-lg); box-shadow: var(--pr-shadow); overflow: hidden; }
.pr-cover { position: relative; width: 100%; height: clamp(140px, 19vw, 236px);
    background:
        radial-gradient(ellipse at 15% 20%, rgba(255, 203, 5, .35), transparent 55%),
        radial-gradient(ellipse at 85% 80%, rgba(91, 140, 255, .45), transparent 55%),
        linear-gradient(120deg, var(--pr-night) 0%, var(--pr-indigo) 55%, #2f6fd6 100%);
    background-size: cover; background-position: center; }
.pr-cover:not(.has-image)::after { content: ""; position: absolute; right: 6%; top: 50%; width: 30%; aspect-ratio: 1; transform: translateY(-50%);
    border-radius: 50%; border: 14px solid rgba(255, 255, 255, .10);
    background: linear-gradient(transparent calc(50% - 7px), rgba(255, 255, 255, .10) calc(50% - 7px), rgba(255, 255, 255, .10) calc(50% + 7px), transparent calc(50% + 7px)); }
.pr-cover__edit { position: absolute; right: 16px; bottom: 16px; z-index: 2;
    display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px;
    border: 0; border-radius: 999px; background: rgba(13, 13, 28, .62); color: #fff; backdrop-filter: blur(6px);
    font: 700 13.5px/1 var(--pr-font); cursor: pointer; }
.pr-cover__edit svg { width: 16px; height: 16px; }
.pr-cover__edit:hover { background: rgba(13, 13, 28, .8); }
.pr-id { display: grid; grid-template-columns: auto 1fr auto; gap: 8px 28px; align-items: start;
    padding: 0 28px 22px; }
.pr-avatar { position: relative; width: 148px; height: 148px; margin-top: -64px; z-index: 1;
    border-radius: 34px; border: 6px solid var(--pr-card); background: linear-gradient(135deg, var(--pr-indigo), var(--pr-night));
    box-shadow: 0 14px 36px -12px rgba(13, 13, 28, .5); }
.pr-avatar > img { width: 100%; height: 100%; object-fit: cover; border-radius: 28px; display: block; }
.pr-avatar.is-grade { display: grid; place-items: center; }
.pr-avatar.is-grade > img { width: 78%; height: 78%; object-fit: contain; border-radius: 0; image-rendering: pixelated; }
.pr-avatar.is-premium { box-shadow: 0 0 0 3px var(--pr-gold), 0 0 26px rgba(255, 203, 5, .45), 0 14px 36px -12px rgba(13, 13, 28, .5); }
.pr-avatar.is-premium::after { content: ""; position: absolute; top: -12px; right: -12px; width: 36px; height: 36px; border-radius: 10px;
    border: 3px solid var(--pr-card); background: var(--pr-night) url("/img/elite4/e4-icon-64.png") center / cover no-repeat; }
.pr-avatar__status { position: absolute; right: -2px; bottom: -2px; width: 26px; height: 26px; border-radius: 50%;
    border: 5px solid var(--pr-card); background: #b8b8cc; }
.pr-avatar__status.is-online { background: var(--pr-green); }
.pr-id__main { min-width: 0; padding-top: 16px; }
.pr-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.pr-name { font-size: clamp(30px, 4vw, 42px); font-weight: 800; line-height: 1.02; word-break: break-word; letter-spacing: -.035em; }
.pr-tagline { margin-top: 8px; max-width: 64ch; color: var(--pr-ink-2); font-size: 15.5px; line-height: 1.5; }
.pr-tagline.is-empty { color: var(--pr-ink-3); }
.pr-facts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 12px 0 0; padding: 0; list-style: none; color: var(--pr-ink-3); font-size: 13.5px; }
.pr-facts li { display: inline-flex; align-items: center; gap: 6px; }
.pr-facts svg { width: 14px; height: 14px; }
.pr-dot { width: 8px; height: 8px; border-radius: 50%; background: #b8b8cc; display: inline-block; }
.pr-dot.is-online { background: var(--pr-green); box-shadow: 0 0 0 3px rgba(22, 163, 74, .18); }
.pr-socials { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pr-social { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 12px; border-radius: 999px; background: var(--pf-cream); color: var(--pr-indigo); font-size: 13px; font-weight: 700; text-decoration: none; }
.pr-social__ic { display: inline-flex; width: 16px; height: 16px; }
.pr-social__ic svg { width: 16px; height: 16px; }
.pr-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding-top: 18px; }
.pr-stats { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--pr-line); }
.pr-stats button { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 16px 8px;
    background: none; border: 0; border-left: 1px solid var(--pr-line); cursor: pointer; font-family: var(--pr-font); color: var(--pr-ink); }
.pr-stats button:first-child { border-left: 0; }
.pr-stats button:hover { background: var(--pr-bg); }
.pr-stats b { font-size: 24px; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
.pr-stats span { font-size: 12px; color: var(--pr-ink-3); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.pr-requests { margin-top: 16px; padding: 16px 20px; background: var(--pf-cream); border: 1px solid #f5dd8a; border-radius: var(--pr-r); }
.pr-requests h2 { font-size: 16px; }
.pr-requests h2 span { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; margin-left: 6px; border-radius: 999px; background: var(--pr-night); color: #fff; font-size: 12px; }
.pr-requests__list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.pr-request { display: flex; align-items: center; gap: 12px; padding: 8px 10px; background: var(--pf-white); border-radius: 12px; }
.pr-request__av { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--pr-indigo); color: #fff; font-weight: 800; flex-shrink: 0; }
.pr-request__who { flex: 1; min-width: 0; }
.pr-request__who a { font-weight: 700; color: var(--pr-ink); text-decoration: none; }
.pr-request__who small { display: block; color: var(--pr-ink-3); font-size: 12px; }
.pr-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; margin-top: 24px; align-items: start; }
.pr-main { min-width: 0; }
.pr-rail { display: grid; gap: 16px; position: sticky; top: calc(var(--pl-nav-h, 66px) + 16px); }
.pr-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; margin-bottom: 16px; padding: 5px;
    background: var(--pr-card); border: 1px solid var(--pr-line); border-radius: 999px; }
.pr-tabs::-webkit-scrollbar { display: none; }
.pr-tab { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 16px;
    border: 0; border-radius: 999px; background: none; cursor: pointer;
    font: 700 14px/1 var(--pr-font); color: var(--pr-ink-2); }
.pr-tab small { font-size: 11.5px; padding: 3px 7px; border-radius: 999px; background: var(--pr-line-2); color: var(--pr-ink-3); }
.pr-tab:hover { background: var(--pr-bg); }
.pr-tab.is-on { background: var(--pr-night); color: #fff; }
.pr-tab.is-on small { background: rgba(255, 255, 255, .18); color: #fff; }
.pr-pane { display: none; }
.pr-pane.is-on { display: block; animation: pr-in .18s ease; }
@keyframes pr-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.pr-pane__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.pr-pane__head h2 { font-size: 20px; }
.pr-pane__head > span { color: var(--pr-ink-3); font-size: 13.5px; }
.pr-card { background: var(--pr-card); border: 1px solid var(--pr-line); border-radius: var(--pr-r-lg); padding: 22px; }
.pr-pane > .pr-card + .pr-card { margin-top: 16px; }
.pr-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.pr-card__head .pr-card__title { margin-bottom: 0; }
.pr-card__title { font-size: 17px; font-weight: 800; margin-bottom: 12px; }
.pr-subtitle { font-size: 14px; margin: 20px 0 10px; }
.pr-card--danger { border-color: #f2c2c2; }
.pr-card--modo { border-style: dashed; border-color: #c9b6ff; }
.pr-empty { padding: 36px 24px; text-align: center; background: var(--pr-card); border: 1px dashed var(--pr-line); border-radius: var(--pr-r-lg); }
.pr-empty strong { display: block; font-size: 16px; margin-bottom: 6px; }
.pr-empty p { color: var(--pr-ink-3); font-size: 14px; }
.pr-feed { list-style: none; margin: 0; padding: 0 0 0 18px; position: relative; display: grid; gap: 10px; }
.pr-feed::before { content: ""; position: absolute; left: 5px; top: 10px; bottom: 10px; width: 2px; background: var(--pr-line); }
.pr-feed__item { position: relative; }
.pr-feed__ic { position: absolute; left: -18px; top: 18px; width: 12px; height: 12px; border-radius: 50%; border: 3px solid var(--pr-bg); background: var(--pr-indigo); }
.pr-feed__item.is-fanfic .pr-feed__ic { background: #db2777; }
.pr-feed__item.is-team .pr-feed__ic { background: var(--pr-yellow); }
.pr-feed__card { display: grid; gap: 4px; padding: 14px 16px; background: var(--pr-card); border: 1px solid var(--pr-line); border-radius: var(--pr-r);
    color: var(--pr-ink); text-decoration: none; transition: border-color .12s ease, box-shadow .12s ease; }
.pr a.pr-feed__card { color: var(--pr-ink); }
.pr-feed__card:hover { border-color: var(--pr-indigo); box-shadow: var(--pr-shadow); }
.pr-feed__head { font-size: 14.5px; line-height: 1.4; }
.pr-feed__verb { color: var(--pr-ink-3); }
.pr-feed__excerpt { color: var(--pr-ink-2); font-size: 13.5px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pr-feed__meta { color: var(--pr-ink-3); font-size: 12.5px; }
.pr-list { display: grid; gap: 10px; }
.pr-post { display: grid; gap: 4px; padding: 14px 18px; background: var(--pr-card); border: 1px solid var(--pr-line); border-radius: var(--pr-r);
    text-decoration: none; transition: border-color .12s ease; }
.pr a.pr-post { color: var(--pr-ink); }
.pr-post:hover { border-color: var(--pr-indigo); }
.pr-post__where { font-size: 12px; font-weight: 700; color: var(--pr-indigo); text-transform: uppercase; letter-spacing: .05em; }
.pr-post__title { font-size: 16px; font-weight: 800; }
.pr-post__excerpt { font-size: 13.5px; color: var(--pr-ink-2); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pr-fics { display: grid; gap: 10px; }
.pr-fic { display: grid; grid-template-columns: 56px 1fr auto; gap: 14px; align-items: center; padding: 12px 16px;
    background: var(--pr-card); border: 1px solid var(--pr-line); border-radius: var(--pr-r); text-decoration: none; }
.pr a.pr-fic { color: var(--pr-ink); }
.pr-fic:hover { border-color: var(--pr-indigo); }
.pr-fic__cover { display: grid; place-items: center; width: 56px; height: 72px; border-radius: 8px 12px 12px 8px;
    background: linear-gradient(150deg, hsl(var(--h) 70% 52%), hsl(calc(var(--h) + 40) 65% 32%));
    color: #fff; font-size: 24px; font-weight: 800; box-shadow: inset 4px 0 0 rgba(0, 0, 0, .18); }
.pr-fic__body { display: grid; gap: 3px; min-width: 0; }
.pr-fic__title { font-weight: 800; font-size: 15.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-fic__meta, .pr-fic__when { font-size: 13px; color: var(--pr-ink-3); }
.pr-teams { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.pr-team { display: grid; gap: 10px; padding: 14px; background: var(--pr-card); border: 1px solid var(--pr-line); border-radius: var(--pr-r);
    text-decoration: none; transition: border-color .12s ease, transform .12s ease; }
.pr a.pr-team { color: var(--pr-ink); }
.pr-team:hover { border-color: var(--pr-indigo); transform: translateY(-2px); }
.pr-team.is-disabled { opacity: .6; }
.pr-team__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 22px; }
.pr-team__mons { display: grid; grid-template-columns: repeat(6, 1fr); gap: 2px; padding: 6px; background: var(--pr-bg); border-radius: 12px; }
.pr-team__mons img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.pr-team__name { font-weight: 800; font-size: 15.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-team__meta { font-size: 12.5px; color: var(--pr-ink-3); }
.pr .tt-stars { display: inline-flex; gap: 1px; font-size: 15px; line-height: 1; }
.pr .tt-stars i { font-style: normal; color: #d9d9e6; }
.pr .tt-stars i.is-on { color: #e6b600; }
.pr .tt-chip { white-space: nowrap; display: inline-flex; align-items: center; min-height: 22px; padding: 0 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; background: #fff6dc; color: #8a6400; }
.pr-bio { font-size: 15px; line-height: 1.65; color: var(--pr-ink-2); overflow-wrap: anywhere; }
.pr-bio img { max-width: 100%; height: auto; }
.pr-facts-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin: 0; }
.pr-facts-grid div { padding: 12px 14px; background: var(--pr-bg); border-radius: 12px; }
.pr-facts-grid dt { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--pr-ink-3); }
.pr-facts-grid dd { margin: 4px 0 0; font-weight: 700; font-size: 14.5px; }
.pr-codes { display: grid; gap: 8px; }
.pr-code { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--pr-bg); border-radius: 12px; font-size: 14px; }
.pr-code img { width: 24px; height: 24px; }
.pr-code code { margin-left: auto; font-weight: 700; font-size: 14px; letter-spacing: .04em; }
.pr-rail .pr-card { padding: 18px; }
.pr-rail .pr-card__title { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--pr-ink-3); }
.pr-premium { background: radial-gradient(circle at 100% 0%, rgba(255, 203, 5, .22), transparent 55%), linear-gradient(160deg, var(--pr-night), #1f3a6e);
    border-color: var(--pr-gold); color: #e8ecf6; }
.pr-premium__head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.pr-premium__head img { width: 44px; height: 44px; border-radius: 12px; }
.pr-premium__head span { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: rgba(232, 236, 246, .7); }
.pr-premium__head b { display: block; font-size: 21px; font-weight: 800; color: var(--pr-gold); letter-spacing: -.02em; }
.pr-premium p { font-size: 13.5px; line-height: 1.5; }
.pr-premium p b { color: #fff; }
.pr .pr-premium a { display: inline-block; margin-top: 10px; color: var(--pr-yellow); font-weight: 700; font-size: 13.5px; text-decoration: none; }
.pr-teamcard__link { display: grid; gap: 8px; text-decoration: none; }
.pr a.pr-teamcard__link { color: var(--pr-ink); }
.pr-teamcard__name { font-weight: 800; font-size: 15px; }
.pr-teamcard__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pr-friends { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px 6px; margin-bottom: 12px; }
.pr-friend { display: grid; justify-items: center; gap: 5px; text-decoration: none; min-width: 0; }
.pr a.pr-friend { color: var(--pr-ink-2); }
.pr-friend__av { position: relative; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px;
    background: linear-gradient(135deg, var(--pr-indigo), var(--pr-night)); color: #fff; font-weight: 800; font-size: 18px; }
.pr-friend__av img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; }
.pr-friend__av i { position: absolute; right: -2px; bottom: -2px; width: 14px; height: 14px; border-radius: 50%; border: 3px solid var(--pr-card); background: var(--pr-green); }
.pr-friend__name { max-width: 100%; font-size: 12px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-form { display: grid; gap: 16px; }
.pr-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.pr-field { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.pr-field > span, .pr-field > legend { font-size: 13px; font-weight: 700; color: var(--pr-ink-2); padding: 0; }
.pr-field small { font-size: 12.5px; color: var(--pr-ink-3); }
.pr-field input[type="text"], .pr-field input[type="email"], .pr-field input[type="password"], .pr-field select, .pr-field textarea { width: 100%; min-height: 44px; padding: 10px 14px; border: 1.5px solid var(--pr-line); border-radius: 12px;
    background: var(--pf-white); font: 500 15px/1.4 var(--pr-font); color: var(--pr-ink); }
.pr-field textarea { resize: vertical; min-height: 120px; }
.pr-field input:focus, .pr-field select:focus, .pr-field textarea:focus { outline: none; border-color: var(--pr-indigo); box-shadow: 0 0 0 3px rgba(27, 42, 134, .15); }
.pr-field--inline { display: inline-grid; }
.pr-field input[type="color"] { width: 64px; height: 40px; padding: 2px; border: 1.5px solid var(--pr-line); border-radius: 10px; background: var(--pf-white); cursor: pointer; }
.pr-field input[type="range"] { width: 160px; accent-color: var(--pr-indigo); }
.pr-radios, .pr-checks { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.pr-radios label, .pr-check { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; cursor: pointer; }
.pr-radios input, .pr-check input { width: 18px; height: 18px; accent-color: var(--pr-indigo); }
.pr-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pr-choice { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.pr-choice__opt { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1.5px solid var(--pr-line); border-radius: 14px; cursor: pointer; }
.pr-choice__opt:has(input:checked) { border-color: var(--pr-indigo); box-shadow: 0 0 0 3px rgba(27, 42, 134, .12); }
.pr-choice__opt input { accent-color: var(--pr-indigo); }
.pr-choice__opt > span:last-child { display: grid; font-weight: 700; font-size: 14.5px; }
.pr-choice__opt small { font-weight: 500; color: var(--pr-ink-3); font-size: 12.5px; }
.pr-choice__img { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; overflow: hidden; background: linear-gradient(135deg, var(--pr-indigo), var(--pr-night)); color: #fff; font-weight: 800; flex-shrink: 0; }
.pr-choice__img img { width: 100%; height: 100%; object-fit: cover; }
.pr-choice__img.is-grade img { width: auto; height: auto; image-rendering: pixelated; }
.pr-avlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.pr-av { margin: 0; display: grid; gap: 6px; font-size: 12.5px; }
.pr-av img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--pr-bg); border-radius: 12px; }
.pr-av figcaption { display: grid; gap: 4px; justify-items: start; }
.pr-presets { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin-top: 14px; }
.pr-presets .pr-form-actions { grid-column: 1 / -1; margin-top: 4px; }
.pr-preset { position: relative; display: grid; gap: 6px; cursor: pointer; }
.pr-preset input { position: absolute; opacity: 0; pointer-events: none; }
.pr-preset__img { display: block; aspect-ratio: 4 / 1; border-radius: 12px; border: 2px solid transparent;
    background: linear-gradient(120deg, var(--from), var(--to)); background-size: cover; background-position: center;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08); }
.pr-preset__label { font-size: 13px; font-weight: 700; color: var(--pr-ink-2); }
.pr-preset:hover .pr-preset__img { border-color: var(--pr-line); }
.pr-preset:has(input:checked) .pr-preset__img, .pr-preset.is-on .pr-preset__img { border-color: var(--pr-night); box-shadow: 0 0 0 3px var(--pr-yellow); }
.pr-preset input:focus-visible + .pr-preset__img { outline: 3px solid var(--pr-yellow); outline-offset: 2px; }
.pr-creator { margin-top: 22px; padding: 18px; border-radius: 18px; background: var(--pr-bg); border: 1px solid var(--pr-line); display: grid; gap: 14px; }
.pr-creator.is-locked { background: linear-gradient(135deg, #fffbeb, #fff); border-color: #f5dd8a; }
.pr-creator.is-locked .pr-btn { justify-self: start; }
.pr-creator__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.pr-creator__head h3 { font-size: 16px; }
.pr-creator__modes { display: inline-flex; gap: 4px; padding: 4px; background: var(--pf-white); border: 1px solid var(--pr-line); border-radius: 999px; justify-self: start; }
.pr-creator__modes button { min-height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: none; font: 700 13.5px/1 var(--pr-font); color: var(--pr-ink-2); cursor: pointer; }
.pr-creator__modes button.is-on { background: var(--pr-night); color: #fff; }
.pr-creator__canvas { width: 100%; aspect-ratio: 4 / 1; height: auto; border-radius: 14px; background: #ccd; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); }
.pr-creator__form { display: grid; gap: 14px; }
.pr-creator__controls { display: flex; flex-wrap: wrap; align-items: end; gap: 14px 20px; }
.pr-creator__controls[hidden] { display: none; }
.pr-file { position: relative; display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 999px; background: var(--pf-white); border: 1.5px dashed var(--pr-indigo); color: var(--pr-indigo); font-weight: 700; font-size: 14px; cursor: pointer; }
.pr-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pr-color { display: grid; gap: 14px; }
.pr-color__preview { font-size: 15px; }
.pr-color__preview b { font-size: 22px; font-weight: 800; }
.pr-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.pr-swatches button { width: 34px; height: 34px; border-radius: 50%; border: 3px solid var(--pf-border); background: var(--c); box-shadow: 0 0 0 1px var(--pr-line); cursor: pointer; }
.pr-swatches button:hover, .pr-swatches button.is-on { box-shadow: 0 0 0 2px var(--pr-night); }
.pr-socgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin-top: 12px; }
.pr-soc { display: grid; gap: 10px; align-content: start; padding: 14px; border: 1px solid var(--pr-line); border-radius: 14px; }
.pr-soc__head { display: flex; gap: 10px; align-items: center; }
.pr-soc__head small { display: block; color: var(--pr-ink-3); font-size: 12.5px; }
.pr-soc__ic { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--pr-bg); flex-shrink: 0; }
.pr-soc__ic svg { width: 20px; height: 20px; }
.pr-soc form { margin: 0; }
.pr-toast { position: fixed; left: 50%; bottom: 24px; z-index: 50; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
    padding: 12px 18px; border-radius: 999px; background: var(--pr-night); color: #fff; font-weight: 600; font-size: 14px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25); transition: opacity .2s ease, transform .2s ease; }
.pr-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.pr-empty-page { padding: 64px var(--pl-gutter, 20px); }
.pr-empty-card { max-width: 520px; margin: 0 auto; padding: 36px; text-align: center; background: var(--pr-card); border: 1px solid var(--pr-line); border-radius: 22px; display: grid; gap: 10px; justify-items: center; font-family: var(--pr-font); }
.pr-kicker { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--pr-ink-3); }
.pr-empty-card h1 { font-size: 28px; }
@media (max-width: 1080px) {
  .pr-layout { grid-template-columns: 1fr; }
  .pr-rail { position: static; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
  .pr-id { grid-template-columns: auto 1fr; }
  .pr-actions { grid-column: 1 / -1; justify-content: flex-start; padding-top: 4px; }
}
@media (max-width: 640px) {
  .pr-hero { margin-top: 12px; border-radius: 18px; }
  .pr-cover { min-height: 110px; }
  .pr-id { grid-template-columns: 1fr; padding: 0 16px 16px; }
  .pr-avatar { width: 104px; height: 104px; margin-top: -52px; border-radius: 26px; border-width: 5px; }
  .pr-avatar > img { border-radius: 21px; }
  .pr-avatar.is-premium::after { width: 28px; height: 28px; top: -9px; right: -9px; border-radius: 8px; }
  .pr-id__main { padding-top: 0; }
  .pr-cover__edit { right: 10px; bottom: 10px; min-height: 34px; font-size: 12.5px; }
  .pr-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .pr-stats button { padding: 12px 2px; }
  .pr-stats b { font-size: 18px; }
  .pr-stats span { font-size: 10px; letter-spacing: .02em; }
  .pr-card { padding: 16px; }
  .pr-fic { grid-template-columns: 44px 1fr; }
  .pr-fic__cover { width: 44px; height: 58px; font-size: 18px; }
  .pr-fic .pr-pill { grid-column: 2; justify-self: start; }
  .pr-friends { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pr-field input[type="range"] { width: 130px; }
}
.ml { padding: 8px 0 0; color: var(--pf-ink); }
.ml a { text-decoration: none; color: inherit; }
.ml-hero { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 28px; padding: 6px 0 22px; }
.ml-kicker { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--e4-gold-deep); }
.ml-hero p { margin: 0; max-width: 60ch; font-size: 15.5px; line-height: 1.6; color: var(--pf-ink-light); }
.ml-stats { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ml-stats li { display: flex; flex-direction: column; min-width: 112px; padding: 12px 16px; border: 1px solid var(--pf-border); border-radius: var(--pf-r-md); background: var(--pf-white); }
.ml-stats b { display: inline-flex; align-items: center; font-size: 22px; font-weight: 700; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.ml-stats span { font-size: 12.5px; color: var(--pf-ink-light); }
.ml-dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #3ECF8E; box-shadow: 0 0 0 3px rgba(62, 207, 142, .22); }
.ml-search { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; padding: 8px; border: 1px solid var(--pf-border); border-radius: var(--pf-r-full); background: var(--pf-white); box-shadow: var(--pf-shadow-sm); }
.ml-search__ico { position: absolute; left: 22px; top: 50%; transform: translateY(-50%); color: var(--pf-ink-faint); pointer-events: none; }
.ml-search input[type="search"] { min-width: 0; height: 44px; padding: 0 16px 0 44px; border: 0; border-radius: var(--pf-r-full); background: var(--pf-cream); color: var(--pf-ink); font: 500 15px var(--pf-font); }
.ml-search input[type="search"]:focus { outline: 2px solid var(--pf-ink); background: var(--pf-white); }
.ml-search select { height: 44px; padding: 0 14px; border: 1px solid var(--pf-border); border-radius: var(--pf-r-full); background: var(--pf-white); color: var(--pf-ink-mid); font: 600 13.5px var(--pf-font); }
.ml-search button { height: 44px; padding: 0 22px; border: 0; border-radius: var(--pf-r-full); background: var(--pf-yellow); color: var(--pfb-noir); font: 700 14px var(--pf-font); cursor: pointer; }
.ml-search button:hover { background: var(--pf-yellow-dark); }
.ml-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin: 16px 0 0; }
.ml-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ml-chips a { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid var(--pf-border); border-radius: var(--pf-r-full); background: var(--pf-white); color: var(--pf-ink-mid) !important; font-size: 13px; font-weight: 600; }
.ml-chips a:hover { border-color: var(--pf-ink); color: var(--pf-ink) !important; }
.ml-chips a.is-active { border-color: var(--pf-ink); background: var(--pf-ink); color: var(--pfb-fond) !important; }
.ml-chips--sort span { margin-right: 4px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pf-ink-faint); }
.ml-chips--sort a { height: 30px; padding: 0 11px; font-size: 12.5px; }
.ml-chips--sort a.is-active { background: var(--pf-yellow); border-color: var(--pf-yellow); color: var(--pfb-noir) !important; }
.ml-sec { padding: 30px 0 0; }
.ml-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 6px 20px; margin-bottom: 16px; }
.ml-head p { margin: 3px 0 0; font-size: 14px; color: var(--pf-ink-light); }
.ml-head p a { color: var(--pf-blue) !important; font-weight: 600; }
.ml-head > a { font-size: 13px; font-weight: 700; color: var(--pf-ink-light) !important; }
.ml-head > a:hover { color: var(--pf-ink) !important; }
.ml-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 12px; }
.ml-card { position: relative; display: grid; justify-items: center; align-content: start; gap: 4px; padding: 20px 12px 16px; border: 1px solid var(--pf-border); border-radius: var(--pf-r-md); background: var(--pf-white); text-align: center; transition: transform .2s cubic-bezier(.16, 1, .3, 1), box-shadow .2s, border-color .2s; }
.ml-card:hover { transform: translateY(-4px); box-shadow: var(--pf-shadow-lg); border-color: transparent; }
.ml-card__av { position: relative; margin-bottom: 8px; }
.ml-av { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; font-size: 28px; font-weight: 700; color: #fff; background: var(--e4-indigo); box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--pf-border-light); }
.ml-av--grade { background: var(--pf-cream); overflow: hidden; }
.ml-av--grade img { max-width: 64px; max-height: 64px; image-rendering: auto; }
.ml-av--c0 { background: var(--pfb-graphite); }
.ml-av--c1 { background: #CC0000; }
.ml-av--c2 { background: #16A34A; }
.ml-av--c3 { background: #9141CB; }
.ml-av--c4 { background: #E6B600; color: var(--pfb-noir); }
.ml-av--c5 { background: #2980EF; }
.ml-card__online { position: absolute; right: 2px; bottom: 4px; width: 16px; height: 16px; border: 3px solid var(--pf-border); border-radius: 50%; background: #3ECF8E; }
.ml-card__name { max-width: 100%; font-size: 15.5px; font-weight: 700; letter-spacing: -.02em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ml-card__badge { line-height: 1; }
.ml-card__rank { padding: 2px 9px; border-radius: var(--pf-r-full); background: var(--e4-night); color: var(--e4-gold); font-size: 11px; font-weight: 700; line-height: 1.5; }
.ml-card__grade { font-size: 12.5px; font-weight: 600; color: var(--pf-ink-mid); }
.ml-card__since { font-size: 11.5px; color: var(--pf-ink-faint); }
.ml-card__note { font-size: 11.5px; font-style: italic; color: var(--pf-red); }
.ml-card__modo { margin-top: 4px; padding: 3px 8px; border-radius: 6px; background: var(--pf-cream); font: 600 10.5px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--pf-ink-light); }
.ml-card--staff { background: linear-gradient(180deg, var(--e4-indigo-soft), #fff 60%); border-color: var(--e4-line); }
.ml-card--pending { opacity: .8; }
.ml-card--pending .ml-card__name { font-style: italic; }
.ml-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 26px 0 0; }
.ml-pager a, .ml-pager span { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--pf-border); border-radius: var(--pf-r-full); background: var(--pf-white); color: var(--pf-ink-mid) !important; font-size: 13.5px; font-weight: 600; }
.ml-pager a:hover { border-color: var(--pf-ink); }
.ml-pager .is-current { background: var(--pf-ink); border-color: var(--pf-ink); color: var(--pfb-fond) !important; }
.ml-empty { padding: 36px 20px; border: 1px dashed var(--pf-border); border-radius: var(--pf-r-md); background: var(--pf-white); text-align: center; color: var(--pf-ink-light); }
.ml-empty p { margin: 0 0 8px; }
.ml-btn { display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 20px; border-radius: var(--pf-r-full); background: var(--pf-ink); color: var(--pfb-fond) !important; font: 700 14px var(--pf-font); white-space: nowrap; }
.ml-btn--yellow { background: var(--pf-ink); }
.ml-join { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 32px; padding: 22px 26px; border-radius: var(--pf-r-lg); background: var(--pf-yellow); }
.ml-join div { display: grid; gap: 3px; }
.ml-join b { font-size: 19px; letter-spacing: -.03em; }
.ml-join span { font-size: 14px; color: var(--pf-ink-mid); }
@media (max-width: 760px) {
  .ml-hero { align-items: flex-start; }
  .ml-stats { width: 100%; }
  .ml-stats li { flex: 1; min-width: 0; padding: 10px 12px; }
  .ml-stats b { font-size: 19px; }
  .ml-search { grid-template-columns: minmax(0, 1fr) auto; border-radius: var(--pf-r-lg); }
  .ml-search__ico { top: 30px; }
  .ml-search input[type="search"] { grid-column: 1 / -1; }
  .ml-search select { grid-row: 2; grid-column: 1; }
  .ml-search button { grid-row: 2; grid-column: 2; }
  .ml-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ml-av { width: 60px; height: 60px; font-size: 24px; }
  .ml-chips--sort span { display: none; }
}
