/* D1 — the owner's design pass. Brand marks, + New, spring menus, search, the
   compose bar, the continuous stream, the server rail and live pill, the
   Screening Room wall, the peek ring. Motion here is transform / opacity /
   filter; the only exceptions are the + New charge ring (stroke-dashoffset,
   the dial's own hold) — the motion ruling allows the glow only on New/charge
   and progress elements. Reduced motion: fades only. No inline styles. */

/* ---------- Brand ---------- */
.pk-wordmark { gap: 9px; }
.pk-mark { width: 30px; height: 30px; border-radius: 0; filter: drop-shadow(0 0 6px rgba(255, 106, 43, .35)); }
.pk-wordmark:hover .pk-mark { transform: translateY(-1px) scale(1.06); filter: drop-shadow(0 0 10px rgba(255, 106, 43, .6)); }
.pk-cinemaos-mark { display: block; border-radius: 22%; object-fit: cover; }
/* Part of cinemaOS: one compact row, aligned with the nav items; the hover brightens the text only. */
.pk-rail-brand { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 10px 12px; color: #a9adae; font-size: 13px; line-height: 1; text-decoration: none; border-radius: 9px; transition: color var(--pk-dur-fast, 120ms) ease; }
.pk-rail-brand .pk-cinemaos-mark { flex: none; width: 28px; height: 28px; }
.pk-rail-brand-text { display: inline; white-space: nowrap; font-size: 13px; line-height: 1; }
.pk-rail-brand-text strong { display: inline; color: #d4d7d7; font-size: 13px; font-weight: 700; transition: color var(--pk-dur-fast, 120ms) ease; }
.pk-rail-brand:hover, .pk-rail-brand:focus-visible { color: #f3f1ee; background: transparent; }
.pk-rail-brand:hover .pk-rail-brand-text strong, .pk-rail-brand:focus-visible .pk-rail-brand-text strong { color: #fff; }
@media (max-width: 1050px) { .pk-rail-brand { padding-inline: 10px; } .pk-rail-brand-text { display: none; } }
.pk-official-mark { display: inline-flex; align-items: center; gap: 5px; margin-left: 8px; padding: 2px 8px; border: 1px solid #6a3a31; border-radius: 999px; background: rgba(240, 68, 46, .12); color: #ffb4a6; font-size: 11px; font-weight: 700; letter-spacing: .04em; line-height: 1.3; vertical-align: middle; white-space: nowrap; }
.pk-official-mark::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--pk-accent); }
h1 .pk-official-mark { position: relative; top: -4px; font-size: 12px; }

/* ---------- + New: plus → film frame with a spark; charge ring while held; burst after a publish ---------- */
.pk-top .pk-create-action { position: relative; gap: 7px; padding-inline: 9px 14px; overflow: hidden; border-radius: 999px; background: linear-gradient(135deg, #ff5a3c, #d92d18 70%); border-color: #ff7a5e; color: #fff; box-shadow: 0 6px 18px rgba(217, 45, 24, .28); }
.pk-top .pk-create-action:hover:not(:disabled) { background: linear-gradient(135deg, #ff6a4c, #e2321b 70%); box-shadow: 0 8px 24px rgba(217, 45, 24, .42); }
.pk-top .pk-create-action::after { content: ""; position: absolute; top: -40%; bottom: -40%; left: -30%; width: 40%; background: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, .28) 50%, transparent 100%); transform: translateX(-120%) skewX(-18deg); opacity: 0; pointer-events: none; }
@media (hover: hover) { .pk-top .pk-create-action:hover::after { animation: pk-new-sweep .7s cubic-bezier(.2, .8, .2, 1) both; } }
@keyframes pk-new-sweep { from { transform: translateX(-120%) skewX(-18deg); opacity: 0; } 30% { opacity: 1; } to { transform: translateX(420%) skewX(-18deg); opacity: 0; } }
.pk-new { position: relative; display: grid; place-items: center; width: 24px; height: 24px; flex: none; }
.pk-new-svg { width: 24px; height: 24px; overflow: visible; }
.pk-new-svg > * { transform-box: fill-box; transform-origin: center; }
.pk-new-plus { transition: transform var(--pk-dur-base, 220ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), opacity var(--pk-dur-fast, 120ms) ease; }
.pk-new-frame { opacity: 0; transform: scale(.7); transition: transform var(--pk-dur-base, 220ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), opacity var(--pk-dur-fast, 120ms) ease; }
.pk-new-sprockets { stroke-width: 2.6; }
.pk-new-spark { opacity: 0; transform: scale(.2) rotate(-45deg); transition: transform var(--pk-dur-base, 220ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), opacity var(--pk-dur-fast, 120ms) ease; }
.pk-new-ring { opacity: 0; stroke-dasharray: 88; stroke-dashoffset: 88; transform: rotate(-90deg); }
@media (hover: hover) {
  .pk-create-action:hover .pk-new-plus, .pk-mobile-create:hover .pk-new-plus, .pk-create-action:focus-visible .pk-new-plus { transform: rotate(90deg) scale(.35); opacity: 0; }
  .pk-create-action:hover .pk-new-frame, .pk-mobile-create:hover .pk-new-frame, .pk-create-action:focus-visible .pk-new-frame { opacity: 1; transform: scale(1); transition-delay: 60ms; }
  .pk-create-action:hover .pk-new-spark, .pk-mobile-create:hover .pk-new-spark, .pk-create-action:focus-visible .pk-new-spark { opacity: 1; transform: scale(.85) rotate(0deg); transition-delay: 110ms; }
  .pk-create-action:hover .pk-new, .pk-mobile-create:hover .pk-new { filter: drop-shadow(0 0 6px rgba(255, 255, 255, .55)); }
}
/* Charging (the dial's hold): the ring counts the hold down. The same class lands on every trigger. */
[data-momentum-dial-trigger].is-charging .pk-new-ring, .pk-compose-dial.is-charging .pk-dial-glyph circle:first-child { opacity: 1; animation: pk-new-charge 220ms linear forwards; }
[data-momentum-dial-trigger].is-charging .pk-new-plus { transform: scale(.85); }
@keyframes pk-new-charge { to { stroke-dashoffset: 0; } }
.pk-compose-dial .pk-dial-glyph circle:first-child { stroke-dasharray: 58; stroke-dashoffset: 0; transform: rotate(-90deg); transform-box: fill-box; transform-origin: center; }
.pk-compose-dial.is-charging .pk-dial-glyph circle:first-child { stroke-dashoffset: 58; animation: pk-glyph-charge 220ms linear forwards; stroke: #ff8a72; }
@keyframes pk-glyph-charge { to { stroke-dashoffset: 0; } }
[data-dial-peek].is-charging .pk-ico { animation: pk-peek-charge 400ms cubic-bezier(.2, .8, .2, 1) both; }
@keyframes pk-peek-charge { from { transform: scale(1); } 60% { transform: scale(1.18); } to { transform: scale(1.1); filter: drop-shadow(0 0 6px rgba(255, 90, 66, .7)); } }
[data-dial-peek] { -webkit-touch-callout: none; touch-action: none; }
/* The burst: six dots leave the button once. */
.pk-new-burst { position: absolute; inset: 0; pointer-events: none; }
.pk-new-burst i { position: absolute; left: 50%; top: 50%; width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; border-radius: 50%; background: #fff; opacity: 0; }
.is-burst .pk-new-burst i { animation: pk-burst-dot .9s cubic-bezier(.2, .8, .2, 1) both; }
.is-burst .pk-new-burst i:nth-child(1) { --pk-bx: 0; --pk-by: -22px; }
.is-burst .pk-new-burst i:nth-child(2) { --pk-bx: 19px; --pk-by: -11px; }
.is-burst .pk-new-burst i:nth-child(3) { --pk-bx: 19px; --pk-by: 11px; }
.is-burst .pk-new-burst i:nth-child(4) { --pk-bx: 0; --pk-by: 22px; }
.is-burst .pk-new-burst i:nth-child(5) { --pk-bx: -19px; --pk-by: 11px; }
.is-burst .pk-new-burst i:nth-child(6) { --pk-bx: -19px; --pk-by: -11px; }
@keyframes pk-burst-dot { 0% { opacity: 0; transform: translate(0, 0) scale(.4); } 15% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--pk-bx, 0), var(--pk-by, 0)) scale(.2); } }
.is-burst .pk-new-svg { animation: pk-burst-pop .5s cubic-bezier(.2, .8, .2, 1); }
@keyframes pk-burst-pop { 40% { transform: scale(1.25); } }
.pk-mobile-nav .pk-mobile-create .pk-new { width: 28px; height: 28px; }
.pk-mobile-nav .pk-mobile-create .pk-new-svg { width: 28px; height: 28px; }

/* ---------- Spring menus (profile, Join / Sign in) ---------- */
.pk-account nav, .pk-join-menu nav { transform-origin: top right; animation: pk-spring-in 320ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)) both; }
.pk-account.is-closing nav, .pk-join-menu.is-closing nav { animation: pk-spring-out 140ms ease-in both; }
@keyframes pk-spring-in { 0% { opacity: 0; transform: translateY(-8px) scale(.94); } 60% { opacity: 1; transform: translateY(2px) scale(1.015); } 100% { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes pk-spring-out { to { opacity: 0; transform: translateY(-6px) scale(.97); } }
.pk-account nav { gap: 2px; padding: 8px; border-radius: 14px; }
.pk-account nav a, .pk-account nav button { gap: 10px; border-radius: 9px; }
.pk-account nav a:focus-visible, .pk-account nav button:focus-visible, .pk-join-menu nav a:focus-visible { outline: 2px solid #ef715c; outline-offset: -2px; background: #272b2c; }
.pk-account nav a .pk-ico { width: 16px; height: 16px; color: #9aa0a1; }
.pk-account nav form { display: contents; }
.pk-account nav .fs-button { justify-content: flex-start; width: 100%; padding: 8px 10px; background: transparent; border: 0; color: #e9ebea; font-weight: 600; font-size: 13px; box-shadow: none; }
.pk-account nav .fs-button:hover { background: #272b2c; transform: none; }
.pk-account summary::-webkit-details-marker { display: none; }
.pk-account summary { transition: background-color var(--pk-dur-fast, 120ms) ease; }
.pk-account summary:focus-visible { outline: 2px solid #ef715c; outline-offset: 2px; }
.pk-account-name::after { display: inline-block; transition: transform var(--pk-dur-base, 220ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)); }
.pk-account[open] .pk-account-name::after { transform: rotate(180deg) translateY(1px); }
.pk-join-menu nav { animation-name: pk-spring-in; }

/* ---------- Search: the combobox ---------- */
.pk-top .pk-search { max-width: 520px; }
.pk-search-ghost { position: absolute; left: 39px; top: 50%; z-index: 1; max-width: calc(100% - 52px); overflow: hidden; color: #6f7677; font-size: 13px; line-height: 1; white-space: pre; transform: translateY(-50%); pointer-events: none; }
.pk-search-ghost:empty { display: none; }
.pk-search-close, .pk-search-open { display: none; }
.pk-top .pk-search .pk-control { position: relative; z-index: 2; background: transparent; }
.pk-top .pk-search::before { content: ""; position: absolute; inset: 0; z-index: 0; border-radius: 9px; background: #16191a; }
.pk-search.is-open::before { background: #191d1e; }
#suggest-results { max-height: min(70vh, 560px); overflow-y: auto; }
#suggest-results:not([hidden]) { transform-origin: top; animation: pk-spring-in 300ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)) both; }
#suggest-results > .pk-suggest-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 9px 4px; color: #8f9596; font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
#suggest-results > .pk-suggest-head + .pk-suggest-head { display: none; }
.pk-suggest-clear { padding: 2px 6px; border: 0; border-radius: 6px; background: transparent; color: #aeb4b4; font: 600 11px var(--fs-font); letter-spacing: 0; text-transform: none; cursor: pointer; }
.pk-suggest-clear:hover { color: #fff; background: #2b3131; }
#suggest-results > .pk-suggest-row { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 6px 9px; border-radius: 8px; color: #f5f5f3; font-size: 13px; text-decoration: none; }
#suggest-results > .pk-suggest-row.is-active, #suggest-results > .pk-suggest-row:hover { background: #2b3131; }
#suggest-results > .pk-suggest-row .pk-avatar { width: 32px; height: 32px; flex: none; }
.pk-suggest-thumb { width: 40px; height: 40px; flex: none; border-radius: 6px; object-fit: cover; background: #1b1f20; }
.pk-suggest-text { display: grid; min-width: 0; gap: 1px; line-height: 1.25; }
.pk-suggest-text strong { display: flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; font-size: 13px; font-weight: 650; white-space: nowrap; text-overflow: ellipsis; }
.pk-suggest-text small { overflow: hidden; color: #aeb4b4; font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.pk-suggest-text mark { background: transparent; color: #ffb4a6; font-weight: 800; }
.pk-suggest-following { padding: 1px 6px; border: 1px solid #3b4041; border-radius: 999px; color: #c9d1d2; font-size: 10px; font-weight: 600; }
.pk-suggest-text .pk-official-mark { margin-left: 0; font-size: 10px; padding: 1px 6px; }
.pk-suggest-icon { display: grid; place-items: center; width: 32px; height: 32px; flex: none; border-radius: 50%; background: #262b2c; color: #c3c7c7; font-size: 13px; font-weight: 700; }
.pk-suggest-icon--server { border-radius: 10px; }
.pk-suggest-icon--clock::before, .pk-suggest-icon--go::before, .pk-suggest-icon--search::before, .pk-suggest-icon--post::before { content: ""; width: 14px; height: 14px; border: 1.8px solid currentColor; border-radius: 50%; }
.pk-suggest-icon--go::before { border-radius: 3px; transform: rotate(45deg) scale(.8); }
.pk-suggest-icon--post::before { border-radius: 3px; }
.pk-suggest-icon--search::before { border-radius: 50%; box-shadow: 4px 4px 0 -2px currentColor; }
#suggest-results > .pk-search-all { margin-top: 4px; border-top: 1px solid #343b3c; border-radius: 0 0 8px 8px; color: #f5836d; }
.pk-suggest-empty { margin: 0; padding: 14px 9px; color: #aeb4b4; font-size: 13px; }
#suggest-results > .pk-search-skeleton { margin: 4px 0; }
body.pk-searching .pk-top { z-index: 60; }
@media (max-width: 759px) {
  /* One row: ☰ · logo · search icon · avatar. The field lives in the sheet; the + lives in the bottom rail. */
  .pk-top { flex-wrap: nowrap; }
  .pk-top .pk-search:not(.is-open) { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; opacity: 0; pointer-events: none; }
  .pk-top .pk-create-action { display: none; }
  .pk-top .pk-icon-action.pk-search-open { display: inline-flex !important; margin-left: auto; color: #e8ebea; }
  .pk-search-open .pk-ico { width: 22px; height: 22px; }
  .pk-top .pk-account, .pk-top .pk-join-menu { flex: none; }
  .pk-top .pk-search { order: 5; }
  .pk-search.is-open { position: fixed; top: 0; left: 0; right: 0; bottom: auto; width: 100%; height: 100vh; height: 100dvh; z-index: 80; display: grid; grid-template-rows: none; grid-auto-rows: max-content; align-content: start; gap: 8px; margin: 0; max-width: none; padding: calc(10px + env(safe-area-inset-top)) 12px 12px; overflow-y: auto; background: #0b0d0e; }
  .pk-search.is-open::before { display: none; }
  .pk-search.is-open .pk-control { min-height: 46px; padding: 10px 88px 10px 44px; border: 1px solid #2e3233; border-radius: 12px; background: #16191a; color: #f4f4f3; font-size: 16px; }
  .pk-search.is-open .pk-ico { left: 16px; width: 18px; height: 18px; margin-top: -9px; }
  .pk-search.is-open .pk-ico { top: calc(10px + env(safe-area-inset-top) + 22px); }
  .pk-search.is-open .pk-search-ghost { top: calc(10px + env(safe-area-inset-top) + 22px); left: 51px; font-size: 16px; }
  .pk-search.is-open .pk-search-close { display: inline-flex; position: absolute; right: 16px; top: calc(10px + env(safe-area-inset-top) + 2px); align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: #e8ebea; }
  .pk-search.is-open .pk-search-close .pk-icon { width: 20px; height: 20px; }
  .pk-search.is-open #suggest-results:not([hidden]) { position: static; align-content: start; max-height: none; padding: 4px 0; border: 0; background: transparent; box-shadow: none; animation: none; }
  .pk-search.is-open #suggest-results > .pk-suggest-row { min-height: 52px; font-size: 15px; }
  .pk-search.is-open .pk-suggest-text strong { font-size: 15px; }
  .pk-search.is-open .pk-suggest-text small { font-size: 12px; }
  body.pk-searching { overflow: hidden; }
}

/* ---------- "What are you creating?" ---------- */
.pk-compose { display: grid; gap: 0; }
.pk-compose-row { display: flex; align-items: center; gap: 10px; padding: 6px 0 14px; }
.pk-compose-avatar { flex: none; }
.pk-compose-avatar .pk-avatar { width: 40px; height: 40px; }
.pk-compose-prompt { flex: 1; min-width: 0; min-height: 44px; padding: 10px 16px; border: 1px solid var(--pk-border); border-radius: 999px; background: var(--pk-surface); color: var(--pk-ink); font: 15px/1.3 var(--fs-font); transition: border-color var(--pk-dur-fast, 120ms) ease, background-color var(--pk-dur-fast, 120ms) ease; }
.pk-compose-prompt::placeholder { color: #8f9596; }
.pk-compose-prompt:hover { border-color: #3d4243; background: #151819; }
.pk-compose-prompt:focus { outline: 2px solid #e95c48; outline-offset: 1px; border-color: #ef715c; }
.pk-compose-dial { display: grid; place-items: center; flex: none; width: 44px; height: 44px; padding: 0; border: 1px solid #5c2e27; border-radius: 50%; background: radial-gradient(circle at 50% 40%, #2a1512, #150c0b 70%); color: #ff7a63; cursor: pointer; transition: transform var(--pk-dur-base, 220ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), border-color var(--pk-dur-fast, 120ms) ease, box-shadow var(--pk-dur-fast, 120ms) ease; touch-action: none; -webkit-user-select: none; user-select: none; }
.pk-compose-dial .pk-dial-glyph { width: 22px; height: 22px; }
.pk-compose-dial:hover { border-color: #ff694e; box-shadow: 0 0 0 4px rgba(240, 68, 46, .12); transform: rotate(-12deg) scale(1.05); }
.pk-compose-dial:focus-visible { outline: 2px solid #e95c48; outline-offset: 2px; }
.pk-compose-dial .pk-dial-glyph-ticks { transform-box: fill-box; transform-origin: center; transition: transform var(--pk-dur-slow, 420ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)); }
.pk-compose-dial:hover .pk-dial-glyph-ticks { transform: rotate(72deg); }
.pk-compose-form { padding: 0 0 8px; }
.pk-compose-form[hidden] { display: none; }
.pk-compose.is-open .pk-compose-row { display: none; }
.pk-composer--inline { width: 100%; max-width: none; margin: 0; padding: 16px; border: 1px solid var(--pk-border); border-radius: 14px; background: var(--pk-surface); animation: pk-spring-in 320ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)) both; transform-origin: top center; }
.pk-composer-title--inline { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; color: var(--pk-muted); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.pk-composer-collapse { padding: 4px 10px; border: 1px solid var(--pk-border); border-radius: 999px; background: transparent; color: var(--pk-muted); font: 600 12px var(--fs-font); letter-spacing: 0; text-transform: none; cursor: pointer; }
.pk-composer-collapse:hover, .pk-composer-collapse:focus-visible { color: var(--pk-ink); border-color: #4a5051; }
.pk-composer--inline .pk-composer-caption { min-height: 88px; }
.pk-wall-compose { max-width: 760px; margin: 0 0 20px; }
.pk-wall-compose[hidden] { display: none; }

/* ---------- The continuous stream: flush cards, hairline separators, compact text rows ---------- */
.pk-stream .pk-post-feed { gap: 0; }
.pk-stream .pk-feed-item + .pk-feed-item { border-top: 1px solid var(--pk-border); }
.pk-stream .pk-post-card--feed { border: 0; border-radius: 0; background: transparent; }
.pk-stream .pk-post-card-head { padding: 16px 0 10px; }
.pk-stream .pk-post-reason, .pk-stream .pk-post-reshared { padding: 14px 0 0; }
.pk-stream .pk-post-reason + .pk-post-card-head, .pk-stream .pk-post-reshared + .pk-post-card-head { padding-top: 8px; }
.pk-stream .pk-post-marks { padding: 0 0 10px; }
.pk-stream .pk-media--feed { border-radius: 10px; overflow: hidden; }
.pk-stream .pk-post-card-body { padding: 12px 0 2px; }
.pk-stream .pk-post-card--text.pk-post-card--feed .pk-post-card-text { padding: 0 0 2px; }
.pk-stream .pk-post-card--text .pk-post-card-head { padding-bottom: 8px; }
.pk-stream .pk-post-text { font-size: 17px; line-height: 1.45; }
.pk-stream .pk-engage { padding: 4px 0 10px; margin: 0 -8px; }
.pk-stream .pk-hearted-by { padding: 0 0 14px; }
.pk-stream .pk-post-card--text .pk-engage { padding-top: 2px; }
.pk-stream-empty { margin: 0; padding: 22px 0; color: var(--pk-muted); font-size: 14px; line-height: 1.5; }
.pk-stream-empty a { color: var(--pk-ink); }
.pk-stream-more { margin: 14px 0 0; }
.pk-stream .pk-feed-item.pk-stream-fresh { animation: pk-fresh-in 420ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)) both; }
.pk-stream-new { position: sticky; top: calc(var(--pk-top-height) + 10px); z-index: 5; justify-self: center; margin: 0 auto 8px; padding: 8px 16px; border: 1px solid #ff694e; border-radius: 999px; background: rgba(217, 45, 24, .92); color: #fff; font: 700 13px var(--fs-font); cursor: pointer; box-shadow: 0 8px 24px rgba(0, 0, 0, .45); backdrop-filter: blur(10px); animation: pk-spring-in 320ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)) both; }
.pk-stream-new[hidden] { display: none; }
.pk-stream-new:hover { background: #d92d18; }
.pk-stream-new:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.pk-stream .pk-stream-new { align-self: start; }

/* ---------- The server rail ---------- */
.pk-server-layout { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 0 22px; align-items: start; }
.pk-server-main { min-width: 0; }
.pk-srail { position: sticky; top: calc(var(--pk-top-height) + 16px); display: grid; gap: 8px; justify-items: center; padding: 6px 0; }
.pk-srail-item { position: relative; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #c3c7c7; text-decoration: none; cursor: pointer; }
.pk-srail-face { display: grid; place-items: center; width: 44px; height: 44px; overflow: hidden; border-radius: 50%; background: #1b1f20; border: 1px solid #2c2f30; color: #e8ebea; font-size: 13px; font-weight: 700; transition: border-radius var(--pk-dur-base, 220ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), transform var(--pk-dur-base, 220ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), border-color var(--pk-dur-fast, 120ms) ease, background-color var(--pk-dur-fast, 120ms) ease; }
.pk-srail-face .pk-cinemaos-mark { width: 100%; height: 100%; border-radius: 0; }
.pk-srail-initials { letter-spacing: .02em; }
.pk-srail-item:hover .pk-srail-face, .pk-srail-item:focus-visible .pk-srail-face, .pk-srail-item.is-active .pk-srail-face { border-radius: 16px; border-color: #4a5051; }
.pk-srail-item.is-active .pk-srail-face { border-color: #ff694e; }
.pk-srail-item--official .pk-srail-face { border-color: #5c2e27; background: #0b0c0d; }
.pk-srail-item:focus-visible { outline: 2px solid #ef715c; outline-offset: 2px; }
.pk-srail-pill { position: absolute; left: -12px; top: 50%; width: 4px; height: 8px; margin-top: -4px; border-radius: 0 4px 4px 0; background: #fff; opacity: 0; transform: scaleY(.4); transition: transform var(--pk-dur-base, 220ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), opacity var(--pk-dur-fast, 120ms) ease; }
.pk-srail-item:hover .pk-srail-pill { opacity: 1; transform: scaleY(1); height: 20px; margin-top: -10px; }
.pk-srail-item.is-active .pk-srail-pill { opacity: 1; height: 36px; margin-top: -18px; transform: scaleY(1); }
.pk-srail-tip { position: absolute; left: calc(100% + 12px); top: 50%; z-index: 20; padding: 7px 11px; border: 1px solid #3b4142; border-radius: 9px; background: #181c1d; color: #f3f1ee; font-size: 12.5px; font-weight: 650; white-space: nowrap; box-shadow: 0 10px 28px rgba(0, 0, 0, .5); opacity: 0; transform: translate(-6px, -50%) scale(.92); transform-origin: left center; pointer-events: none; transition: transform 260ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), opacity var(--pk-dur-fast, 120ms) ease; }
.pk-srail-tip::before { content: ""; position: absolute; left: -5px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-left: 1px solid #3b4142; border-bottom: 1px solid #3b4142; background: #181c1d; transform: rotate(45deg); }
.pk-srail-item:hover .pk-srail-tip, .pk-srail-item:focus-visible .pk-srail-tip { opacity: 1; transform: translate(0, -50%) scale(1); }
.pk-srail-sep { width: 28px; height: 1px; margin: 2px 0; background: #2c2f30; }
.pk-srail-item--add .pk-srail-face, .pk-srail-item--discover .pk-srail-face { color: #5fe0a0; background: #121a16; border-color: #22392c; }
.pk-srail-item--add:hover .pk-srail-face, .pk-srail-item--discover:hover .pk-srail-face { background: #5fe0a0; color: #0b0d0e; border-color: #5fe0a0; }
.pk-srail-item--discover.is-active .pk-srail-face { border-color: #5fe0a0; }
.pk-srail-item .pk-ico { width: 20px; height: 20px; }
.pk-server-head--index { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; max-width: none; }
.pk-server-head--index > div { display: grid; gap: 8px; max-width: 720px; }
.pk-server-tile-link { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; }
.pk-server-tile-face { display: grid; place-items: center; width: 44px; height: 44px; overflow: hidden; border: 1px solid #2c2f30; border-radius: 14px; background: #1b1f20; color: #e8ebea; font-size: 13px; font-weight: 700; }
.pk-server-tile-face .pk-cinemaos-mark { width: 100%; height: 100%; border-radius: 0; }
.pk-server-tile-text { display: grid; gap: 6px; min-width: 0; }
.pk-server-post { margin: 0 0 12px; }
.pk-momentum-head h1 { display: flex; align-items: center; gap: 12px; }
.pk-momentum-head h1 .pk-cinemaos-mark { width: 30px; height: 30px; }
.pk-momentum-report { margin: 0 0 14px; }

/* The "+" sheet: Name + About, in place. */
.pk-sheet { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 16px; }
.pk-sheet[hidden] { display: none; }
.pk-sheet-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); backdrop-filter: blur(6px); animation: pk-fade-in 160ms ease both; }
@keyframes pk-fade-in { from { opacity: 0; } }
.pk-sheet-panel { position: relative; display: grid; gap: 10px; width: min(100%, 460px); padding: 22px; border: 1px solid #3b4142; border-radius: 16px; background: #141819; box-shadow: 0 30px 80px rgba(0, 0, 0, .6); outline: none; transform-origin: bottom center; animation: pk-spring-in 320ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)) both; }
.pk-sheet-panel h2 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.pk-sheet-panel > p { margin: 0; color: var(--pk-muted); font-size: 14px; }
.pk-sheet-panel form { display: grid; gap: 12px; }
.pk-sheet-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.pk-sheet-panel [role="status"] { margin: 0; color: #f2a595; font-size: 12px; }
.pk-sheet-panel [role="status"]:empty { display: none; }
body.pk-sheet-open { overflow: hidden; }

/* ---------- The Screening Room wall ---------- */
.pk-screening-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; max-width: none; }
.pk-screening-title { display: grid; gap: 8px; max-width: 720px; }
.pk-wall { columns: 3; column-gap: 12px; margin: 0; padding: 0; list-style: none; }
.pk-wall-item { break-inside: avoid; margin: 0 0 12px; }
.pk-wall-figure { position: relative; margin: 0; overflow: hidden; border-radius: 10px; background: #050607; }
.pk-wall-figure .pk-media { border-radius: 10px; overflow: hidden; }
.pk-wall-figure .pk-media--grid .pk-media-image, .pk-wall-figure .pk-media--grid .pk-media-missing { aspect-ratio: auto; object-fit: contain; }
.pk-wall-figure .pk-media-image { transition: transform 600ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)); }
.pk-wall-figure:hover .pk-media-image, .pk-wall-figure:focus-within .pk-media-image { transform: scale(1.025); }
.pk-media--wall { display: grid; align-content: end; min-height: 200px; padding: 18px; background: linear-gradient(155deg, #1b1f20, #101314); color: #f3f1ee; }
.pk-media--wall .pk-media-text { font-size: 16px; line-height: 1.45; }
.pk-wall-caption { position: absolute; inset: auto 0 0 0; display: grid; gap: 4px; padding: 28px 14px 12px; background: linear-gradient(180deg, rgba(5, 6, 7, 0), rgba(5, 6, 7, .86)); color: #fff; opacity: 0; transform: translateY(6px); transition: transform 260ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), opacity var(--pk-dur-fast, 120ms) ease; pointer-events: none; }
.pk-wall-figure:hover .pk-wall-caption, .pk-wall-figure:focus-within .pk-wall-caption { opacity: 1; transform: translateY(0); pointer-events: auto; }
.pk-wall-author { display: inline-flex; align-items: center; gap: 8px; min-width: 0; color: #fff; text-decoration: none; }
.pk-wall-author .pk-avatar { width: 28px; height: 28px; flex: none; }
.pk-wall-name { font-size: 13px; font-weight: 700; }
.pk-wall-craft { color: #d4d7d7; font-size: 12px; }
.pk-wall-craft::before { content: "·"; margin-right: 6px; color: #8f9596; }
.pk-wall-line { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: #e6e8e8; font-size: 12.5px; line-height: 1.4; text-decoration: none; }
.pk-wall-empty { max-width: 520px; }
@media (hover: none) { .pk-wall-caption { opacity: 1; transform: none; pointer-events: auto; padding-top: 22px; } }
@media (max-width: 1100px) { .pk-wall { columns: 2; } }
@media (max-width: 599px) { .pk-wall { columns: 1; } }

/* ---------- The Momentum Dial's peek ring ---------- */
.pk-dial-item--peek { display: grid; justify-items: center; gap: 4px; width: 64px; margin: -30px 0 0 -32px; overflow: visible; -webkit-line-clamp: unset; pointer-events: auto; }
.pk-dial-peek-face { position: relative; display: grid; place-items: center; width: 36px; height: 36px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .28); border-radius: 50%; background: #1b1f20; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; box-shadow: 0 4px 14px rgba(0, 0, 0, .5); transition: transform 200ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)), border-color 120ms ease; }
.pk-dial-peek-face img { width: 100%; height: 100%; object-fit: cover; animation: pk-fade-in 220ms ease both; }
.pk-dial-peek-unread { position: absolute; right: 1px; top: 1px; width: 9px; height: 9px; border: 2px solid #0b0d0e; border-radius: 50%; background: var(--pk-dial-accent, #ff331a); }
.pk-dial-peek-label { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; max-width: 64px; font-size: 8px; line-height: 1.2; }
.pk-dial-item[data-selected="true"] .pk-dial-peek-face { border-color: #ff7a64; transform: scale(1.12); }
.pk-dial-stage.is-peek .pk-dial-glass { inset: 10px; }
.pk-dial-stage.is-peek .pk-dial-hub-depth { display: none; }
body.pk-dial-open { overflow: hidden; }

/* ---------- Stream media: native ratio inside a bounded box, never cropped ---------- */
.pk-stream .pk-media--feed { background: #0c0e0f; }
.pk-stream .pk-media--feed .pk-media-image, .pk-stream .pk-media--feed .pk-video, .pk-stream .pk-media--feed .pk-media-missing { display: block; width: 100%; max-height: min(600px, 70vh); height: auto; object-fit: contain; }
.pk-stream .pk-media--feed.pk-media--tall .pk-media-image, .pk-stream .pk-media--feed.pk-media--tall .pk-video { max-height: min(600px, 70vh); }
.pk-stream .pk-media--feed .pk-media-pair { max-height: min(600px, 70vh); }
.pk-stream .pk-media--feed .pk-media-pair .pk-media-image { max-height: min(600px, 70vh); aspect-ratio: auto; object-fit: contain; }
.pk-post-page .pk-media--page .pk-media-image, .pk-post-page .pk-media--page .pk-video, .pk-post-page .pk-compare--pair .pk-media-image { max-height: 85vh; object-fit: contain; }
.pk-post-page .pk-post-media { background: #0c0e0f; }

/* ---------- The right rail (X-shaped) ---------- */
/* No tiles: the modules float on the canvas, spaced 30 px apart with one hairline between them. */
.pk-rail-module { display: grid; gap: 8px; padding: 0 0 28px; }
.pk-rail-module + .pk-rail-module { padding-top: 26px; border-top: 1px solid var(--pk-border); }
.pk-rail-module h2 { margin: 0 0 2px; font-size: 17px; font-weight: 750; letter-spacing: -.02em; }
.pk-rail-people, .pk-rail-servers, .pk-rail-now { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.pk-rail-person, .pk-rail-server { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.pk-rail-person[hidden] { display: none; }
.pk-rail-person-link, .pk-rail-server-link { overflow: hidden; }
.pk-rail-person-link, .pk-rail-server-link { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; color: var(--pk-ink); text-decoration: none; }
.pk-rail-person-link .pk-avatar { width: 40px; height: 40px; flex: none; }
.pk-rail-person-text { display: grid; min-width: 0; gap: 1px; }
.pk-rail-person-text strong { display: flex; align-items: center; gap: 6px; overflow: hidden; font-size: 14px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.pk-rail-person-text strong .pk-official-mark { margin-left: 0; font-size: 10px; padding: 1px 6px; }
.pk-rail-person-text small { overflow: hidden; color: var(--pk-muted); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.pk-rail-reason { color: #8f9596; }
.pk-rail-follow { display: grid; justify-items: end; }
.pk-rail-follow .fs-button, .pk-rail-follow-link, .pk-rail-watch { min-height: 32px; padding: 5px 14px; border-radius: 999px; font-size: 12.5px; color: #0b0d0e; background: #f3f1ee; border-color: #f3f1ee; text-decoration: none; }
.pk-rail-follow .fs-button:hover, .pk-rail-follow-link:hover, .pk-rail-watch:hover { background: #fff; border-color: #fff; }
.pk-rail-follow .fs-button[aria-pressed="true"], .pk-rail-watch[aria-pressed="true"] { color: var(--pk-ink); background: transparent; border-color: #4a5051; }
.pk-rail-follow p { margin: 0; color: var(--pk-muted); font-size: 11px; }
.pk-rail-follow p:empty { display: none; }
.pk-rail-watch .pk-server-watch-on, .pk-rail-watch[aria-pressed="true"] .pk-server-watch-off { display: none; }
.pk-rail-watch[aria-pressed="true"] .pk-server-watch-on { display: inline; }
.pk-rail-server-face { display: grid; place-items: center; width: 40px; height: 40px; flex: none; overflow: hidden; border: 1px solid #2c2f30; border-radius: 12px; background: #1b1f20; color: #e8ebea; font-size: 14px; font-weight: 700; }
.pk-rail-server-face.is-official { border-color: #5c2e27; background: #0b0c0d; }
.pk-rail-server-face .pk-cinemaos-mark { width: 100%; height: 100%; border-radius: 0; }
.pk-rail-more { justify-self: start; padding: 6px 0; border: 0; background: transparent; color: #ff8a72; font: 600 13px var(--fs-font); cursor: pointer; }
.pk-rail-more:hover { color: #ffb4a6; }
.pk-rail-now-item a { display: grid; gap: 2px; padding: 8px 0; color: var(--pk-ink); text-decoration: none; }
.pk-rail-now-item a:hover strong { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.pk-rail-now-item small { color: var(--pk-muted); font-size: 12px; }
.pk-rail-now-item--update small { color: #ffb4a6; }
.pk-rail-now-item--pick small { color: #ffd08a; }
.pk-rail-now-item strong { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 14px; font-weight: 650; line-height: 1.3; }
.pk-home-side { gap: 0; }
.pk-home-side .pk-rail-module:last-child { padding-bottom: 0; }

/* ---------- Suggested creators (an empty Following) ---------- */
.pk-suggest { display: grid; gap: 6px; padding: 20px 0 8px; }
.pk-suggest h2 { margin: 0; font-size: 20px; font-weight: 750; letter-spacing: -.025em; }
.pk-suggest-lede { margin: 0 0 10px; color: var(--pk-muted); font-size: 14px; }
.pk-suggest-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.pk-suggest-card { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--pk-border); }
.pk-suggest-link { display: flex; flex: 1; align-items: center; gap: 12px; min-width: 0; color: var(--pk-ink); text-decoration: none; overflow: hidden; }
.pk-suggest-link .pk-avatar { width: 48px; height: 48px; flex: none; font-size: 18px; }
.pk-suggest-text { display: grid; min-width: 0; gap: 2px; }
.pk-suggest-text strong { display: flex; align-items: center; gap: 6px; overflow: hidden; font-size: 15px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }
.pk-suggest-text strong .pk-official-mark { margin-left: 0; font-size: 10px; padding: 1px 6px; }
.pk-suggest-text small { overflow: hidden; color: var(--pk-muted); font-size: 13px; white-space: nowrap; text-overflow: ellipsis; }
.pk-suggest-more { margin: 8px 0 0; font-size: 14px; }
.pk-suggest-more a { color: #ff8a72; text-decoration: none; }
.pk-suggest-more a:hover { color: #ffb4a6; }

/* ---------- Inline comments under a card ---------- */
.pk-comments { display: grid; grid-template-rows: 0fr; margin: 0; overflow: hidden; transition: grid-template-rows 240ms var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)); }
.pk-comments[hidden] { display: none; }
.pk-comments.is-open { grid-template-rows: 1fr; }
.pk-comments-inner { min-height: 0; overflow: hidden; display: grid; gap: 10px; padding: 0 0 16px 0; border-top: 1px solid var(--pk-border); margin-top: 2px; padding-top: 12px; }
.pk-comments-skeleton, .pk-comments-status, .pk-comments-empty, .pk-comments-prompt { margin: 0; color: var(--pk-muted); font-size: 13px; }
.pk-comments-status:empty { display: none; }
.pk-comments-status { color: #f2a595; }
.pk-comments-prompt a { color: var(--pk-ink); }
.pk-comments-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pk-comment { display: grid; gap: 4px; }
.pk-comment.is-pending { opacity: .6; }
.pk-comment-who { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 13px; }
.pk-comment-author { display: inline-flex; align-items: center; gap: 8px; color: var(--pk-ink); font-weight: 700; text-decoration: none; }
.pk-comment-author .pk-avatar { width: 28px; height: 28px; }
.pk-comment-craft, .pk-comment-time { color: var(--pk-muted); font-size: 12px; }
.pk-comment-craft::before, .pk-comment-time::before { content: "·"; margin-right: 6px; color: #6f7576; }
.pk-comment-who .pk-official-mark { margin-left: 0; font-size: 10px; padding: 1px 6px; }
.pk-comment-body { padding-left: 36px; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.pk-comment-body p { margin: 0 0 6px; }
.pk-comment-body p:last-child { margin-bottom: 0; }
.pk-comments-more, .pk-comments-all { justify-self: start; padding: 4px 0; border: 0; background: transparent; color: #ff8a72; font: 600 13px var(--fs-font); text-decoration: none; cursor: pointer; }
.pk-comments-more:hover, .pk-comments-all:hover { color: #ffb4a6; }
.pk-comments-more[hidden], .pk-comments-all[hidden], .pk-comments-empty[hidden], .pk-comments-skeleton[hidden] { display: none; }
.pk-comments-form { display: flex; align-items: flex-end; gap: 10px; margin-top: 4px; }
.pk-comments-form .pk-avatar { width: 32px; height: 32px; flex: none; margin-bottom: 4px; }
.pk-comments .pk-comments-field { flex: 1; min-width: 0; min-height: 40px; height: calc(var(--pk-rows, 1) * 22px + 18px); max-height: 150px; padding: 9px 14px; border: 1px solid var(--pk-border); border-radius: 20px; background: var(--pk-surface-raised); color: var(--pk-ink); font: 14px/1.55 var(--fs-font); resize: none; }
.pk-comments .pk-comments-field:focus { outline: 2px solid #e95c48; outline-offset: 1px; border-color: #ef715c; }
.pk-comments-send { min-height: 40px; padding: 8px 16px; border: 0; border-radius: 999px; background: var(--pk-accent-strong); color: #fff; font: 700 13px var(--fs-font); cursor: pointer; }
.pk-comments-send:disabled { opacity: .6; cursor: default; }
.pk-engage-comments[aria-expanded="true"] { color: #fff; background: rgba(255, 255, 255, .06); }

/* ---------- Pull-to-refresh: the stream follows the finger; the mark turns and a ring fills ---------- */
.pk-home-stream, [data-server-stream], .pk-creator-tab, .pk-message-inbox { position: relative; overscroll-behavior-y: contain; transform: translateY(var(--pk-pull, 0px)); will-change: transform; }
.pk-home-stream.is-pulling, [data-server-stream].is-pulling, .pk-creator-tab.is-pulling { transition: none; }
.pk-pull { position: absolute; left: 0; right: 0; top: 0; z-index: 2; display: grid; place-items: center; height: 0; overflow: visible; opacity: 0; transform: translateY(-34px) scale(calc(.6 + .4 * var(--pk-pull-progress, 0))); pointer-events: none; }
.pk-pull.is-visible { opacity: 1; }
.pk-pull-ring { position: absolute; width: 44px; height: 44px; transform: rotate(-90deg); }
.pk-pull-arc { fill: none; stroke: var(--pk-accent); stroke-width: 2.2; stroke-linecap: round; }
.pk-pull-mark { position: absolute; width: 22px; height: 22px; transform: rotate(calc(var(--pk-pull-progress, 0) * 270deg)); }
.pk-pull.is-refreshing .pk-pull-mark { animation: pk-pull-spin 700ms linear infinite; }
.pk-pull.is-refreshing .pk-pull-arc { stroke-dashoffset: 30 !important; animation: pk-pull-spin 900ms linear infinite; transform-origin: center; }
@keyframes pk-pull-spin { to { transform: rotate(360deg); } }
.pk-pull-status { position: absolute; left: 0; right: 0; top: 4px; margin: 0; color: var(--pk-muted); font-size: 12px; text-align: center; pointer-events: none; }
.pk-pull-status:empty { display: none; }
.pk-stream-refresh { display: grid; place-items: center; width: 34px; height: 34px; margin-left: 6px; border: 1px solid var(--pk-border); border-radius: 50%; background: #0f1213; color: var(--pk-muted); cursor: pointer; transition: color var(--pk-dur-fast, 120ms) ease, transform var(--pk-dur-base, 220ms) var(--pk-ease-settle, cubic-bezier(.2, .8, .2, 1)); }
.pk-stream-refresh .pk-ico { width: 16px; height: 16px; }
.pk-stream-refresh:hover { color: #fff; transform: rotate(90deg); }
.pk-stream .pk-feed-item.pk-stream-fresh { animation-delay: calc(var(--pk-stagger-i, 0) * 60ms); }
@keyframes pk-fresh-in { from { opacity: 0; transform: translateY(-10px) scale(.985); } 70% { transform: translateY(2px) scale(1.002); } to { opacity: 1; transform: none; } }
@media (hover: none) { .pk-stream-refresh { display: none; } }

/* ---------- Comments prompt (signed out) ---------- */
.pk-reply-prompt { margin: 8px 0 0; color: var(--pk-muted); font-size: 14px; }
.pk-reply-prompt a { color: var(--pk-ink); }

/* ---------- Phones ---------- */
@media (max-width: 759px) {
  .pk-top .pk-create-action { padding-inline: 9px; }
  .pk-top .pk-create-action .pk-new { display: grid; }
  .pk-top .pk-create-action .pk-new-burst { display: block; }
  .pk-server-layout { grid-template-columns: minmax(0, 1fr); }
  .pk-srail { position: static; grid-auto-flow: column; grid-auto-columns: max-content; justify-content: start; gap: 10px; padding: 4px 0 12px; margin: 0 -16px 8px; padding-inline: 16px; overflow-x: auto; scrollbar-width: none; }
  .pk-srail::-webkit-scrollbar { display: none; }
  .pk-srail-pill { display: none; }
  .pk-srail-tip { display: none; }
  .pk-srail-sep { width: 1px; height: 28px; align-self: center; }
  .pk-server-head--index, .pk-screening-head { flex-direction: column; align-items: stretch; }
  .pk-compose-row { padding: 2px 0 10px; }
  .pk-compose-prompt { font-size: 16px; }
  .pk-composer--inline { padding: 12px; border-radius: 12px; }
  .pk-stream .pk-media--feed { border-radius: 8px; }
  .pk-stream .pk-post-card-head { padding: 12px 0 8px; }
  .pk-dial-item--peek { width: 60px; margin-left: -30px; }
}

/* ---------- Reduced motion: fades only, no charge, no burst, no sweep ---------- */
@media (prefers-reduced-motion: reduce) {
  .pk-comments { transition: none; }
  .pk-home-tagline { animation: none; opacity: .92; }
  .pk-home-stream, [data-server-stream], .pk-creator-tab, .pk-message-inbox { transform: none; will-change: auto; }
  .pk-pull { display: none; }
  .pk-stream-refresh:hover { transform: none; }
  .pk-account nav, .pk-join-menu nav, #suggest-results:not([hidden]), .pk-composer--inline, .pk-stream-new, .pk-sheet-panel { animation: pk-fade-in 120ms ease both; }
  .pk-account.is-closing nav, .pk-join-menu.is-closing nav { animation: none; }
  .pk-top .pk-create-action:hover::after, .is-burst .pk-new-burst i, .is-burst .pk-new-svg, [data-dial-peek].is-charging .pk-ico { animation: none; }
  .pk-new-plus, .pk-new-frame, .pk-new-spark, .pk-srail-face, .pk-srail-tip, .pk-srail-pill, .pk-wall-caption, .pk-wall-figure .pk-media-image, .pk-compose-dial, .pk-dial-peek-face { transition: opacity 120ms ease; }
  .pk-create-action:hover .pk-new-plus, .pk-mobile-create:hover .pk-new-plus { transform: none; opacity: 1; }
  .pk-create-action:hover .pk-new-frame, .pk-create-action:hover .pk-new-spark, .pk-mobile-create:hover .pk-new-frame, .pk-mobile-create:hover .pk-new-spark { opacity: 0; }
  .pk-compose-dial:hover { transform: none; }
  .pk-wall-figure:hover .pk-media-image { transform: none; }
  .pk-stream .pk-feed-item.pk-stream-fresh { animation: pk-fade-in 120ms ease both; }
}

/* ---------------------------------------------------------------- invite sheet (owner R2)
   The app's dark glass sheet: a bottom sheet that springs in on phones, a centred
   panel on desktop. Channel pills with icons, a compact message bubble, folds for
   the number and the email, a quiet close. Used inline (/invite, token pages) and
   in the dialog share.js opens from profile, post, server and composer. */
.pk-invite-dialog { box-sizing: border-box; width: min(520px, calc(100vw - 32px)); max-height: min(86vh, 760px); margin: auto; padding: 22px 22px 20px; overflow: auto; border: 1px solid var(--pk-border, #2c2f30); border-radius: 22px; background: rgba(18, 21, 22, .94); color: var(--pk-ink, #f3f1ee); box-shadow: 0 40px 120px rgba(0, 0, 0, .6); -webkit-backdrop-filter: blur(24px) saturate(1.3); backdrop-filter: blur(24px) saturate(1.3); }
.pk-invite-dialog::backdrop { background: rgba(4, 5, 6, .62); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.pk-invite-dialog[open] { animation: pk-sheet-in 340ms cubic-bezier(.2, 1.2, .3, 1) both; }
@keyframes pk-sheet-in { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: none; } }
.pk-invite-dialog > h2, .pk-invite-sheet h2 { margin: 0 44px 14px 0; font-size: 20px; font-weight: 750; letter-spacing: -.02em; line-height: 1.2; }
.pk-invite-close { position: absolute; top: 14px; right: 14px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .06); color: var(--pk-muted, #a9adae); cursor: pointer; }
.pk-invite-close:hover, .pk-invite-close:focus-visible { background: rgba(255, 255, 255, .12); color: var(--pk-ink, #f3f1ee); }
.pk-invite-close .pk-invite-icon { width: 18px; height: 18px; }
.pk-invite-dialog .pk-invite-sheet { padding: 0; border: 0; background: none; box-shadow: none; }
.pk-invite-sheet { display: grid; gap: 14px; min-width: 0; padding: 20px; border: 1px solid var(--pk-border, #2c2f30); border-radius: 20px; background: var(--pk-surface, #121516); color: var(--pk-ink, #f3f1ee); }
.pk-invite-sheet .pk-hint, .pk-invite-dialog .pk-hint { margin: 0; color: var(--pk-muted, #a9adae); font-size: 12.5px; line-height: 1.45; }
.pk-invite-bubble { position: relative; padding: 12px 14px; border-radius: 18px 18px 18px 6px; background: #1d2122; border: 1px solid #2a2f30; }
.pk-invite-bubble textarea { display: block; box-sizing: border-box; width: 100%; min-height: 64px; margin: 0; padding: 0; border: 0; resize: vertical; background: transparent; color: var(--pk-ink, #f3f1ee); font: inherit; font-size: 14.5px; line-height: 1.45; }
.pk-invite-bubble textarea:focus { outline: none; }
.pk-invite-bubble:focus-within { border-color: var(--pk-accent, #f0442e); }
.pk-invite-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pk-invite-channel { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-width: 0; min-height: 70px; padding: 10px 6px; border: 1px solid #2a2f30; border-radius: 16px; background: #1a1d1e; color: var(--pk-ink, #f3f1ee); font: inherit; font-size: 12.5px; font-weight: 650; text-decoration: none; cursor: pointer; transition: background 120ms ease, border-color 120ms ease, transform 120ms ease; }
.pk-invite-channel:hover, .pk-invite-channel:focus-visible { background: #23282a; border-color: #3a4042; }
.pk-invite-channel:active { transform: scale(.97); }
.pk-invite-channel span { overflow: hidden; max-width: 100%; white-space: nowrap; text-overflow: ellipsis; }
.pk-invite-channel .pk-invite-icon { width: 22px; height: 22px; }
.pk-invite-channel--primary { background: #1f8a4c; border-color: #1f8a4c; color: #fff; }
.pk-invite-channel--primary:hover, .pk-invite-channel--primary:focus-visible { background: #22a058; border-color: #22a058; }
.pk-invite-channel[aria-expanded="true"] { border-color: var(--pk-accent, #f0442e); }
.pk-invite-fold { border-top: 1px solid var(--pk-border, #2c2f30); padding-top: 10px; }
.pk-invite-fold summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--pk-muted, #a9adae); font-size: 13px; font-weight: 600; cursor: pointer; list-style: none; }
.pk-invite-fold summary::-webkit-details-marker { display: none; }
.pk-invite-fold summary::after { content: "+"; font-size: 16px; line-height: 1; }
.pk-invite-fold[open] summary::after { content: "–"; }
.pk-invite-fold[open] summary { color: var(--pk-ink, #f3f1ee); margin-bottom: 10px; }
.pk-invite-fold label { display: block; margin: 0 0 6px; color: var(--pk-muted, #a9adae); font-size: 12px; }
.pk-invite-row { display: flex; gap: 8px; min-width: 0; }
.pk-invite-row .pk-control { flex: 1 1 auto; min-width: 0; box-sizing: border-box; min-height: 44px; padding: 10px 12px; border: 1px solid #2c2f30; border-radius: 12px; background: #0d0f10; color: var(--pk-ink, #f3f1ee); font: inherit; font-size: 15px; }
.pk-invite-row .pk-control:focus { border-color: var(--pk-accent, #f0442e); outline: none; }
.pk-invite-row .fs-button { flex: none; min-height: 44px; border-radius: 12px; }
.pk-invite-email { display: grid; gap: 8px; margin: 0; }
.pk-invite-qr:not([hidden]) { display: grid; place-items: center; padding: 16px; border-radius: 16px; background: #fff; }
.pk-invite-qr svg { width: min(220px, 60vw); height: auto; }
.pk-invite-status { margin: 0; min-height: 1em; color: var(--pk-muted, #a9adae); font-size: 12.5px; }
.pk-invite-status:empty { display: none; }
.pk-invite-skip { margin: 0; text-align: center; font-size: 13px; }
.pk-invite-skip a { color: var(--pk-muted, #a9adae); }
.pk-invite-credit-list { display: grid; gap: 12px; margin: 12px 0; }
.pk-invite-credit-add { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
.pk-invite-credit-add .pk-control { box-sizing: border-box; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid #2c2f30; border-radius: 12px; background: #0d0f10; color: var(--pk-ink, #f3f1ee); font: inherit; }
.pk-invite-credit-add .fs-button, .pk-invite-credit-add .pk-invite-status { grid-column: 1 / -1; }
@media (max-width: 640px) {
  .pk-invite-dialog { width: 100vw; max-width: 100vw; max-height: 92vh; margin: auto 0 0; padding: 18px 16px calc(18px + env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0; border-bottom: 0; }
  .pk-invite-dialog[open] { animation: pk-sheet-up 380ms cubic-bezier(.2, 1.15, .3, 1) both; }
  .pk-invite-dialog::before { content: ""; display: block; width: 40px; height: 4px; margin: -6px auto 12px; border-radius: 4px; background: #3a3f41; }
}
@keyframes pk-sheet-up { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .pk-invite-dialog[open] { animation: none; } .pk-invite-channel { transition: none; } }

/* Owner R2: the profile claim's terms line uses the brand link colour, not browser blue. */
.pk-claim-legal { color: var(--pk-muted, #a9adae); font-size: 13px; line-height: 1.5; }
.pk-claim-legal a, .pk-check a { color: var(--pk-ink, #f3f1ee); text-decoration: underline; text-decoration-color: rgba(240, 68, 46, .7); text-underline-offset: 3px; }
.pk-claim-legal a:hover, .pk-claim-legal a:focus-visible { color: var(--pk-accent, #f0442e); }
.pk-claim-legal input { accent-color: var(--pk-accent, #f0442e); }
