:root {
  color-scheme: dark;
  --ink: #eaf7ff;
  --muted: #92a9b9;
  --quiet: #617989;
  --bg: #06111b;
  --bg-deep: #030a11;
  --panel: rgba(12, 31, 45, .78);
  --panel-solid: #0d2231;
  --line: rgba(142, 202, 224, .16);
  --line-bright: rgba(142, 235, 255, .36);
  --cyan: #62f5dc;
  --cyan-2: #54bff8;
  --gold: #f6c96b;
  --rose: #ff7ca8;
  --radius: 22px;
  --shadow: 0 24px 80px rgba(0, 0, 0, .34);
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Iowan Old Style, Baskerville, Georgia, serif;
  --type-meta: 14px;
  --type-body: 16px;
  --type-title: 24px;
  --type-display: clamp(38px, 4vw, 62px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 10% 4%, rgba(55, 179, 185, .13), transparent 34rem),
    radial-gradient(circle at 88% 28%, rgba(65, 103, 196, .12), transparent 38rem),
    linear-gradient(180deg, #071722 0, var(--bg) 42%, var(--bg-deep) 100%);
  color: var(--ink);
  font-family: var(--font);
  line-height: 1.55;
  min-height: 100vh;
  overflow-x: hidden;
  font-size: var(--type-body);
}

body.modal-open { overflow: hidden; }

body::before {
  position: fixed;
  inset: 0;
  z-index: -3;
  content: "";
  pointer-events: none;
  background-image:
    linear-gradient(rgba(122, 198, 219, .028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(122, 198, 219, .028) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 86%);
}

a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
img, video { display: block; max-width: 100%; }
audio { width: 100%; }
p, h1, h2, h3 { margin-top: 0; }
.shell { width: min(1680px, calc(100% - 64px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; left: 18px; top: -80px; padding: 12px 18px; background: var(--cyan); color: #04201e; border-radius: 10px; font-weight: 800; }
.skip-link:focus { top: 18px; }

.ambient { position: fixed; z-index: -2; width: 520px; height: 520px; border-radius: 50%; filter: blur(100px); opacity: .09; pointer-events: none; }
.ambient-a { left: -260px; top: 35%; background: #44ebcf; }
.ambient-b { right: -280px; top: 8%; background: #556ff2; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  min-height: 78px;
  padding: 12px max(32px, calc((100vw - 1680px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid rgba(124, 201, 221, .12);
  background: rgba(5, 18, 28, .78);
  backdrop-filter: blur(22px) saturate(140%);
}
.brand { display: inline-flex; align-items: center; gap: 13px; min-width: max-content; }
.brand-mark { position: relative; width: 44px; height: 44px; border: 1px solid rgba(98, 245, 220, .38); border-radius: 14px; background: rgba(98, 245, 220, .07); box-shadow: inset 0 0 25px rgba(98, 245, 220, .05); }
.brand-mark i { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }
.brand-mark i:nth-child(1) { left: 19px; top: 8px; }
.brand-mark i:nth-child(2) { left: 9px; top: 21px; }
.brand-mark i:nth-child(3) { right: 9px; top: 21px; }
.brand-mark i:nth-child(4) { left: 15px; bottom: 8px; }
.brand-mark i:nth-child(5) { right: 15px; bottom: 8px; }
.brand-mark::before, .brand-mark::after { position: absolute; content: ""; height: 1px; width: 27px; left: 8px; top: 21px; background: rgba(98, 245, 220, .42); transform: rotate(56deg); }
.brand-mark::after { transform: rotate(-56deg); }
.brand strong { display: block; text-transform: uppercase; letter-spacing: .13em; font-size: 15px; }
.brand small { display: block; margin-top: 1px; color: var(--muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.header-researcher-credit{min-width:0;display:flex;align-items:baseline;justify-content:center;gap:7px;color:#a9bdc5;font-size:14px;line-height:1.25;text-align:center}.header-researcher-credit>span,.header-researcher-credit strong{white-space:nowrap}.header-researcher-credit a{text-decoration:none}.header-researcher-credit strong{color:#edf8fa;font-size:16px;font-weight:750}.header-researcher-credit a:hover strong,.header-researcher-credit a:focus-visible strong{color:var(--cyan)}.header-researcher-credit a:focus-visible{border-radius:6px;outline:2px solid var(--cyan);outline-offset:5px}.header-researcher-credit .deceased-cross{margin-right:.24em;font-size:1.05em}
.top-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.mobile-main-menu{display:none;position:relative}.mobile-main-menu>summary{list-style:none}.mobile-main-menu>summary::-webkit-details-marker{display:none}.hamburger-lines{width:22px;display:grid;gap:4px}.hamburger-lines i{height:2px;border-radius:99px;background:currentColor}.mobile-menu-popover{position:absolute;z-index:130;right:0;top:calc(100% + 9px);width:min(310px,calc(100vw - 20px));padding:7px;border:1px solid var(--line-bright);border-radius:16px;background:rgba(7,25,36,.99);box-shadow:0 24px 70px rgba(0,0,0,.6)}.mobile-menu-popover>a,.mobile-menu-popover button{width:100%;padding:12px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;border:0;border-radius:11px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.mobile-menu-popover>a:hover,.mobile-menu-popover button:hover{background:rgba(98,245,220,.08)}.mobile-menu-popover strong,.mobile-menu-popover small{display:block}.mobile-menu-popover strong{font-size:15px}.mobile-menu-popover small{color:var(--muted);font-size:14px}.mobile-menu-popover form{margin:0}
.button {
  min-height: 44px;
  padding: 10px 17px;
  border: 1px solid transparent;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-weight: 760;
  font-size: 14px;
  letter-spacing: .01em;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.button:hover { transform: translateY(-2px); }
.button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, .person-card:focus-visible, .relation-card:focus-visible { outline: 3px solid rgba(98, 245, 220, .62); outline-offset: 3px; }
.button-danger{border:1px solid rgba(255,124,168,.34);background:rgba(255,124,168,.08);color:#ffadc2}.button-danger:hover{border-color:rgba(255,124,168,.65);background:rgba(255,124,168,.14)}
.button-primary { color: #031b1c; background: linear-gradient(135deg, #70f5d7, #72c9ff); box-shadow: 0 10px 30px rgba(76, 220, 214, .18); }
.button-primary:hover { box-shadow: 0 13px 36px rgba(76, 220, 214, .3); }
.button-ghost { border-color: var(--line); background: rgba(255, 255, 255, .028); }
.button-ghost:hover { border-color: var(--line-bright); background: rgba(98, 245, 220, .07); }
.button-large { min-height: 54px; padding: 14px 22px; font-size: 15px; }
.button-full { width: 100%; margin-top: 8px; }
.session-chip { max-width: 220px; padding: 9px 12px; display: flex; align-items: center; gap: 8px; border: 1px solid rgba(98, 245, 220, .17); border-radius: 999px; color: #c6fbef; background: rgba(98, 245, 220, .055); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.status-dot { width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }

.message-stack { position: fixed; z-index: 150; top: 92px; right: 24px; display: grid; gap: 8px; }
.message { padding: 13px 17px; max-width: 430px; border: 1px solid rgba(98, 245, 220, .25); border-radius: 12px; background: #103328; box-shadow: var(--shadow); color: #dffef4; font-weight: 650; }

.hero { min-height: 610px; padding-block: 92px 66px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr); align-items: center; gap: 60px; }
.hero-copy { max-width: 940px; }
.eyebrow { margin-bottom: 18px; display: flex; align-items: center; gap: 9px; color: #9ec9d6; font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow > span { display: inline-block; width: 28px; height: 1px; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }
.hero h1 { margin-bottom: 25px; font-family: var(--serif); font-size: clamp(58px, 6.2vw, 98px); font-weight: 500; line-height: .95; letter-spacing: -.05em; }
.hero h1 em { color: var(--cyan); font-style: italic; text-shadow: 0 0 42px rgba(98, 245, 220, .14); }
.hero-lead { max-width: 780px; color: #b2c9d4; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.7; }
.hero-cta { margin-top: 35px; display: flex; flex-wrap: wrap; gap: 12px; }
.hero-orbit { position: relative; width: min(100%, 480px); aspect-ratio: 1; justify-self: center; }
.orbit-ring { position: absolute; inset: 12%; border: 1px solid rgba(98, 245, 220, .18); border-radius: 50%; animation: orbit 28s linear infinite; }
.orbit-ring::before, .orbit-ring::after { position: absolute; content: ""; width: 9px; height: 9px; border: 2px solid var(--cyan); border-radius: 50%; background: var(--bg); box-shadow: 0 0 20px rgba(98, 245, 220, .7); }
.orbit-ring::before { top: 14%; right: 12%; }
.orbit-ring::after { bottom: 15%; left: 11%; }
.orbit-two { inset: 25%; border-style: dashed; animation-direction: reverse; animation-duration: 19s; }
.orbit-core { position: absolute; inset: 36%; display: grid; place-content: center; text-align: center; border: 1px solid rgba(98, 245, 220, .35); border-radius: 50%; background: radial-gradient(circle, rgba(48, 114, 119, .38), rgba(5, 18, 28, .92) 70%); box-shadow: 0 0 70px rgba(98, 245, 220, .1), inset 0 0 30px rgba(98, 245, 220, .07); }
.orbit-core span { font-family: var(--serif); font-size: 72px; line-height: .8; color: var(--cyan); }
.orbit-core small { margin-top: 11px; color: var(--muted); letter-spacing: .2em; }
.orbit-node { position: absolute; width: 12px; height: 12px; border: 2px solid var(--cyan-2); border-radius: 50%; background: #071722; box-shadow: 0 0 18px rgba(84, 191, 248, .9); }
.node-a { left: 7%; top: 44%; }.node-b { right: 8%; top: 32%; }.node-c { left: 29%; bottom: 4%; }.node-d { right: 31%; top: 5%; }
@keyframes orbit { to { transform: rotate(360deg); } }

.command-deck { margin-bottom: 120px; padding: 16px; display: grid; grid-template-columns: repeat(3, minmax(120px, .6fr)) minmax(190px, .8fr) minmax(280px, 1.35fr); gap: 8px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(9, 29, 42, .72); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.stat { min-height: 84px; padding: 15px 18px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.stat strong { font-family: var(--serif); font-size: 30px; font-weight: 500; line-height: 1; color: #f3fbff; }
.stat span { margin-top: 7px; color: var(--muted); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.deck-status { padding: 14px 16px; display: flex; align-items: center; gap: 12px; }
.deck-status strong, .deck-status small, .pdf-download strong, .pdf-download small { display: block; }
.deck-status strong { font-size: 13px; }.deck-status small { color: var(--muted); font-size: 11px; }
.pdf-download { min-height: 84px; padding: 13px 16px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; border: 1px solid rgba(98, 245, 220, .2); border-radius: 14px; background: linear-gradient(135deg, rgba(98, 245, 220, .1), rgba(84, 191, 248, .06)); transition: transform .2s ease, border-color .2s ease; }
.pdf-download:hover { transform: translateY(-2px); border-color: rgba(98, 245, 220, .5); }
.pdf-icon { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(98, 245, 220, .34); border-radius: 12px; color: var(--cyan); font-weight: 900; font-size: 13px; }
.pdf-download strong { font-size: 14px; }.pdf-download small { margin-top: 3px; color: var(--muted); font-size: 11px; }.pdf-download b { color: var(--cyan); font-size: 24px; }

.tree-section { padding-bottom: 140px; }
.section-heading { margin-bottom: 35px; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.section-heading h1, .section-heading h2 { margin-bottom: 0; font-family: var(--serif); font-weight: 500; font-size: clamp(38px, 4vw, 62px); line-height: 1.02; letter-spacing: -.035em; }
.section-heading > p, .manager-heading > div > p:last-child { max-width: 650px; margin: 0; color: var(--muted); font-size: 16px; }
.section-heading.compact { margin-bottom: 22px; }.section-heading.compact h2 { font-size: clamp(32px, 3vw, 48px); }
.lineage-legend{margin:-14px 0 24px;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px}.lineage-legend-item{min-height:48px;padding:7px 12px 7px 8px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:13px;background:rgba(7,22,32,.6)}.lineage-legend-item>i{width:34px;height:30px;display:block;border-radius:8px}.lineage-legend-item span,.lineage-legend-item strong,.lineage-legend-item small{display:block}.lineage-legend-item strong{font-size:10px;letter-spacing:.02em}.lineage-legend-item small{margin-top:2px;color:var(--quiet);font-size:8px}.lineage-legend-item--direct>i{border:1px solid rgba(91,231,196,.55);background:linear-gradient(140deg,color-mix(in srgb,#5be7c4 38%,#0b2634),color-mix(in srgb,#5be7c4 13%,#071824));box-shadow:inset 3px 0 #5be7c4}.lineage-legend-item--relative>i{border:1px solid #dbe8eb;background:linear-gradient(145deg,#fff,#edf4f5);box-shadow:inset 3px 0 #8aa0a9}
.search-console { position: sticky; top: 91px; z-index: 50; margin-bottom: 42px; padding: 13px; display: grid; grid-template-columns: 1fr minmax(260px, .36fr) auto; gap: 10px; border: 1px solid rgba(98,245,220,.72); border-radius: 18px; background: radial-gradient(circle at 10% 0,rgba(98,245,220,.17),transparent 34rem),linear-gradient(135deg,rgba(16,47,59,.98),rgba(7,25,38,.98)); backdrop-filter: blur(22px); box-shadow: 0 20px 54px rgba(0,0,0,.38),0 0 0 3px rgba(98,245,220,.09),0 0 30px rgba(98,245,220,.11),inset 0 1px 0 rgba(255,255,255,.12); }
.search-field { min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid rgba(98,245,220,.46); border-radius: 12px; background: linear-gradient(90deg,rgba(98,245,220,.13),rgba(255,255,255,.075)); box-shadow:inset 0 0 24px rgba(98,245,220,.045); transition:border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.search-field:focus-within{border-color:rgba(98,245,220,.9);background:linear-gradient(90deg,rgba(98,245,220,.18),rgba(255,255,255,.09));box-shadow:0 0 0 3px rgba(98,245,220,.15),inset 0 0 24px rgba(98,245,220,.07)}
.search-field span { width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid rgba(98,245,220,.26);border-radius:9px;color:var(--cyan);background:rgba(98,245,220,.1);font-size:22px;line-height:0; }
.search-field .search-magnifier svg { width:18px;height:18px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round; }
.search-field input { width: 100%; min-height: 46px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 16px; }
.search-field input::placeholder { color: #93aeb8; }
.branch-select { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid rgba(98,245,220,.32); border-radius: 12px; background:rgba(255,255,255,.045); }
.branch-select > span { color: var(--quiet); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.branch-select select { width: 100%; min-height: 46px; border: 0; outline: 0; background: #0b2230; color: var(--ink); }
.search-console>.button-primary{min-height:48px;padding-inline:24px;box-shadow:0 9px 25px rgba(98,245,220,.18),inset 0 1px 0 rgba(255,255,255,.34)}

.branch-panel { margin-bottom: 42px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--branch) 22%, transparent); border-radius: 24px; background: rgba(8, 27, 40, .67); box-shadow: 0 22px 70px rgba(0, 0, 0, .18); }
.branch-header { min-height: 100px; padding: 24px 30px; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 20px; border-bottom: 1px solid var(--line); background: linear-gradient(90deg, color-mix(in srgb, var(--branch) 8%, transparent), transparent 60%); }
.branch-code { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--branch) 45%, transparent); border-radius: 14px; color: var(--branch); font-size: 12px; font-weight: 900; letter-spacing: .07em; background: color-mix(in srgb, var(--branch) 7%, transparent); box-shadow: inset 0 0 25px color-mix(in srgb, var(--branch) 7%, transparent); }
.branch-header p { margin: 0 0 2px; color: var(--quiet); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.branch-header h3 { margin: 0; font-size: clamp(18px, 1.7vw, 26px); line-height: 1.2; }
.branch-count { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 11px; }
.generation-stack { padding: 12px 28px 30px; }
.generation-lane { position: relative; padding: 28px 0 30px 86px; display: grid; grid-template-columns: minmax(0, 1fr); border-bottom: 1px dashed rgba(142, 202, 224, .1); }
.generation-lane > .person-grid { position:relative; }
.generation-lane > .person-grid::before { position:absolute;content:"";left:-16px;top:0;bottom:0;width:1px;border-radius:99px;background:linear-gradient(to bottom,color-mix(in srgb,var(--branch) 10%,transparent) 0%,color-mix(in srgb,var(--branch) 34%,transparent) 46%,color-mix(in srgb,var(--branch) 82%,transparent) 100%);box-shadow:0 0 8px color-mix(in srgb,var(--branch) 16%,transparent);pointer-events:none; }
.generation-lane:last-child { border-bottom: 0; }
.generation-label { position:absolute;left:0;top:27px;width:58px;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center; }
.generation-label::after { display:none; }
.generation-label span { display: block; font-family: var(--serif); color: var(--branch); font-size: 24px; line-height: 1; }
.generation-label small { color: var(--quiet); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.person-grid, .search-person-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 226px), 1fr)); align-items: stretch; gap: 11px; }
.person-grid .person-card, .search-person-grid .person-card { min-width: 0; }
.person-card { position: relative; min-height: 80px; padding: 9px 30px 9px 10px; display: grid; grid-template-columns: 58px minmax(0,1fr); align-items: center; gap: 10px; overflow: hidden; border: 1px solid rgba(145, 198, 216, .13); border-radius: 14px; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.person-card::before { position: absolute; content: ""; inset: 0 auto 0 0; width: 3px; background: var(--branch); box-shadow: 0 0 16px color-mix(in srgb, var(--branch) 55%, transparent); }
.person-card[data-lineage="direct"] { border-color: color-mix(in srgb, var(--branch) 50%, rgba(255,255,255,.16)); background: linear-gradient(140deg, color-mix(in srgb, var(--branch) 31%, #0b2634), color-mix(in srgb, var(--branch) 12%, #071824)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 22px rgba(0,0,0,.12); }
.person-card[data-lineage="relative"] { border-color: rgba(219,232,236,.86); background: linear-gradient(145deg, #ffffff, #edf4f5); color: #173542; box-shadow: inset 0 1px 0 #fff, 0 8px 22px rgba(0,0,0,.14); }
.person-card[data-lineage="relative"]::before { background:#8aa0a9; box-shadow:none; opacity:.72; }
.person-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--branch) 62%, white); box-shadow: 0 12px 30px rgba(0, 0, 0, .24); }
.person-card[data-lineage="direct"]:hover { background: linear-gradient(140deg, color-mix(in srgb, var(--branch) 36%, #0b2634), color-mix(in srgb, var(--branch) 15%, #071824)); }
.person-card[data-lineage="relative"]:hover { background: #fff; }
.card-portrait { position: relative; width: 56px; height: 56px; display: grid; place-items: center; overflow: hidden; border: 1px solid color-mix(in srgb, var(--branch) 52%, transparent); border-radius: 50%; background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--branch) 23%, transparent), rgba(2,13,20,.75)); box-shadow: inset 0 0 22px color-mix(in srgb, var(--branch) 11%, transparent), 0 7px 18px rgba(0,0,0,.22), 0 0 15px color-mix(in srgb,var(--branch) 12%,transparent); }
.card-portrait::after { position:absolute; content:""; inset:auto 11px 5px; height:1px; border-radius:99px; background:var(--branch); box-shadow:0 0 10px var(--branch); opacity:.5; }
.card-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 36%; filter:saturate(.88) contrast(1.04); }
.card-portrait b { font-family:var(--serif); color:color-mix(in srgb,var(--branch) 78%,white); font-size:25px; font-weight:500; }.card-portrait i{position:absolute;width:40px;height:16px;bottom:-7px;border-radius:50% 50% 0 0;background:color-mix(in srgb,var(--branch) 12%,transparent)}
.card-portrait--minor{background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--branch) 24%,#183440),#0b1f2b);}.card-portrait--minor::after{display:none}.child-silhouette{position:relative;width:38px;height:43px;display:block}.child-silhouette>i{position:absolute;left:10px;top:2px;width:18px;height:18px;border-radius:48% 48% 46% 46%;background:color-mix(in srgb,var(--branch) 76%,#eaf8f7);box-shadow:0 0 13px color-mix(in srgb,var(--branch) 24%,transparent)}.child-silhouette::after{position:absolute;content:"";left:3px;bottom:1px;width:32px;height:20px;border-radius:50% 50% 34% 34%;background:color-mix(in srgb,var(--branch) 68%,#d8ecec);clip-path:ellipse(50% 58% at 50% 66%)}
.card-copy { min-width: 0; display: block; }
.card-copy strong { display: -webkit-box; overflow: hidden; font-family: var(--serif); font-size: 17px; line-height: 1.12; letter-spacing: -.01em; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.person-name-unit{display:inline}.person-name-lead{display:inline-block;white-space:nowrap}.deceased-cross{display:inline;margin-right:.28em;color:#000!important;font-family:Georgia,"Times New Roman",serif;font-style:normal;font-weight:900;line-height:1;text-shadow:-1px 0 rgba(255,255,255,.82),0 1px rgba(255,255,255,.82),1px 0 rgba(255,255,255,.82),0 -1px rgba(255,255,255,.82);vertical-align:.03em}.person-name-heading .deceased-cross{margin-right:.18em;font-size:.78em;vertical-align:.08em}.legacy-person-link{border-radius:4px;text-decoration:underline;text-decoration-color:rgba(131,191,185,.35);text-underline-offset:3px}.legacy-person-link:hover,.legacy-person-link:focus-visible{color:var(--cyan);text-decoration-color:currentColor}.legacy-person-link:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.card-copy small { margin-top: 2px; display: -webkit-box; overflow: hidden; color: var(--muted); font-size: 10px; line-height: 1.18; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
.card-copy .nickname { margin-top: 2px; color: color-mix(in srgb, var(--branch) 78%, white); font-size: 9.5px; font-style: italic; -webkit-line-clamp:1; }
.card-copy .card-extra { margin-top:2px; display:block; color:#7893a2; font-size:8.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.person-card[data-lineage="relative"] .card-copy small { color:#58717c; }.person-card[data-lineage="relative"] .card-copy .nickname{color:color-mix(in srgb,var(--branch) 72%,#173542)}.person-card[data-lineage="relative"] .card-copy .card-extra{color:#68808a}.person-card[data-lineage="relative"] .card-arrow{color:#607782}.person-card[data-lineage="relative"] .card-portrait{background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--branch) 15%,white),#e7eff1);box-shadow:inset 0 0 18px rgba(255,255,255,.78),0 6px 15px rgba(14,48,61,.13)}.person-card[data-lineage="relative"] .card-portrait b{color:color-mix(in srgb,var(--branch) 72%,#173542)}
.card-arrow { position: absolute; right: 10px; top: 9px; color: var(--quiet); font-size:11px; transition: color .2s ease, transform .2s ease; }.person-card:hover .card-arrow { color: var(--branch); transform: translate(2px, -2px); }
.search-result-head { margin: 5px 0 18px; display: flex; align-items: baseline; gap: 10px; }.search-result-head strong { font-size: 20px; }.search-result-head span { color: var(--muted); }
.search-person-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 226px), 1fr)); }
.json-source-note { margin: 20px 0 0; color: var(--quiet); font-size: 10px; text-align: right; letter-spacing: .04em; }
.empty-state { min-height: 190px; padding: 40px; display: grid; place-content: center; text-align: center; border: 1px dashed var(--line); border-radius: 20px; color: var(--muted); }.empty-state strong, .empty-state span { display: block; }

.person-page { padding-block: 32px 130px; }
.breadcrumbs { margin-bottom: 25px; display: flex; flex-wrap: wrap; gap: 8px; color: var(--quiet); font-size: 12px; }.breadcrumbs a:hover { color: var(--cyan); }.breadcrumbs strong { color: var(--muted); }
.person-hero { position: relative; min-height: 380px; padding: clamp(30px, 5vw, 72px); display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: clamp(28px, 4vw, 64px); overflow: hidden; border: 1px solid color-mix(in srgb, var(--branch) 28%, transparent); border-radius: 30px; background: linear-gradient(130deg, color-mix(in srgb, var(--branch) 9%, #0b2433), rgba(7, 23, 34, .82) 62%); box-shadow: var(--shadow); }
.person-hero::before { position: absolute; content: ""; width: 480px; height: 480px; right: -240px; top: -230px; border: 1px solid color-mix(in srgb, var(--branch) 16%, transparent); border-radius: 50%; box-shadow: 0 0 90px color-mix(in srgb, var(--branch) 8%, transparent); }
.identity-beacon { position: relative; width: 180px; height: 180px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--branch) 38%, transparent); border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--branch) 14%, transparent), transparent 66%); }
.identity-beacon::before, .identity-beacon::after { position: absolute; content: ""; inset: 13px; border: 1px dashed color-mix(in srgb, var(--branch) 25%, transparent); border-radius: 50%; animation: orbit 30s linear infinite; }.identity-beacon::after { inset: 30px; animation-direction: reverse; animation-duration: 20s; }
.identity-beacon > span { position: relative; z-index: 2; font-family: var(--serif); font-size: 72px; color: var(--branch); text-shadow: 0 0 30px color-mix(in srgb, var(--branch) 32%, transparent); }.identity-beacon>img{width:calc(100% - 18px);height:calc(100% - 18px);object-fit:cover;object-position:center 36%;border-radius:50%;filter:saturate(.9) contrast(1.04)}
.identity-beacon i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--branch); box-shadow: 0 0 13px var(--branch); }.identity-beacon i:nth-of-type(1){left:13px;top:76px}.identity-beacon i:nth-of-type(2){right:31px;top:21px}.identity-beacon i:nth-of-type(3){right:20px;bottom:39px}
.identity-beacon--minor > .child-silhouette{width:92px;height:108px;font-size:0}.identity-beacon--minor > .child-silhouette::after{position:absolute;content:"";left:7px;bottom:4px;width:78px;height:56px;border-radius:50% 50% 34% 34%;background:color-mix(in srgb,var(--branch) 68%,#d8ecec);clip-path:ellipse(50% 58% at 50% 66%)}.identity-beacon--minor > .child-silhouette>i:first-child{position:absolute;left:25px;right:auto;top:5px;bottom:auto;width:42px;height:42px;border-radius:48% 48% 46% 46%;background:color-mix(in srgb,var(--branch) 76%,#eaf8f7);box-shadow:0 0 18px color-mix(in srgb,var(--branch) 28%,transparent)}
.person-heading { position: relative; z-index: 2; min-width: 0; }
.person-heading h1 { margin-bottom: 6px; font-family: var(--serif); font-size: clamp(48px, 5.3vw, 84px); font-weight: 500; line-height: .96; letter-spacing: -.045em; }
.person-nicknames { margin-bottom: 22px; color: var(--branch); font-family: var(--serif); font-size: 22px; font-style: italic; }
.identity-facts { display: flex; flex-wrap: wrap; gap: 10px; scroll-margin-top:110px; }
.identity-facts > span { min-width: 125px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 11px; background: rgba(0, 0, 0, .12); }.identity-facts small, .identity-facts strong { display: block; }.identity-facts small { margin-bottom: 2px; color: var(--quiet); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }.identity-facts strong { font-size: 13px; }
.person-actions { position: relative; z-index: 2; display: grid; gap: 10px; align-self: end; }
.kinship-map { margin-top: 85px; }
.kinship-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.kin-group { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 19px; background: linear-gradient(145deg, rgba(12, 35, 48, .78), rgba(8, 26, 38, .68)); }
.kin-group > header { min-height: 54px; margin-bottom: 11px; padding: 7px 12px 7px 8px; display: flex; align-items: center; gap: 11px; border: 1px solid rgba(98, 245, 220, .4); border-radius: 14px; background: linear-gradient(105deg, rgba(21, 222, 198, .22), rgba(84, 191, 248, .07)); box-shadow: inset 3px 0 0 #35f2d8, 0 8px 24px rgba(14, 225, 200, .07); }.kin-group > header > span { flex: 0 0 auto; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(105, 255, 232, .52); border-radius: 11px; color: #74ffe9; background: rgba(3, 27, 34, .42); font-size: 17px; box-shadow: inset 0 0 16px rgba(98, 245, 220, .08); }.kin-group > header h3 { margin: 0; color: #7affea; font-size: 17px; font-weight: 850; line-height: 1.15; letter-spacing: .01em; }.kin-group > div { display: grid; gap: 9px; }.kin-group > div > p { margin: 17px 5px; color: var(--muted); font-size: 13px; }
.relation-card { min-height: 76px; padding: 11px 13px; display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 1px solid rgba(142, 202, 224, .16); border-radius: 15px; background: rgba(255, 255, 255, .038); transition: border .2s, background .2s, transform .2s; }.relation-card:hover { transform: translateX(3px); border-color: color-mix(in srgb, var(--relative) 46%, transparent); background: rgba(255, 255, 255, .055); }.relation-card > span:first-child { width: 52px; height: 52px; display: grid; place-items: center; overflow: hidden; border: 1px solid color-mix(in srgb, var(--relative) 40%, transparent); border-radius: 14px; color: var(--relative); background: color-mix(in srgb, var(--relative) 11%, transparent); font-family: var(--serif); font-size: 25px; }.relation-card strong, .relation-card small { display: block; overflow-wrap: anywhere; }.relation-card strong { display:-webkit-box;overflow:hidden;color:#e6f4f6;font-size:15px;line-height:1.22;-webkit-line-clamp:2;-webkit-box-orient:vertical; }.relation-card small { margin-top: 4px; color: #95afba; font-size: 12px; line-height: 1.35; }.relation-card b { color: #7fa2ae; font-size: 14px; }
.relation-portrait--minor{overflow:hidden}.relation-portrait--minor .child-silhouette{transform:scale(.66)}
.story-foundation { margin-top: 85px; padding: clamp(30px, 5vw, 70px); display: grid; grid-template-columns: 170px minmax(0, 900px); justify-content: center; gap: clamp(30px, 6vw, 90px); border: 1px solid var(--line); border-radius: 26px; background: linear-gradient(130deg, rgba(16, 42, 55, .7), rgba(7, 20, 30, .68)); }.story-index { align-self: start; padding-top: 10px; text-align: right; }.story-index span, .story-index small { display: block; }.story-index span { font-family: var(--serif); color: var(--branch); font-size: 38px; }.story-index small { color: var(--quiet); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }.story-foundation h2 { font-family: var(--serif); font-size: clamp(38px, 4vw, 58px); font-weight: 500; letter-spacing: -.035em; }.prose { color: #c4d7df; font-family: var(--serif); font-size: clamp(18px, 1.5vw, 22px); line-height: 1.8; }.source-notes { margin-top: 28px; padding: 18px 20px; border-left: 2px solid var(--branch); background: rgba(0, 0, 0, .12); color: var(--muted); }.source-notes strong { color: var(--ink); }.source-notes ul { margin-bottom: 0; padding-left: 20px; }
.memory-stream { margin-top: 90px; }.editorial-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }.memory-card { grid-column: span 4; padding: 25px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: rgba(10, 31, 44, .7); box-shadow: 0 18px 50px rgba(0, 0, 0, .15); }.memory-card.layout-feature { grid-column: span 8; }.memory-card.layout-timeline { grid-column: span 5; }.memory-card.layout-gallery { grid-column: span 7; }.memory-card > header { display: flex; justify-content: space-between; gap: 10px; color: var(--quiet); font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }.memory-label { color: var(--cyan); }.memory-card h3 { margin: 18px 0 11px; font-family: var(--serif); font-size: clamp(25px, 2.3vw, 38px); font-weight: 500; line-height: 1.08; }.memory-summary { color: #b6ccd5; font-size: 15px; }.memory-story { margin-top: 15px; color: var(--muted); }.media-gallery { margin-top: 21px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }.media-count-1 { grid-template-columns: 1fr; }.media-item { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #07151f; }.media-item img { width: 100%; height: 270px; object-fit: cover; }.layout-feature .media-item img { height: 420px; }.media-item video { width: 100%; max-height: 460px; background: #020508; }.media-item audio { padding: 10px; }.media-item figcaption { padding: 10px 12px; color: var(--muted); font-size: 11px; }.audio-visual { height: 100px; padding: 22px; display: flex; align-items: center; justify-content: center; gap: 5px; background: linear-gradient(135deg, rgba(98,245,220,.08), rgba(84,191,248,.05)); }.audio-visual i { width: 4px; height: 24px; border-radius: 99px; background: var(--cyan); animation: audio 1.2s ease-in-out infinite alternate; }.audio-visual i:nth-child(2n) { height: 46px; animation-delay: -.4s; }.audio-visual i:nth-child(3n) { height: 66px; animation-delay: -.7s; }@keyframes audio{to{transform:scaleY(.45)}}
.document-link { min-height: 90px; padding: 15px; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 10px; }.document-link > span { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--line-bright); border-radius: 10px; color: var(--cyan); font-size: 10px; }.document-link strong { font-size: 12px; overflow-wrap: anywhere; }.memory-card > footer { margin-top: 17px; display: flex; flex-wrap: wrap; gap: 7px; }.memory-card > footer span { padding: 4px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 9px; }.palette-amber .memory-label{color:#f6c96b}.palette-violet .memory-label{color:#a89cff}.palette-rose .memory-label{color:#ff91b7}.palette-emerald .memory-label{color:#70efaf}
.memory-empty { min-height: 220px; padding: 35px; display: grid; grid-template-columns: 70px 1fr auto; align-items: center; gap: 24px; border: 1px dashed var(--line-bright); border-radius: 22px; background: rgba(98, 245, 220, .025); }.empty-beacon { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid rgba(98,245,220,.3); border-radius: 50%; color: var(--cyan); font-size: 24px; box-shadow: inset 0 0 30px rgba(98,245,220,.07); }.memory-empty h3 { margin-bottom: 7px; font-family: var(--serif); font-size: 26px; font-weight: 500; }.memory-empty p { margin: 0; color: var(--muted); }

.memory-actions{margin:12px 0 -2px;display:flex;gap:7px;justify-content:flex-end}.memory-actions button{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);color:var(--muted);cursor:pointer;font-size:9px}.memory-actions button:hover{border-color:var(--line-bright);color:var(--cyan)}
.editable-relation{position:relative}.editable-relation>form,.relation-actions{position:absolute;z-index:2;right:6px;top:50%;transform:translateY(-50%)}.relation-actions{display:flex;align-items:center;gap:4px}.relation-actions form{position:static;transform:none}.editable-relation form button,.relation-edit{width:24px;height:24px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,124,168,.28);border-radius:50%;background:#10212c;color:#ff9fba;cursor:pointer}.relation-edit{border-color:rgba(98,245,220,.24);color:var(--cyan)}.editable-relation .relation-card{padding-right:67px}.relation-portrait img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.relationship-icon{display:inline-block;margin-right:5px;font-style:normal;line-height:1;transform-origin:center}.spouse-heart{color:#ff547d;text-shadow:0 0 8px rgba(255,84,125,.4)}.first-marriage-heart{color:#9ca3af;text-shadow:0 0 6px rgba(156,163,175,.22)}.fiance-heart{color:#54bff8;text-shadow:0 0 8px rgba(84,191,248,.34)}.last-marriage-heart{color:#ef3340;text-shadow:0 0 7px rgba(239,51,64,.62);animation:last-marriage-heartbeat 1.35s ease-in-out infinite}@keyframes last-marriage-heartbeat{0%,36%,100%{transform:scale(1);text-shadow:0 0 7px rgba(239,51,64,.48)}14%{transform:scale(1.22);text-shadow:0 0 13px rgba(239,51,64,.88)}24%{transform:scale(1.06);text-shadow:0 0 9px rgba(239,51,64,.68)}}
.relation-help{display:block;margin:10px 5px 0;color:var(--quiet);font-size:10px;line-height:1.45}
.modal-divider{margin:24px 0;border:0;border-top:1px solid var(--line)}
.modal-backdrop { position: fixed; z-index: 300; inset: 0; padding: 24px; display: grid; place-items: center; overflow-y: auto; background: rgba(1, 7, 12, .78); backdrop-filter: blur(16px); animation: fade-in .18s ease; }
.modal-card { position: relative; width: min(560px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; padding: 38px; border: 1px solid rgba(113, 221, 230, .24); border-radius: 24px; background: linear-gradient(145deg, rgba(15, 43, 57, .98), rgba(6, 20, 31, .99)); box-shadow: 0 40px 120px rgba(0, 0, 0, .6); animation: modal-in .22s ease; }
.modal-wide { width: min(1040px, 100%); padding: 0; overflow: hidden; }
.modal-close { position: absolute; z-index: 4; top: 14px; right: 15px; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; background: rgba(0,0,0,.15); color: #b9cdd5; cursor: pointer; font-size: 24px; line-height: 1; }.modal-close:hover { border-color: var(--line-bright); color: white; }
.modal-card h2 { margin-bottom: 13px; font-family: var(--serif); font-size: clamp(32px, 4vw, 48px); font-weight: 500; line-height: 1.04; letter-spacing: -.03em; }.modal-lead { color: var(--muted); }.modal-signal, .success-orb, .error-orb { width: 62px; height: 62px; margin-bottom: 25px; display: grid; place-items: center; border: 1px solid rgba(98,245,220,.28); border-radius: 18px; color: var(--cyan); background: rgba(98,245,220,.06); font-size: 27px; }.success-orb { border-radius: 50%; font-family: var(--serif); }.error-orb { color: #ff9fb9; border-color: rgba(255,124,168,.35); background: rgba(255,124,168,.06); }
.selected-person { margin: 21px 0; padding: 11px 13px; display: flex; align-items: center; gap: 11px; border: 1px solid rgba(98,245,220,.15); border-radius: 13px; background: rgba(98,245,220,.04); }.selected-person > span { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 11px; color: var(--cyan); background: rgba(98,245,220,.08); font-family: var(--serif); font-size: 20px; }.selected-person small, .selected-person strong { display: block; }.selected-person small { color: var(--quiet); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.selected-person strong { font-size: 13px; }
.form-field { margin: 16px 0; }.form-field > label { margin-bottom: 6px; display: block; color: #c3d7df; font-size: 12px; font-weight: 750; }.form-field input:not([type="checkbox"]), .form-field textarea, .form-field select, .follow-up-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; background: rgba(2, 13, 20, .52); color: var(--ink); padding: 12px 14px; outline: 0; transition: border .15s, box-shadow .15s; }.form-field input:not([type="checkbox"]), .form-field select { min-height: 49px; }.form-field textarea { resize: vertical; min-height: 110px; }.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color: rgba(98,245,220,.46); box-shadow: 0 0 0 4px rgba(98,245,220,.06); }.form-field input[type="file"] { padding: 18px; border-style: dashed; }.field-checkbox > label { display: flex; align-items: start; gap: 9px; font-weight: 500; line-height: 1.45; }.field-checkbox input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--cyan); }.field-error { margin-top: 5px; display: block; color: #ff9eb7; font-size: 11px; }.form-alert { padding: 12px 14px; border: 1px solid rgba(255,124,168,.3); border-radius: 11px; background: rgba(255,124,168,.06); color: #ffc0d2; }.form-alert p { margin: 0; }.privacy-note { margin: 17px 0 0; color: var(--quiet); font-size: 10px; }.privacy-note span { color: var(--cyan); }
.pdf-feature-field { position: relative; margin: 22px 0; padding: 17px 18px 15px; border: 1px solid rgba(244, 190, 72, .38); border-radius: 15px; background: linear-gradient(135deg, rgba(198, 147, 45, .12), rgba(98, 245, 220, .035)); box-shadow: inset 3px 0 0 rgba(244, 190, 72, .72); }.pdf-feature-field:has(input:checked) { border-color: rgba(244, 190, 72, .68); background: linear-gradient(135deg, rgba(198, 147, 45, .19), rgba(98, 245, 220, .05)); }.pdf-feature-field.is-disabled { filter: saturate(.25); opacity: .67; }.pdf-feature-field > label { margin: 5px 0 7px; color: #f5f7f5; font-size: 14px; }.pdf-feature-field small { display: block; color: #a9bdc5; font-size: 14px; line-height: 1.5; }.pdf-feature-kicker { display: block; color: #f4be48; font-size: 14px; font-weight: 850; letter-spacing: .1em; }.pdf-feature-field input:disabled { cursor: not-allowed; }
.relationship-modal{width:min(590px,100%)}.relationship-modal h2 small,.modal-compact h2 small{color:var(--quiet);font-family:var(--font);font-size:.38em;font-weight:600}.relationship-picker{position:relative}.picker-search-icon{position:absolute;z-index:2;left:14px;top:50%;transform:translateY(-50%);color:var(--cyan);font-size:19px;pointer-events:none}.relationship-picker input[type="search"]{padding-left:43px;padding-right:35px}.relationship-results{position:absolute;z-index:10;top:calc(100% + 6px);left:0;right:0;max-height:min(290px,42vh);padding:6px;overflow-y:auto;border:1px solid rgba(98,245,220,.26);border-radius:13px;background:#071b27;box-shadow:0 22px 55px rgba(0,0,0,.5)}.relationship-results button{width:100%;min-height:50px;padding:8px 10px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.relationship-results button:hover,.relationship-results button[aria-selected="true"]{background:rgba(98,245,220,.08)}.relationship-results b{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(98,245,220,.19);border-radius:50%;color:var(--cyan);font-family:var(--serif);font-size:16px}.relationship-results strong,.relationship-results small{display:block}.relationship-results strong{font-size:12px}.relationship-results small{margin-top:2px;color:var(--quiet);font-size:9px}.picker-empty{padding:18px;color:var(--muted);font-size:11px;text-align:center}.selected-relationship-person{margin-top:8px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(98,245,220,.2);border-radius:11px;background:rgba(98,245,220,.05);color:#d9ebee;font-size:11px}.selected-relationship-person button{border:0;background:transparent;color:var(--cyan);cursor:pointer}.confirm-dialog{width:min(470px,calc(100% - 24px));padding:0;border:1px solid rgba(255,124,168,.3);border-radius:22px;background:#0a2230;color:var(--ink);box-shadow:0 40px 110px rgba(0,0,0,.7)}.confirm-dialog::backdrop{background:rgba(1,7,12,.82);backdrop-filter:blur(13px)}.confirm-dialog-card{padding:32px}.confirm-dialog-card h2{margin:5px 0 10px;font-family:var(--serif);font-size:34px;font-weight:500}.confirm-dialog-card>p:not(.eyebrow){color:var(--muted)}.confirm-icon{width:48px;height:48px;margin-bottom:18px;display:grid;place-items:center;border:1px solid rgba(255,124,168,.32);border-radius:50%;color:#ff9fba;background:rgba(255,124,168,.06);font-size:21px}.confirm-actions{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.confirm-actions .button{width:100%}
.relationship-current{margin:-3px 0 16px;padding:11px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;border:1px solid rgba(98,245,220,.22);border-radius:13px;background:linear-gradient(90deg,rgba(98,245,220,.08),rgba(84,191,248,.035))}.relationship-current>span:first-child{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(98,245,220,.12);color:var(--cyan);font-weight:900}.relationship-current strong,.relationship-current small{display:block}.relationship-current strong{font-size:16px}.relationship-current small{margin-top:2px;color:var(--muted);font-size:14px}.relationship-safety-note{margin:4px 0 17px;padding:10px 12px;border-left:3px solid var(--cyan);color:#abc0ca;background:rgba(98,245,220,.045);font-size:14px}.relationship-empty{margin:18px 0;padding:24px;border:1px dashed rgba(98,245,220,.3);border-radius:16px;text-align:center}.relationship-empty>span{display:block;color:var(--cyan);font-size:32px}.relationship-empty strong{font-size:17px}.relationship-empty p{margin:6px 0 0;color:var(--muted);font-size:14px}
.relationship-confirm-modal{width:min(590px,100%)}.relationship-change-summary{display:grid;gap:10px;margin:22px 0}.relationship-change-card{padding:16px;border:1px solid rgba(160,180,191,.24);border-radius:16px;background:rgba(255,255,255,.035)}.relationship-change-card.is-after{border-color:rgba(98,245,220,.42);background:linear-gradient(135deg,rgba(98,245,220,.1),rgba(84,191,248,.055))}.relationship-change-label{display:block;margin-bottom:8px;color:var(--quiet);font-size:14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.relationship-change-card.is-after .relationship-change-label{color:var(--cyan)}.relationship-change-card>strong{display:block;font-family:var(--serif);font-size:20px;line-height:1.2}.relationship-change-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 0}.relationship-change-card dl div{padding:9px;border-radius:10px;background:rgba(1,13,21,.34)}.relationship-change-card dt{color:var(--quiet);font-size:14px}.relationship-change-card dd{margin:3px 0 0;color:var(--ink);font-size:15px;font-weight:800}.relationship-change-arrow{justify-self:center;color:var(--cyan);font-size:24px}.relationship-type-warning{padding:12px 14px;border:1px solid rgba(255,158,71,.34);border-radius:12px;background:rgba(255,158,71,.08);color:#ffd5ad;font-size:14px}.relationship-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.relationship-confirm-actions form,.relationship-confirm-actions .button{width:100%}.button-danger{border-color:rgba(255,86,117,.54);background:linear-gradient(135deg,#ff6a88,#ff8a62);color:#07121a}.button-danger:hover{filter:brightness(1.08)}@media(max-width:560px){.relationship-change-card dl,.relationship-confirm-actions{grid-template-columns:1fr}.relationship-confirm-modal{max-height:calc(100dvh - 24px);overflow:auto}}
.code-visual { margin-bottom: 25px; display: flex; gap: 7px; }.code-visual i { width: 34px; height: 44px; border: 1px solid rgba(98,245,220,.28); border-radius: 9px; background: rgba(98,245,220,.05); }.code-modal input { text-align: center; font-size: 28px; font-weight: 850; letter-spacing: .36em; }
.modal-columns { display: grid; grid-template-columns: .72fr 1.28fr; }.modal-aside { min-height: 650px; padding: 55px 40px 40px; border-right: 1px solid var(--line); background: radial-gradient(circle at 20% 20%, rgba(98,245,220,.1), transparent 17rem), rgba(4,17,25,.5); }.modal-aside h2 { font-size: 43px; }.modal-aside > p:not(.eyebrow) { color: var(--muted); }.modal-form-area { max-height: calc(100vh - 48px); padding: 42px; overflow-y: auto; }.process-list { margin: 42px 0 0; padding: 0; display: grid; gap: 16px; list-style: none; }.process-list li { display: flex; align-items: center; gap: 13px; color: #bdd1d8; }.process-list b { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; color: var(--cyan); font-size: 10px; }.upload-summary { margin: -5px 0 15px; color: var(--quiet); font-size: 10px; }.logic-meter { margin-top: 42px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: rgba(0,0,0,.12); }.logic-meter span, .logic-meter small { display: block; }.logic-meter span { font-size: 12px; font-weight: 700; }.logic-meter div { height: 5px; margin: 13px 0 8px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.07); }.logic-meter i { display: block; width: 98%; height: 100%; background: linear-gradient(90deg, var(--cyan-2), var(--cyan)); box-shadow: 0 0 10px var(--cyan); }.logic-meter small { color: var(--quiet); font-size: 9px; }
.status-modal { text-align: center; }.status-modal .eyebrow { justify-content: center; }.status-modal .modal-lead { max-width: 440px; margin-inline: auto; }.ai-loader { position: relative; width: 88px; height: 88px; margin: 0 auto 24px; display: grid; place-items: center; border: 1px solid rgba(98,245,220,.18); border-radius: 50%; }.ai-loader span { color: var(--cyan); font-size: 13px; font-weight: 900; letter-spacing: .1em; }.ai-loader i { position: absolute; inset: 5px; border: 1px dashed rgba(98,245,220,.35); border-radius: 50%; animation: orbit 9s linear infinite; }.ai-loader i:nth-child(2) { inset: -5px; animation-direction: reverse; animation-duration: 13s; }.ai-loader i:nth-child(3) { inset: 18px; }
.job-status { margin-top: 24px; text-align: left; }.status-line { padding: 15px; display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }.status-line > span { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border: 1px solid var(--line-bright); border-radius: 50%; color: var(--cyan); }.status-line strong, .status-line small { display: block; }.status-line strong { font-size: 13px; }.status-line small { color: var(--muted); font-size: 10px; }.pulse-dot { background: var(--cyan)!important; box-shadow: 0 0 0 0 rgba(98,245,220,.35); animation: pulse 1.4s infinite; }@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(98,245,220,0)}100%{box-shadow:0 0 0 0 rgba(98,245,220,0)}}.status-line.warning > span { color: var(--gold); border-color: rgba(246,201,107,.35); }.status-line.success > span { color: #7cf1b1; border-color: rgba(124,241,177,.35); }.status-line.question > span { color: #a89cff; border-color: rgba(168,156,255,.35); }
.follow-up-form { margin-top: 14px; }.follow-up-form label { margin-bottom: 6px; display: block; font-size: 11px; font-weight: 700; }.follow-up-form textarea { resize: vertical; }
@keyframes fade-in{from{opacity:0}}@keyframes modal-in{from{opacity:0;transform:translateY(14px) scale(.98)}}

.manager-page { padding-block: 60px 130px; }.manager-heading { align-items: center; }.manager-heading > div > p:last-child { margin-top: 16px; }.manager-grid { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: 18px; align-items: start; }.panel { padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: rgba(10,31,44,.72); }.panel h2 { margin-bottom: 18px; font-family: var(--serif); font-size: 31px; font-weight: 500; }.panel-index { margin-bottom: 14px; display: block; color: var(--cyan); font-family: var(--serif); font-size: 19px; }.manager-list-head { display: flex; align-items: start; gap: 13px; }.manager-list-head h2, .manager-list-head p { margin: 0; }.manager-list-head p { color: var(--quiet); font-size: 11px; }.contributor-table { margin-top: 18px; display: grid; gap: 8px; }.contributor-row { padding: 11px; display: grid; grid-template-columns: 42px minmax(160px,1fr) auto auto auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }.contributor-avatar { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; color: var(--cyan); background: rgba(98,245,220,.07); font-family: var(--serif); font-size: 20px; }.contributor-copy strong, .contributor-copy small { display: block; }.contributor-copy strong { font-size: 12px; }.contributor-copy small { color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }.role-chip, .state-chip { padding: 5px 8px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }.state-chip.active { border-color: rgba(98,245,220,.25); color: var(--cyan); }.mini-button { padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; background: transparent; color: var(--muted); cursor: pointer; font-size: 9px; }.mini-button:hover { color: white; border-color: var(--line-bright); }

.site-footer{min-height:120px;padding:28px max(32px,calc((100vw - 1680px)/2));display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,auto) minmax(0,1fr);align-items:center;gap:30px;border-top:1px solid var(--line);background:rgba(2,10,16,.82);color:var(--muted);font-size:12px}.site-footer span,.site-footer strong{display:block}.site-footer strong{margin-top:3px;color:#d7e6ea;font-size:13px}.site-footer a{color:var(--cyan)}.footer-ceox{color:#fff!important;font-size:13px;font-weight:750;line-height:1.45;text-align:center;text-decoration:none}.footer-ceox:hover,.footer-ceox:focus-visible{color:var(--cyan)!important;text-decoration:underline;text-underline-offset:4px}.footer-contact{text-align:right}

@media (max-width: 1180px) {
  .session-chip { display: none; }
  .header-researcher-credit{display:grid;gap:1px;font-size:10.5px}.header-researcher-credit strong{font-size:14px}
  .hero { grid-template-columns: 1fr .55fr; }.hero-orbit { opacity: .72; }
  .command-deck { grid-template-columns: repeat(3, 1fr) 1.2fr; }.deck-status { display: none; }.pdf-download { grid-column: span 4; }
  .kinship-grid { grid-template-columns: repeat(2, 1fr); }
  .person-hero { grid-template-columns: 140px 1fr; }.identity-beacon { width: 140px; height: 140px; }.person-actions { grid-column: 1 / -1; display: flex; }.person-actions .button { flex: 1; }
  .memory-card, .memory-card.layout-feature, .memory-card.layout-timeline, .memory-card.layout-gallery { grid-column: span 6; }
  .contributor-row { grid-template-columns: 42px 1fr auto; }.role-chip { display: none; }.state-chip { justify-self: end; }.mini-button { grid-column: 2 / -1; justify-self: end; }
}

@media (max-width: 860px) {
  .shell { width: min(100% - 28px, 1680px); }
  .site-header { min-height: 70px; padding: 10px 14px; gap:12px }.brand small { display: none; }.brand strong { font-size: 12px; }.brand-mark { width: 38px; height: 38px; }.brand-mark i:nth-child(1){left:16px}.brand-mark i:nth-child(2){left:7px}.brand-mark i:nth-child(3){right:7px}.brand-mark i:nth-child(4){left:12px}.brand-mark i:nth-child(5){right:12px}.brand-mark::before,.brand-mark::after{left:6px;width:25px}
  .top-actions .button { min-height: 40px; padding: 8px 11px; font-size: 11px; }.header-pdf { display: none; }
  .hero { position: relative; min-height: 0; padding-block: 70px; grid-template-columns: 1fr; }.hero-orbit { position: absolute; width: 360px; right: -160px; top: 105px; opacity: .22; pointer-events: none; }.hero-copy { position: relative; z-index: 2; }.hero h1 { font-size: clamp(52px, 13vw, 76px); }.hero-lead { max-width: 720px; }
  .command-deck { margin-bottom: 90px; grid-template-columns: repeat(3, 1fr); }.pdf-download { grid-column: span 3; }.stat { padding: 12px; }.stat strong { font-size: 25px; }
  .section-heading { align-items: start; flex-direction: column; gap: 17px; }.section-heading > p { max-width: none; }.lineage-legend{justify-content:flex-start}
  .search-console { top: 78px; grid-template-columns: 1fr auto; }.branch-select { grid-column: 1 / -1; grid-row: 2; }.search-console > .button { grid-column: 2; grid-row: 1; }
  .generation-stack { padding-inline: 11px; }.generation-lane { padding-left: 12px; padding-top: 66px; }.generation-lane > .person-grid::before{left:-12px}.generation-label { left: 12px; top: 13px; width: auto; align-items:flex-start;gap:2px; }.generation-label::after { display: none; }.generation-label small { font-size: 9px; }.person-grid,.search-person-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
  .person-page { padding-top: 20px; }.person-hero { min-height: 0; padding: 35px; grid-template-columns: 1fr; text-align: center; }.identity-beacon { justify-self: center; }.person-heading .eyebrow, .identity-facts { justify-content: center; }.person-actions { display: grid; }.kinship-map, .story-foundation, .memory-stream { margin-top: 62px; }.story-foundation { grid-template-columns: 1fr; gap: 15px; }.story-index { text-align: left; }.memory-empty { grid-template-columns: 55px 1fr; }.memory-empty > .button { grid-column: 1 / -1; }
  .modal-columns { grid-template-columns: 1fr; }.modal-aside { min-height: auto; padding: 38px 35px 26px; border-right: 0; border-bottom: 1px solid var(--line); }.modal-aside h2 { font-size: 35px; }.process-list, .logic-meter { display: none; }.modal-form-area { padding: 32px; }
  .manager-grid { grid-template-columns: 1fr; }
  .site-footer{grid-template-columns:1fr;gap:18px;text-align:center}.footer-contact{text-align:center}.footer-ceox{font-size:12.5px}
}

@media (max-width: 580px) {
  .ambient { display: none; }
  .site-header{min-height:88px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"brand actions" "credit credit";gap:5px 8px}.brand{grid-area:brand}.brand span:last-child{display:none}.header-researcher-credit{grid-area:credit;display:flex;gap:5px;padding-top:4px;border-top:1px solid rgba(124,201,221,.08);font-size:10px;line-height:1.2}.header-researcher-credit strong{font-size:13px}.top-actions{grid-area:actions;width:auto}.top-actions .button{flex:1;padding-inline:7px}.top-actions .button span{display:none}
  .hero { padding-block: 50px; overflow: hidden; }.hero-orbit { width: 300px; right: -190px; top: 68px; opacity: .18; contain: layout paint; }.hero h1 { font-size: 49px; }.hero-lead { font-size: 16px; }.hero-cta { display: grid; }.hero-cta .button { width: 100%; }
  .command-deck { padding: 9px; grid-template-columns: repeat(3, 1fr); }.stat { min-height: 70px; }.stat strong { font-size: 22px; }.stat span { font-size: 8px; }.pdf-download { min-height: 76px; }
  .tree-section { padding-bottom: 90px; }.section-heading h1, .section-heading h2 { font-size: 39px; }.lineage-legend{display:grid;grid-template-columns:1fr;width:100%;margin-top:-10px}.lineage-legend-item{width:100%}.search-console { padding: 9px; grid-template-columns: 1fr; }.search-console > .button { grid-column: 1; grid-row: 3; }.branch-select { grid-column: 1; grid-row: 2; }.search-field input { font-size: 14px; }
  .branch-header { padding: 15px; grid-template-columns: 42px 1fr; }.branch-code { width: 42px; height: 42px; }.branch-count { display: none; }.person-grid,.search-person-grid{grid-template-columns:1fr}.person-card { min-height: 94px;grid-template-columns:54px minmax(0,1fr);gap:11px;padding:10px 30px 10px 11px}.card-portrait{width:52px;height:52px}.card-copy strong { font-size: 17px; }.relationship-results{position:fixed;left:11px;right:11px;top:auto;bottom:11px;max-height:46vh}.confirm-dialog-card{padding:25px 20px}.confirm-actions{grid-template-columns:1fr}
  .person-hero { padding: 27px 18px; border-radius: 22px; }.person-heading h1 { font-size: 48px; }.identity-facts > span { min-width: calc(50% - 5px); }.kinship-grid { grid-template-columns: 1fr; }.story-foundation { padding: 28px 22px; }.editorial-grid { display: block; }.memory-card { margin-bottom: 14px; }.media-gallery { grid-template-columns: 1fr; }.media-item img, .layout-feature .media-item img { height: 300px; }.memory-empty { padding: 25px; grid-template-columns: 1fr; text-align: center; }.empty-beacon { margin-inline: auto; }
  .modal-backdrop { padding: 9px; }.modal-card { padding: 27px 20px; max-height: calc(100vh - 18px); border-radius: 19px; }.modal-wide { padding: 0; }.modal-aside { padding: 33px 22px 22px; }.modal-form-area { padding: 22px; }.modal-card h2 { font-size: 34px; }.code-visual i { width: 29px; height: 39px; }.code-modal input { font-size: 24px; }.contributor-row { grid-template-columns: 39px 1fr auto; }.contributor-avatar { width: 39px; height: 39px; }.mini-button { grid-column: 1 / -1; width: 100%; }.panel { padding: 20px; }
}

/* Négy következetes tipográfiai szerep: meta, törzsszöveg, cím, kiemelt cím. */
.brand small,.orbit-core small,.session-chip,.eyebrow,.stat span,.deck-status strong,.deck-status small,
.pdf-icon,.pdf-download small,.lineage-legend-item strong,.lineage-legend-item small,
.branch-select>span,.branch-code,.branch-header p,.branch-count,.generation-label small,
.card-copy small,.card-copy .nickname,.card-copy .card-extra,.card-arrow,.json-source-note,
.breadcrumbs,.identity-facts small,.identity-facts strong,.kin-group header small,
.kin-group header strong,.kin-group>div>p,.relation-card strong,.relation-card small,
.relation-card b,.story-index small,.memory-card>header,.media-item figcaption,
.document-link>span,.document-link strong,.memory-card>footer span,.memory-actions button,
.relation-help,.selected-person small,.selected-person strong,.form-field>label,.field-error,
.privacy-note,.relationship-results strong,.relationship-results small,.picker-empty,
.selected-relationship-person,.process-list b,.upload-summary,.logic-meter span,
.logic-meter small,.ai-loader span,.status-line strong,.status-line small,.follow-up-form label,
.manager-list-head p,.contributor-copy strong,.contributor-copy small,.role-chip,.state-chip,
.mini-button,.site-footer,.site-footer strong,.footer-ceox {
  font-size: var(--type-meta);
}

.button,.button-large,.brand strong,.header-researcher-credit,
.header-researcher-credit strong,.search-field input,.section-heading>p,
.manager-heading>div>p:last-child,.memory-summary,.memory-story,.modal-lead,
.form-field input,.form-field select,.form-field textarea,.follow-up-form textarea {
  font-size: var(--type-body);
}

.generation-label span,.search-field>span,.pdf-download b,
.person-nicknames,.relation-card>span:first-child,.panel-index,.contributor-avatar {
  font-size: var(--type-title);
}

/* A név csak 3 px-szel nagyobb a 14 px-es évszámnál. */
.card-copy strong { font-size: calc(var(--type-meta) + 3px); }
.kinship-map .relation-card strong { font-size: 16px; }
.kinship-map .relation-card small { font-size: 13px; }
.kinship-map .relation-card b { font-size: 14px; }

.person-card {
  height: 80px;
  min-height: 80px;
  max-height: 80px;
}
.card-copy { min-width: 0; max-height: 62px; overflow: hidden; }
.card-copy small { margin-top: 2px; line-height: 1.18; -webkit-line-clamp: 1; }
.card-copy .nickname,.card-copy .card-extra { -webkit-line-clamp: 1; }
.search-results-shell { contain: layout style; }
.search-person-grid .person-card { height: 80px; min-height: 80px; max-height: 80px; }

.privacy-banner {
  position: fixed;
  z-index: 280;
  right: 20px;
  bottom: 20px;
  width: min(620px, calc(100% - 40px));
  padding: 20px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  border: 1px solid rgba(98,245,220,.34);
  border-radius: 18px;
  background: rgba(6,25,36,.98);
  box-shadow: 0 28px 90px rgba(0,0,0,.55);
}
.privacy-banner[hidden] { display: none; }
.privacy-banner strong { display: block; font-size: var(--type-body); }
.privacy-banner p { margin: 5px 0 0; color: var(--muted); font-size: var(--type-meta); line-height: 1.5; }
.privacy-actions { display: flex; gap: 8px; }
.privacy-settings { margin-top: 8px; padding: 0; border: 0; background: transparent; color: #9fb5bf; font-size: var(--type-meta); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.privacy-settings:hover,.privacy-settings:focus-visible { color: var(--cyan); }

@media (max-width: 860px) {
  .top-actions .button,.brand strong,.header-researcher-credit,
  .header-researcher-credit strong,.generation-label small,.site-footer,
  .footer-ceox { font-size: var(--type-meta); }
}

@media (max-width: 580px) {
  .site-header {
    min-height: 66px;
    grid-template-columns: 44px minmax(0,1fr) auto;
    grid-template-areas: "brand credit actions";
    align-items: center;
    gap: 4px 9px;
  }
  .header-researcher-credit {
    align-self: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1px 5px;
    padding-top: 0;
    border-top: 0;
    line-height: 1.15;
    transform: translateY(-2px);
  }
  .header-researcher-credit>span,.header-researcher-credit strong { white-space: normal; }
  .top-actions{display:flex!important;width:auto!important;gap:5px!important}.top-actions>.mobile-collapse-item{display:none!important}.mobile-main-menu{display:block}.mobile-main-menu>summary{width:42px!important;min-width:42px!important;padding:9px!important}.top-actions .button .hamburger-lines{display:grid}.hamburger-lines i{display:block}.mobile-menu-popover{position:fixed;right:10px;top:62px}
  .top-actions:empty { display: none; }
  .person-grid .person-card,.search-person-grid .person-card,.person-card {
    height: 76px;
    min-height: 76px;
    max-height: 76px;
  }
  .privacy-banner { left: 10px; right: 10px; bottom: 10px; width: auto; grid-template-columns: 1fr; padding: 16px; }
  .privacy-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto!important; animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}

/* Közösségi hírfolyam és profilközpont — ugyanaz a négy tipográfiai szerep. */
.action-short { display: none; }
.header-auth-form { margin: 0; display: flex; }
.settings-menu { position: relative; }
.settings-menu > summary { list-style: none; }
.settings-menu > summary::-webkit-details-marker { display: none; }
.settings-popover {
  position: absolute;
  z-index: 160;
  right: 0;
  top: calc(100% + 12px);
  width: 310px;
  padding: 10px;
  border: 1px solid rgba(98,245,220,.25);
  border-radius: 18px;
  background: rgba(7,24,35,.98);
  box-shadow: 0 28px 90px rgba(0,0,0,.58);
  backdrop-filter: blur(22px);
}
.settings-popover::before { position:absolute;right:28px;top:-6px;width:11px;height:11px;content:"";border-left:1px solid rgba(98,245,220,.25);border-top:1px solid rgba(98,245,220,.25);background:#071823;transform:rotate(45deg); }
.settings-popover > a,.settings-identity { min-height:66px;padding:11px;display:flex;align-items:center;gap:12px;border-radius:12px; }
.settings-popover > a:hover,.settings-popover > a:focus-visible { background:rgba(98,245,220,.08);outline:0; }
.settings-popover > a > span:first-child { width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px;color:var(--cyan); }
.settings-popover strong,.settings-popover small { display:block; }
.settings-popover strong { font-size:var(--type-body); }
.settings-popover small { color:var(--muted);font-size:var(--type-meta); }
.settings-identity { margin-bottom:5px;border-bottom:1px solid var(--line);border-radius:0; }
.settings-identity > span:last-child { min-width:0; }
.settings-identity strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }

.settings-page,.activity-page { padding-block:72px 130px; }
.editor-page h1,.confirm-page h1,.settings-heading h1,.activity-page>header h1 { margin:0;font-family:var(--serif);font-size:var(--type-display);font-weight:500;line-height:1.01;letter-spacing:-.04em; }
.editor-page>header>p:last-child,.settings-heading>div>p:last-child,.activity-page>header>p:last-child { max-width:760px;margin:22px 0 0;color:#afc3cd;font-size:var(--type-body);line-height:1.7; }
.user-toolbar { margin:28px 0 40px;padding:11px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:16px;background:rgba(8,27,39,.82); }
.user-toolbar label { min-width:0;flex:1;padding:0 14px;display:flex;align-items:center;gap:10px;border-radius:11px;background:rgba(255,255,255,.035); }
.user-toolbar label span { color:var(--cyan);font-size:var(--type-title); }
.user-toolbar input { width:100%;min-height:46px;border:0;outline:0;background:transparent;color:var(--ink);font-size:var(--type-body); }
.content-empty { grid-column:1/-1;min-height:300px;padding:45px;display:grid;place-items:center;align-content:center;text-align:center;border:1px dashed rgba(98,245,220,.28);border-radius:22px;background:rgba(98,245,220,.025); }
.content-empty>span { font-size:44px;color:var(--cyan); }
.content-empty h2,.content-empty h3 { margin:15px 0 7px;font-family:var(--serif);font-size:var(--type-title); }
.content-empty p { color:var(--muted);font-size:var(--type-body); }
.pagination { margin-top:36px;display:flex;align-items:center;justify-content:center;gap:18px; }
.pagination a,.pagination span { padding:10px 15px;border:1px solid var(--line);border-radius:11px;font-size:var(--type-meta); }
.pagination a:hover { border-color:var(--line-bright);color:var(--cyan); }

.reaction-deck { max-width:1080px;margin:0 auto 55px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:20px;background:rgba(10,31,44,.65); }
.reaction-deck>div:first-child strong,.reaction-deck>div:first-child span { display:block; }
.reaction-deck>div:first-child strong { font-family:var(--serif);font-size:var(--type-title); }
.reaction-deck>div:first-child span { color:var(--muted);font-size:var(--type-meta); }
.reaction-buttons { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px; }
.reaction-buttons form { margin:0; }
.reaction-button { min-width:52px;min-height:46px;padding:7px 10px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);color:var(--ink);cursor:pointer;font-size:21px; }
.reaction-button b { font-size:var(--type-meta); }
.reaction-button:hover,.reaction-button.is-selected { border-color:rgba(98,245,220,.48);background:rgba(98,245,220,.11); }
.reaction-button.is-static { cursor:default; }
.comments-panel { max-width:1080px;margin:0 auto;padding:35px;border:1px solid var(--line);border-radius:24px;background:rgba(8,27,39,.76); }
.comments-panel>header { display:flex;align-items:center;justify-content:space-between;gap:20px; }
.comments-panel>header h2 { margin:0;font-family:var(--serif);font-size:var(--type-title); }
.comments-panel>header>strong { width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line-bright);border-radius:50%;font-family:var(--serif);font-size:var(--type-title); }
.comment-composer { margin:28px 0;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:13px;border:1px solid rgba(98,245,220,.22);border-radius:17px;background:rgba(98,245,220,.035); }
.comment-composer .form-field { margin-bottom:10px; }
.comment-composer label { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0); }
.comment-composer textarea { grid-column:1/-1;width:100%;min-width:0;min-height:112px;resize:vertical; }
.comment-composer .button { grid-column:2;justify-self:end;min-width:170px; }
.comment-avatar { width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(98,245,220,.26);border-radius:15px;background:linear-gradient(145deg,rgba(98,245,220,.13),rgba(84,191,248,.06));color:var(--cyan);font-family:var(--serif);font-size:var(--type-title);font-weight:700; }
.comment-login { margin:28px 0;padding:20px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025); }
.comment-login>span { width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:rgba(98,245,220,.08);color:var(--cyan);font-size:var(--type-title); }
.comment-login strong { font-size:var(--type-body); }
.comment-login p { margin:3px 0 0;color:var(--muted);font-size:var(--type-meta); }
.comment-list { display:grid;gap:12px; }
.comment { padding:18px;display:grid;grid-template-columns:48px 1fr;gap:13px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.02); }
.comment-body { min-width:0; }
.comment-body>header { display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px; }
.comment-body>header strong { font-size:var(--type-body); }
.comment-body>header time,.comment-body>header span { color:var(--quiet);font-size:var(--type-meta); }
.comment-body>p { margin:9px 0 0;color:#c3d3da;font-size:var(--type-body);line-height:1.65;overflow-wrap:anywhere; }
.comment-actions { margin-top:10px;display:flex;align-items:center;gap:14px; }
.comment-actions form { margin:0;display:inline; }
.comment-actions a,.comment-actions button { padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--type-meta); }
.comment-actions a:hover,.comment-actions button:hover { color:var(--cyan); }
.comment--reply { margin-top:14px;padding:14px;background:rgba(98,245,220,.025); }
.comment--reply .comment-avatar { width:40px;height:40px;font-size:var(--type-body); }
.comment-removed { color:var(--quiet)!important;font-style:italic; }
.reply-composer { margin-top:13px;padding:14px;border-left:2px solid var(--cyan);background:rgba(98,245,220,.025); }
.reply-composer[hidden] { display:none; }
.reply-composer label { display:grid;gap:7px;color:var(--muted);font-size:var(--type-meta); }
.reply-composer textarea { width:100%;min-height:76px;padding:12px;border:1px solid var(--line);border-radius:11px;background:rgba(0,0,0,.18);color:var(--ink);font-size:var(--type-body);resize:vertical; }
.reply-composer .button { margin-top:9px; }
.comments-empty { padding:36px;text-align:center;color:var(--muted); }
.comments-empty span { display:block;font-size:36px; }
.comments-empty p { font-size:var(--type-body); }

.editor-page { width:min(1040px,calc(100% - 64px));padding-block:70px 130px; }
.editor-page--small { max-width:760px; }
.editor-page>header>a,.activity-page>header>a { display:inline-block;margin-bottom:34px;color:var(--cyan);font-size:var(--type-meta); }
.editor-form { margin-top:38px;padding:34px;border:1px solid var(--line);border-radius:24px;background:rgba(10,31,44,.76);box-shadow:var(--shadow); }
.editor-form .form-field { margin-bottom:20px; }
.editor-form textarea { resize:vertical; }
.editor-submit { margin-top:28px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line); }
.editor-submit strong,.editor-submit small { display:block; }
.editor-submit strong { font-size:var(--type-body); }
.editor-submit small { color:var(--muted);font-size:var(--type-meta); }
.confirm-page,.verify-page { min-height:calc(100vh - 198px);padding-block:80px;display:grid;place-items:center; }
.confirm-page>div,.verify-card { width:min(620px,100%);padding:42px;border:1px solid rgba(255,124,168,.26);border-radius:26px;background:rgba(10,31,44,.86);box-shadow:var(--shadow); }
.confirm-page p:not(.eyebrow),.verify-card>p:not(.eyebrow) { color:var(--muted);font-size:var(--type-body); }
.confirm-page form>div { margin-top:28px;display:flex;gap:9px; }
.verify-card { border-color:rgba(98,245,220,.26); }
.verify-card h1 { font-family:var(--serif);font-size:var(--type-display);font-weight:500;line-height:1; }
.verify-card form { margin-top:28px; }

.settings-heading { margin-bottom:38px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:35px; }
.settings-heading nav { padding:5px;display:flex;gap:4px;border:1px solid var(--line);border-radius:13px;background:rgba(8,27,39,.82); }
.settings-heading nav a { padding:10px 15px;border-radius:9px;color:var(--muted);font-size:var(--type-meta);font-weight:750; }
.settings-heading nav a.is-active { background:rgba(98,245,220,.1);color:var(--cyan); }
.settings-grid { display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:18px;align-items:start; }
.settings-grid .panel h2,.panel-title h2 { font-size:var(--type-title); }
.panel-title { display:flex;align-items:start;justify-content:space-between;gap:20px; }
.panel-title p { margin:4px 0 0;color:var(--muted);font-size:var(--type-meta); }
.panel-title>strong { width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line-bright);border-radius:50%;font-family:var(--serif);font-size:var(--type-title); }
.email-list { margin:24px 0;display:grid;gap:8px; }
.email-list article { padding:13px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.022); }
.email-state { width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(246,201,107,.3);border-radius:12px;color:var(--gold); }
.email-state.is-verified { border-color:rgba(98,245,220,.3);color:var(--cyan); }
.email-list strong,.email-list small { display:block;overflow-wrap:anywhere; }
.email-list strong { font-size:var(--type-body); }
.email-list small { color:var(--muted);font-size:var(--type-meta); }
.email-list article>div:last-child { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px; }
.email-list article form { margin:0; }
.email-list article button { padding:6px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:var(--type-meta); }
.email-list article button:hover { color:var(--cyan); }
.email-add-form { padding-top:22px;border-top:1px solid var(--line); }
.user-toolbar { justify-content:space-between; }
.user-toolbar form { min-width:0;flex:1;display:flex;gap:9px; }
.user-directory { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.user-directory-card { padding:20px;display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:15px;border:1px solid var(--line);border-radius:19px;background:rgba(10,31,44,.72); }
.user-avatar { width:56px;height:56px;display:grid;place-items:center;border:1px solid rgba(98,245,220,.27);border-radius:17px;background:rgba(98,245,220,.07);color:var(--cyan);font-family:var(--serif);font-size:var(--type-title); }
.user-directory-copy>div { display:flex;align-items:center;flex-wrap:wrap;gap:8px; }
.user-directory-copy h2 { margin:0;font-family:var(--serif);font-size:var(--type-title);font-weight:600; }
.user-directory-copy ul { margin:10px 0 7px;padding:0;display:grid;gap:4px;list-style:none; }
.user-directory-copy li { display:flex;align-items:center;gap:6px;color:#b8ccd5;font-size:var(--type-meta);overflow-wrap:anywhere; }
.user-directory-copy li>span { color:var(--cyan); }
.user-directory-copy li small { margin-left:auto;color:var(--quiet);font-size:var(--type-meta); }
.user-directory-copy>p { margin:0;color:var(--quiet);font-size:var(--type-meta); }
.user-directory-actions { display:flex;flex-direction:column;align-items:flex-end;gap:6px; }
.user-directory-actions a { color:var(--muted);font-size:var(--type-meta); }
.user-directory-actions a:hover { color:var(--cyan); }
.user-directory-actions .danger-link { color:#ffadc2; }
.activity-page { max-width:1120px; }
.activity-page>header { max-width:800px;margin-bottom:52px; }
.activity-timeline { display:grid;gap:32px; }
.activity-timeline>section { display:grid;grid-template-columns:190px 1fr;gap:28px; }
.activity-timeline>section>time { padding-top:14px; }
.activity-timeline>section>time strong,.activity-timeline>section>time span { display:block; }
.activity-timeline>section>time strong { font-family:var(--serif);font-size:var(--type-title); }
.activity-timeline>section>time span { color:var(--muted);font-size:var(--type-meta); }
.activity-timeline>section>div { position:relative;display:grid;gap:8px; }
.activity-timeline>section>div::before { position:absolute;left:20px;top:0;bottom:0;width:1px;content:"";background:linear-gradient(var(--cyan),rgba(98,245,220,.08)); }
.activity-timeline article { position:relative;padding:14px 17px 14px 55px;display:grid;grid-template-columns:60px 1fr;gap:13px;border:1px solid var(--line);border-radius:14px;background:rgba(10,31,44,.7); }
.activity-dot { position:absolute;z-index:2;left:14px;top:20px;width:13px;height:13px;border:3px solid #0a1f2c;border-radius:50%;background:var(--cyan);box-shadow:0 0 15px rgba(98,245,220,.5); }
.activity-timeline article>time { color:var(--cyan);font-size:var(--type-meta); }
.activity-timeline article strong,.activity-timeline article a,.activity-timeline article p { display:block;font-size:var(--type-body); }
.activity-timeline article a { margin-top:3px;color:#bcd0d8; }
.activity-timeline article p { margin:3px 0 0;color:var(--muted); }

@media (max-width:1180px) {
  .site-header { gap:12px; }
  .top-actions { gap:6px; }
  .top-actions .button { padding-inline:11px; }
  .user-directory { grid-template-columns:1fr; }
}

@media (max-width:860px) {
  .action-long { display:none; }.action-short { display:inline; }
  .top-actions .button { min-width:0; }
  .settings-page,.activity-page { padding-block:44px 95px; }
  .settings-grid { grid-template-columns:1fr; }
  .settings-heading { grid-template-columns:1fr; }
  .settings-heading nav { justify-self:start; }
  .activity-timeline>section { grid-template-columns:1fr;gap:12px; }
}

@media (max-width:580px) {
  .site-header { min-height:66px; }
  .top-actions { display:flex;gap:5px; }
  .top-actions .button { width:100%;min-height:42px;padding:6px 5px;gap:4px;font-size:var(--type-meta);white-space:nowrap; }
  .top-actions .button .action-short { display:inline; }
  .top-actions .header-login { grid-column:auto; }
  .header-auth-form { min-width:0; }
  .settings-menu { min-width:0; }
  .settings-menu>summary { width:100%; }
  .settings-popover { position:fixed;left:10px;right:10px;top:108px;width:auto; }
  .header-researcher-credit { grid-area:credit; }
  .reaction-deck { padding:16px;align-items:flex-start;flex-direction:column; }
  .reaction-buttons { justify-content:flex-start; }
  .comments-panel { padding:20px 14px; }
  .comment-login { grid-template-columns:45px 1fr; }
  .comment-login .button { grid-column:1/-1; }
  .comment-composer { grid-template-columns:minmax(0,1fr);padding:13px; }
  .comment-composer textarea,.comment-composer .button { grid-column:1; }
  .comment-composer .button { width:100%;min-width:0;justify-self:stretch; }
  .comment { grid-template-columns:40px 1fr;padding:13px; }
  .comment-avatar { width:40px;height:40px;font-size:var(--type-body); }
  .comment--reply { margin-left:-46px; }
  .editor-page { width:min(100% - 28px,1040px);padding-block:45px 90px; }
  .editor-form { padding:21px 16px; }
  .editor-submit { align-items:stretch;flex-direction:column; }
  .editor-submit .button { width:100%; }
  .confirm-page,.verify-page { padding:45px 14px; }
  .confirm-page>div,.verify-card { padding:29px 20px; }
  .confirm-page form>div { display:grid;grid-template-columns:1fr; }
  .settings-heading nav { width:100%; }
  .settings-heading nav a { flex:1;text-align:center; }
  .email-list article { grid-template-columns:40px 1fr; }
  .email-list article>div:last-child { grid-column:1/-1;justify-content:flex-start; }
  .user-toolbar { align-items:stretch;flex-direction:column; }
  .user-toolbar form { display:grid;grid-template-columns:1fr; }
  .user-directory-card { grid-template-columns:48px minmax(0,1fr);padding:16px; }
  .user-avatar { width:48px;height:48px; }
  .user-directory-actions { grid-column:1/-1;padding-top:12px;align-items:center;flex-direction:row;flex-wrap:wrap;border-top:1px solid var(--line); }
  .activity-timeline article { padding-left:48px;grid-template-columns:48px 1fr; }
}
/* V23 — az emlék maga a tartalom, a hírfolyam pedig a valós változások élő naplója. */
.home-stage{padding-top:54px;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,420px);gap:28px;align-items:stretch}.home-stage>.hero{min-width:0;margin:0;padding:58px 54px;grid-template-columns:minmax(0,1fr) 230px;border:1px solid var(--line);border-radius:30px;background:rgba(8,26,39,.52)}
.live-rail{min-width:0;max-height:610px;display:grid;grid-template-rows:auto 1fr auto;border:1px solid rgba(98,245,220,.22);border-radius:28px;background:linear-gradient(180deg,rgba(12,39,51,.96),rgba(6,20,31,.96));box-shadow:var(--shadow);overflow:hidden}.live-rail>header,.live-rail>footer{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.live-rail>header{border-bottom:1px solid var(--line)}.live-rail>header>div{display:flex;align-items:center;gap:11px}.live-rail>header small,.live-rail>footer{color:var(--muted);font-size:14px}.live-rail>header strong{display:block;font-size:18px}.live-rail>header a{color:var(--cyan);font-weight:800}.live-rail>footer{border-top:1px solid var(--line)}.live-rail>footer button{border:0;background:none;color:var(--cyan);cursor:pointer;font:inherit;font-weight:800}.live-rail-viewport{min-height:0;overflow-y:auto;scroll-snap-type:none;scrollbar-width:thin;scrollbar-color:rgba(98,245,220,.42) transparent}.live-rail-track{padding:9px}.live-rail .activity-card{scroll-snap-align:none}.live-empty{min-height:190px;display:grid;place-items:center;text-align:center;color:var(--muted)}
.activity-card{position:relative;margin:7px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);overflow:hidden;transition:border-color .2s,transform .2s,background .2s}.activity-card:hover,.activity-card:focus-within{border-color:rgba(98,245,220,.45);background:rgba(98,245,220,.055);transform:translateY(-1px)}.activity-card-link{min-height:128px;padding:15px;display:grid;grid-template-columns:34px auto minmax(0,1fr) 18px;align-items:center;gap:11px;color:inherit;text-decoration:none}.activity-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(98,245,220,.28);border-radius:11px;color:var(--cyan);background:rgba(98,245,220,.07);font-size:18px}.activity-thumb{width:62px;height:72px;display:block;border-radius:12px;overflow:hidden;background:#06131c}.activity-thumb img{width:100%;height:100%;object-fit:contain;background:#081923}.activity-copy{min-width:0;display:block}.activity-kicker{display:block;color:var(--cyan);font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.activity-copy>strong{margin-top:4px;display:block;font-family:var(--serif);font-size:19px;line-height:1.12}.activity-copy>span:not(.activity-kicker){margin-top:6px;display:-webkit-box;overflow:hidden;color:#afc4ce;font-size:14px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}.activity-copy small{margin-top:9px;display:block;color:var(--quiet);font-size:14px}.activity-copy small b{color:#d9ebef}.activity-arrow{color:var(--cyan)}.activity-memory_deleted,.activity-person_deleted,.activity-relationship_deleted{opacity:.78}
.activity-person-link{margin:0 15px 14px 60px;padding:8px 10px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(98,245,220,.18);border-radius:12px;background:rgba(98,245,220,.035);color:inherit;text-decoration:none}.activity-person-link>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:rgba(98,245,220,.1);color:var(--cyan);font-size:14px;font-weight:900}.activity-person-link>strong,.activity-person-link>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.activity-person-link>small{color:var(--cyan)}.activity-person-link:hover{border-color:rgba(98,245,220,.4);background:rgba(98,245,220,.08)}
.archive-masthead{min-height:270px;padding:46px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 82% 18%,rgba(108,86,241,.18),transparent 22rem),rgba(8,27,39,.76)}.archive-masthead h1{margin:0;font-family:var(--serif);font-size:clamp(42px,6vw,82px);font-weight:500;line-height:1}.archive-masthead h1 em{color:var(--cyan)}.archive-masthead p:last-child{max-width:750px;color:#b2c7d0;font-size:16px;line-height:1.7}.memory-archive,.activity-archive{padding-block:68px 130px}.archive-search{margin:28px 0 38px;padding:11px;display:grid;grid-template-columns:minmax(0,1fr) 240px auto;gap:10px;border:1px solid var(--line);border-radius:17px;background:rgba(8,27,39,.86)}.archive-search label{display:flex;align-items:center;gap:12px;padding:0 15px}.archive-search input,.archive-search select{width:100%;min-height:48px;border:0;background:transparent;color:var(--text);font-size:16px}.archive-search select{padding:0 14px;border:1px solid var(--line);border-radius:11px;background:#081c28}.memory-explorer{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.memory-explorer-hint{margin:28px 0 38px;padding:18px;display:flex;align-items:center;gap:13px;border:1px solid rgba(108,86,241,.35);border-radius:17px;background:rgba(108,86,241,.08)}.memory-explorer-hint>span{font-size:28px;color:#a89cff}.memory-explorer-hint p{margin:0;color:var(--muted);font-size:14px}.memory-explorer-hint strong{display:block;color:var(--text);font-size:15px}.activity-archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.activity-archive-list .activity-card-link{min-height:150px}.pagination{margin-top:34px;display:flex;align-items:center;justify-content:center;gap:14px}.pagination>span{color:var(--muted);font-size:14px}
.memory-archive-list,.person-memory-list{display:grid;gap:28px}.memory-card-v23{padding:30px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,rgba(11,35,48,.92),rgba(7,23,34,.9));box-shadow:0 18px 55px rgba(0,0,0,.16);overflow:hidden}.memory-card-v23>header{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:14px}.memory-card-v23>header>div{display:flex;gap:10px}.memory-card-heading{display:block;margin-top:18px;color:inherit;text-decoration:none}.memory-card-heading h2{margin:0;font-family:var(--serif);font-size:clamp(30px,4vw,50px);font-weight:500;line-height:1.06}.memory-card-heading p{max-width:850px;color:#c1d5dc;font-size:16px}.memory-story-preview{max-width:980px;font-size:16px;line-height:1.72}.memory-card-v23>footer{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.memory-person-chip{min-width:0;padding:8px 14px 8px 8px;display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:10px;align-items:center;border:1px solid var(--line);border-radius:999px;color:inherit;text-decoration:none}.memory-person-chip>span{width:42px;height:42px;grid-row:1/3;display:grid;place-items:center;border-radius:50%;background:rgba(98,245,220,.1);color:var(--cyan);font-weight:900}.memory-person-chip b{font-size:15px}.memory-person-chip small{color:var(--muted);font-size:14px}.memory-person-chip-large{border-radius:18px}
.memory-media{margin:24px 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.memory-media-item{grid-column:span 6;margin:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#06141e}.memory-media-item.orientation-portrait{grid-column:span 5}.memory-media-item.orientation-landscape,.memory-media-item.presentation-feature{grid-column:span 12}.memory-media-item img{width:100%;height:auto;max-height:min(78vh,900px);display:block;object-fit:contain;background:#071720}.media-lightbox-trigger{width:100%;padding:0;border:0;background:#071720;cursor:zoom-in}.memory-media-item video{width:100%;max-height:78vh;background:#02070b}.memory-media-item audio{width:calc(100% - 24px);margin:0 12px 14px}.memory-media-item figcaption{width:100%;box-sizing:border-box;padding:12px 15px;color:#adc2cc;font-size:14px;text-align:center}.memory-detail .memory-media{justify-items:center}.memory-detail .memory-media.media-count-1 .memory-media-item{grid-column:1/-1;width:min(100%,1120px);justify-self:center;align-items:center}.memory-detail .memory-media.media-count-1 .memory-media-item.orientation-portrait,.memory-detail .memory-media.media-count-1 .memory-media-item.presentation-portrait{width:min(100%,760px)}.memory-detail .media-lightbox-trigger{display:grid;place-items:center}.media-lightbox{width:min(96vw,1500px);height:min(94vh,1100px);padding:0;border:1px solid var(--line-bright);border-radius:20px;background:#02080d}.media-lightbox::backdrop{background:rgba(0,7,12,.9);backdrop-filter:blur(8px)}.media-lightbox img{width:100%;height:100%;object-fit:contain}.media-lightbox>button{position:absolute;z-index:2;right:14px;top:14px;width:46px;height:46px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(2,8,13,.78);color:#fff;font-size:28px;cursor:pointer}
.memory-detail{padding-block:52px 130px}.memory-detail-header{margin-top:26px;padding:42px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:26px;border:1px solid var(--line);border-radius:28px;background:rgba(9,29,42,.78)}.memory-detail-header h1{margin:0;font-family:var(--serif);font-size:clamp(46px,7vw,92px);font-weight:500;line-height:1}.memory-detail-header>div>p:last-of-type{max-width:900px;color:#bcd0d8;font-size:17px}.memory-byline{display:flex;gap:13px;color:var(--muted);font-size:14px}.memory-detail-actions{margin:18px 0;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.memory-detail-story{max-width:980px;margin:36px auto;color:#c3d5db;font-family:var(--serif);font-size:clamp(20px,2.2vw,27px);line-height:1.75}.memory-detail .reaction-deck,.memory-detail .comments-panel{max-width:980px;margin:34px auto}.person-memory-list{grid-template-columns:1fr}.person-memory-list .memory-card-v23{padding:26px}
@media(max-width:1180px){.home-stage{grid-template-columns:1fr}.live-rail{max-height:520px}.memory-explorer{grid-template-columns:1fr}.memory-explorer-hint{margin-top:-24px}.activity-archive-list{grid-template-columns:1fr}}
@media(max-width:760px){.home-stage{width:100%;padding-top:20px;gap:14px}.home-stage>.hero{width:min(100% - 28px,1680px);margin-inline:auto;padding:30px 19px;grid-template-columns:1fr}.live-rail{width:100%;max-height:460px;border-left:0;border-right:0;border-radius:0}.live-rail .activity-card-link{min-height:118px;padding:12px;grid-template-columns:30px 50px minmax(0,1fr)}.live-rail .activity-arrow{display:none}.activity-thumb{width:50px;height:62px}.activity-copy>strong{font-size:17px}.activity-copy>span:not(.activity-kicker){-webkit-line-clamp:1}.archive-masthead{min-height:0;padding:30px 20px;grid-template-columns:1fr}.archive-search{grid-template-columns:1fr}.archive-search label{min-height:48px}.memory-card-v23{padding:20px 16px;border-radius:20px}.memory-card-v23>header,.memory-card-v23>footer,.memory-detail-header{grid-template-columns:1fr}.memory-card-v23>header,.memory-card-v23>footer{align-items:stretch}.memory-media{display:block}.memory-media-item{margin-bottom:12px}.memory-media-item img{max-height:75vh}.memory-card-heading h2{font-size:32px}.memory-detail{padding-top:24px}.memory-detail-header{padding:27px 19px}.memory-detail-header h1{font-size:44px}.memory-detail-actions{display:grid}.memory-byline{display:grid;gap:4px}.memory-person-chip{border-radius:16px}.activity-archive-list .activity-card-link{grid-template-columns:34px 52px minmax(0,1fr)}.activity-archive-list .activity-arrow{display:none}.memory-explorer-hint{margin-top:-25px}.pagination{flex-wrap:wrap}}
@media(max-width:760px){.activity-person-link{margin:0 12px 12px 52px;grid-template-columns:28px minmax(0,1fr)}.activity-person-link>small{display:none}}
.activity-sentinel{min-height:38px;display:grid;place-items:center;color:var(--muted)}.activity-sentinel::after{content:"További változások betöltése…";font-size:14px}.archive-filter-chip{width:max-content;max-width:100%;margin:24px 0 -10px;padding:9px 10px 9px 14px;display:flex;align-items:center;gap:12px;border:1px solid rgba(98,245,220,.26);border-radius:999px;background:rgba(98,245,220,.06);font-size:14px}.archive-filter-chip a{color:var(--cyan);font-weight:800}.memory-section-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.audio-visual{height:110px;padding:28px;display:flex;align-items:center;justify-content:center;gap:8px;background:radial-gradient(circle,rgba(98,245,220,.12),transparent 70%)}.audio-visual i{width:5px;height:28px;border-radius:99px;background:linear-gradient(var(--cyan),var(--cyan-2));box-shadow:0 0 12px rgba(98,245,220,.25)}.audio-visual i:nth-child(2),.audio-visual i:nth-child(6){height:48px}.audio-visual i:nth-child(3),.audio-visual i:nth-child(5){height:68px}.audio-visual i:nth-child(4){height:82px}.memory-media-item.presentation-document img{max-height:none}.memory-media-item.presentation-portrait{grid-column:span 5}.memory-media-item.presentation-landscape{grid-column:span 12}
@media(max-width:760px){.memory-section-actions{width:100%;display:grid;grid-template-columns:1fr}.archive-filter-chip{width:100%;justify-content:space-between}.activity-sentinel{min-height:48px}.memory-media-item.presentation-portrait,.memory-media-item.presentation-landscape{width:100%}}
/* A kép teljes tartalma marad látható; a szerkeszthető fókuszpont csak akkor
   lép életbe, ha egy későbbi megjelenítés arányos keretet alkalmaz. */
.memory-media-item img{object-position:var(--focal-x,50%) var(--focal-y,35%)}
.memory-media-delete{align-self:flex-end;margin:0 12px 12px;padding:8px 12px;border:1px solid rgba(255,112,143,.4);border-radius:10px;background:rgba(255,83,124,.08);color:#ff9ab1;font:800 14px/1 var(--sans);cursor:pointer}.memory-media-delete:hover,.memory-media-delete:focus-visible{border-color:#ff799a;background:rgba(255,83,124,.16);color:#fff}.memory-detail-actions>form{display:contents}.memory-pdf-locked:disabled{filter:grayscale(1);opacity:.48;cursor:not-allowed}
@media(max-width:760px){.memory-media-delete{width:calc(100% - 24px);margin:0 12px 12px;padding:12px}.memory-detail-actions>form{display:block}.memory-detail-actions>form .button{width:100%}}

/* V45 — egyetlen, teljes emlékszerkesztő és determinisztikus médiatár. */
.memory-editor-modal{width:min(1180px,100%);padding:30px;overflow:auto}.memory-editor-heading{padding:0 46px 23px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.memory-editor-heading h2{margin:6px 0 8px;font-size:clamp(34px,4vw,52px)}.memory-editor-heading .modal-lead{max-width:700px;margin:0}.memory-editor-person{min-width:230px;padding:10px;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;color:inherit;text-decoration:none;background:rgba(98,245,220,.035)}.memory-editor-person>span{width:44px;height:44px;grid-row:1/3;display:grid;place-items:center;border-radius:50%;background:rgba(98,245,220,.11);color:var(--cyan);font-weight:900}.memory-editor-person strong,.memory-editor-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-editor-person strong{font-size:15px}.memory-editor-person small{color:var(--muted);font-size:14px}
.memory-editor-grid{padding-top:22px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:20px;align-items:start}.memory-editor-form,.memory-editor-library{min-width:0}.memory-editor-section{margin-bottom:14px;padding:18px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.022)}.memory-editor-section-title{margin-bottom:15px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px}.memory-editor-section-title>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(98,245,220,.28);border-radius:11px;color:var(--cyan);background:rgba(98,245,220,.07);font-size:14px;font-weight:900}.memory-editor-section-title strong,.memory-editor-section-title small{display:block}.memory-editor-section-title strong{font-size:16px}.memory-editor-section-title small{margin-top:2px;color:var(--muted);font-size:14px}.memory-editor-fields-two{display:grid;grid-template-columns:1.3fr .7fr;gap:12px}.memory-editor-section .form-field{margin-bottom:13px}.memory-editor-section .form-field:last-child{margin-bottom:0}.memory-editor-section textarea{min-height:190px;resize:vertical}.memory-upload-zone{border-style:dashed;border-color:rgba(98,245,220,.32);background:rgba(98,245,220,.035)}.memory-upload-zone input[type=file]{padding:13px;border:1px solid var(--line);border-radius:12px;background:#061721}.memory-upload-zone .upload-summary{margin:10px 0 0;color:#9eb8c2;font-size:14px;line-height:1.5}.pdf-editor-section{border-color:rgba(255,196,74,.25);background:rgba(255,196,74,.035)}.pdf-editor-section .memory-editor-section-title>span{border-color:rgba(255,196,74,.36);color:#ffd979;background:rgba(255,196,74,.08)}.pdf-editor-section.is-disabled{opacity:.6}.memory-editor-savebar{position:sticky;bottom:-1px;z-index:4;padding:14px 0 2px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(180deg,transparent,#081c28 28%)}.memory-editor-savebar>span{max-width:330px;color:var(--muted);font-size:14px;line-height:1.4}.memory-editor-savebar .button{min-width:230px}
.memory-editor-library{padding:18px;border:1px solid rgba(98,245,220,.2);border-radius:19px;background:linear-gradient(155deg,rgba(12,39,51,.92),rgba(5,19,29,.96))}.memory-editor-library>header{padding-bottom:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.memory-editor-library>header>div{display:flex;align-items:center;gap:11px}.memory-editor-library>header>div>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--cyan),#69bfff);color:#03202a;font-weight:950}.memory-editor-library h3,.memory-editor-library p{margin:0}.memory-editor-library h3{font-family:var(--serif);font-size:25px;font-weight:600}.memory-editor-library header p,.memory-editor-library header>small{color:var(--muted);font-size:14px}.memory-editor-media-list{max-height:64vh;margin-top:12px;display:grid;gap:9px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(98,245,220,.4) transparent}.memory-editor-media-row{position:relative;min-height:88px;padding:9px;display:grid;grid-template-columns:20px 72px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025);transition:border-color .18s,background .18s,opacity .18s,transform .18s}.memory-editor-media-row::before{content:counter(media-order);counter-increment:media-order;position:absolute;left:31px;top:5px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#082330;color:var(--cyan);font-size:11px;font-weight:900}.memory-editor-media-list{counter-reset:media-order}.memory-editor-media-row:hover{border-color:rgba(98,245,220,.36);background:rgba(98,245,220,.045)}.memory-editor-media-row.is-dragging{opacity:.5;border-color:var(--cyan);transform:scale(.99)}.memory-editor-media-row.is-pending-delete{border-color:rgba(255,112,143,.5);background:rgba(255,83,124,.07);opacity:.72}.memory-media-grip{color:#65818c;font-size:18px;cursor:grab;letter-spacing:-4px}.memory-editor-thumb{width:72px;height:68px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#06141e;color:var(--cyan);font-size:24px;font-weight:900}.memory-editor-thumb img{width:100%;height:100%;object-fit:contain;background:#081923}.memory-editor-thumb.media-document span{font-size:12px}.memory-editor-media-copy{min-width:0}.memory-editor-media-copy strong,.memory-editor-media-copy small,.memory-editor-media-copy p,.memory-editor-media-copy em{display:block}.memory-editor-media-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.memory-editor-media-copy small{margin-top:3px;color:var(--muted);font-size:14px}.memory-editor-media-copy p{margin:5px 0 0;color:#a9bec7;font-size:14px;line-height:1.35}.memory-editor-media-copy em{min-height:18px;margin-top:3px;color:#ff9fb6;font-size:14px;font-style:normal;font-weight:800}.memory-editor-media-actions{display:grid;grid-template-columns:38px 38px;gap:6px}.memory-editor-media-actions button{min-height:36px;padding:0 8px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.03);color:var(--text);font:800 14px/1 var(--sans);cursor:pointer}.memory-editor-media-actions button:disabled{opacity:.25;cursor:not-allowed}.memory-editor-media-actions .media-remove-toggle{grid-column:1/-1;color:#ff9fb6;border-color:rgba(255,112,143,.35)}.memory-editor-media-actions .media-remove-toggle[aria-pressed=true]{color:#dceff2;border-color:rgba(98,245,220,.3)}.memory-editor-media-empty{min-height:240px;padding:30px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.memory-editor-media-empty>span{font-size:38px;color:var(--cyan)}.memory-editor-media-empty strong{margin-top:9px;color:var(--text)}.memory-editor-media-empty p{max-width:330px;margin-top:5px;font-size:14px}.memory-editor-live{min-height:20px;margin:10px 4px 0;color:var(--cyan);font-size:14px}
.memory-editor-secondary{margin-top:22px;padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line)}.memory-editor-secondary details{padding:0;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.02)}.memory-editor-secondary summary{padding:14px;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;cursor:pointer;list-style:none}.memory-editor-secondary summary::-webkit-details-marker{display:none}.memory-editor-secondary summary>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(98,245,220,.24);border-radius:10px;color:var(--cyan)}.memory-editor-secondary summary strong,.memory-editor-secondary summary small{display:block}.memory-editor-secondary summary strong{font-size:15px}.memory-editor-secondary summary small{margin-top:2px;color:var(--muted);font-size:14px;line-height:1.35}.memory-editor-secondary details>form{padding:0 14px 14px}.memory-editor-secondary .memory-editor-danger{border-color:rgba(255,112,143,.2)}.memory-editor-danger summary>span{border-color:rgba(255,112,143,.32);color:#ff9fb6}.memory-card-actions{display:flex;align-items:center;gap:9px}
@media(max-width:900px){.memory-editor-modal{padding:24px}.memory-editor-heading{align-items:stretch;flex-direction:column}.memory-editor-person{min-width:0;width:100%}.memory-editor-grid{grid-template-columns:1fr}.memory-editor-library{grid-row:1}.memory-editor-media-list{max-height:48vh}.memory-editor-secondary{grid-template-columns:1fr}}
@media(max-width:760px){.memory-editor-modal{width:100%;height:100%;max-height:calc(100vh - 18px);padding:20px 14px;border-radius:18px}.memory-editor-heading{padding-right:36px}.memory-editor-heading h2{font-size:32px}.memory-editor-grid{padding-top:15px;gap:14px}.memory-editor-library,.memory-editor-section{padding:13px}.memory-editor-library>header{align-items:flex-start;flex-direction:column}.memory-editor-library>header>small{display:none}.memory-editor-media-list{max-height:none;overflow:visible}.memory-editor-media-row{grid-template-columns:18px 58px minmax(0,1fr);gap:8px}.memory-editor-thumb{width:58px;height:58px}.memory-editor-media-actions{grid-column:2/-1;grid-template-columns:44px 44px minmax(0,1fr)}.memory-editor-media-actions .media-remove-toggle{grid-column:auto}.memory-editor-fields-two{grid-template-columns:1fr}.memory-editor-savebar{padding-top:20px;align-items:stretch;flex-direction:column}.memory-editor-savebar .button{width:100%;min-width:0}.memory-editor-secondary{margin-top:16px}.memory-card-v23>footer{display:grid}.memory-card-actions{display:grid;grid-template-columns:1fr 1fr}.memory-card-actions .button{width:100%}}

/* V47 — mobilon a mentés nem takarja ki a médiatárat; a legkisebb segédszöveg is 14 px. */
.memory-editor-media-row::before{font-size:14px}
.memory-editor-thumb.media-document span{font-size:14px}
@media(max-width:760px){.memory-editor-savebar{position:static;background:none}}
.new-media-caption-list{margin-top:12px;display:grid;gap:9px}.new-media-caption-list[hidden]{display:none}.new-media-caption{padding:11px;display:grid;gap:7px;border:1px solid rgba(98,245,220,.2);border-radius:12px;background:rgba(2,18,27,.45)}.new-media-caption>span,.media-caption-field>span{overflow:hidden;color:#b8ccd5;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.new-media-caption textarea,.media-caption-field textarea{width:100%;min-height:62px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#061721;color:var(--ink);font:500 14px/1.45 var(--sans);resize:vertical}.media-caption-field{margin-top:8px;display:grid;gap:5px}.memory-editor-secondary-single{grid-template-columns:1fr}.memory-editor-secondary-single details{max-width:620px}
.portrait-workshop{margin-bottom:20px;padding:16px;border:1px solid rgba(98,245,220,.24);border-radius:18px;background:linear-gradient(145deg,rgba(98,245,220,.055),rgba(7,24,35,.7))}.portrait-workshop-heading{margin-bottom:14px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px}.portrait-workshop-heading>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(98,245,220,.32);border-radius:50%;color:var(--cyan);box-shadow:0 0 20px rgba(98,245,220,.12)}.portrait-workshop-heading strong,.portrait-workshop-heading small,.portrait-panel-title strong,.portrait-panel-title small{display:block}.portrait-workshop-heading strong{font-size:17px}.portrait-workshop-heading small,.portrait-panel-title small{margin-top:2px;color:var(--muted);font-size:14px}.portrait-file-field{display:grid;gap:7px}.portrait-file-field>label{font-size:14px;font-weight:850}.portrait-file-field input{width:100%;padding:11px;border:1px solid var(--line);border-radius:11px;background:#061721;color:var(--ink)}.portrait-workspace{margin-top:15px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:13px}.portrait-workspace[hidden]{display:none}.portrait-source-panel,.portrait-crop-panel{min-width:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:rgba(1,13,21,.58)}.portrait-panel-title{min-height:47px}.portrait-source-panel canvas,.portrait-crop-panel canvas{width:100%;display:block;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:#061721}.portrait-source-panel canvas{aspect-ratio:720/470;cursor:pointer}.portrait-crop-panel canvas{aspect-ratio:1;cursor:grab;touch-action:none}.portrait-crop-panel canvas:active{cursor:grabbing}.portrait-face-options{margin-top:9px;display:flex;flex-wrap:wrap;gap:7px}.portrait-face-options button{min-height:38px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);color:var(--ink);font:800 14px/1 var(--sans);cursor:pointer}.portrait-face-options button.is-selected{border-color:var(--cyan);background:rgba(98,245,220,.12);color:var(--cyan)}.portrait-zoom{margin-top:10px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.portrait-zoom span{font-size:14px;font-weight:800}.portrait-zoom input{accent-color:var(--cyan)}.portrait-working{margin-top:12px;padding:11px 13px;display:flex;align-items:center;gap:10px;border:1px solid rgba(98,245,220,.25);border-radius:11px;background:rgba(98,245,220,.055);color:#ccebe9;font-size:14px}.portrait-working[hidden]{display:none}.portrait-working i{width:18px;height:18px;border:2px solid rgba(98,245,220,.2);border-top-color:var(--cyan);border-radius:50%;animation:portrait-spin .8s linear infinite}@keyframes portrait-spin{to{transform:rotate(360deg)}}.portrait-magic{margin-top:14px;border:1px solid rgba(144,119,255,.3);border-radius:14px;background:rgba(118,89,255,.045)}.portrait-magic summary{padding:13px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;cursor:pointer;list-style:none}.portrait-magic summary::-webkit-details-marker{display:none}.portrait-magic summary>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(136,110,255,.13);color:#b9a9ff}.portrait-magic summary strong,.portrait-magic summary small{display:block}.portrait-magic summary small{color:var(--muted);font-size:14px}.portrait-magic>label{padding:0 13px 11px;display:grid;gap:7px}.portrait-magic>label span{font-size:14px;font-weight:800}.portrait-magic textarea{width:100%;min-height:120px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#061721;color:var(--ink);font:500 14px/1.5 var(--sans);resize:vertical}.portrait-magic-actions{padding:0 13px;display:flex;gap:8px;flex-wrap:wrap}.portrait-magic>p{margin:10px 13px 13px;color:var(--muted);font-size:14px;line-height:1.45}
@media(max-width:900px){.portrait-workspace{grid-template-columns:1fr}.portrait-crop-panel{width:min(100%,480px);justify-self:center}}@media(max-width:600px){.portrait-workshop{padding:12px}.portrait-magic-actions{display:grid}.portrait-magic-actions .button{width:100%}}
.relationship-impact{margin:18px 0;padding:16px;border:1px solid rgba(91,231,196,.26);border-radius:16px;background:rgba(2,18,27,.62)}
.relationship-impact h3{margin:0 0 12px;font-size:18px;color:#eaf8fb}
.impact-group{padding:10px 12px;border-left:3px solid #62e2c7;background:rgba(255,255,255,.025)}
.impact-group+.impact-group{margin-top:8px}
.impact-group strong{font-size:14px;color:#9ec2cc}
.impact-group ul{margin:7px 0 0;padding-left:19px}
.impact-group li{margin:4px 0;font-size:14px;line-height:1.45;color:#d8e8ed}
.impact-derived{border-left-color:#8a76ff}.impact-preserved{border-left-color:#62e2c7}.impact-warning{border-left-color:#ff8a9f;background:rgba(138,34,57,.14)}
.minor-media-shield{min-height:240px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center;border:1px solid rgba(91,231,196,.24);border-radius:18px;background:linear-gradient(145deg,rgba(22,63,77,.72),rgba(7,25,36,.9));padding:28px}
.minor-media-shield .child-silhouette{width:72px;height:72px}.minor-media-shield strong{font-size:18px}.minor-media-shield small{max-width:520px;color:#9eb3bd;line-height:1.5}
.activity-thumb--minor{display:grid;place-items:center}.activity-thumb--minor .child-silhouette{width:34px;height:34px}
.tree-display-panel{grid-column:1/-1}.tree-display-panel ul{list-style:none;padding:0}.tree-display-panel li+li{margin-top:10px}.tree-display-panel label{display:flex;gap:10px;align-items:flex-start}
.pdf-layout-settings{margin:22px 0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:14px;align-items:start}.pdf-layout-settings fieldset{grid-row:span 3;margin:0;padding:16px;border:1px solid var(--line);border-radius:16px}.pdf-layout-settings legend{padding:0 8px;color:#dceef1;font-size:16px;font-weight:900}.pdf-layout-settings fieldset ul{margin:8px 0 0;display:grid;gap:8px}.pdf-layout-settings fieldset li{margin:0}.pdf-layout-settings fieldset label{min-height:54px;padding:12px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);font-size:14px;font-weight:750;line-height:1.4;cursor:pointer}.pdf-layout-settings fieldset label:has(input:checked){border-color:rgba(98,245,220,.5);background:rgba(98,245,220,.09);box-shadow:0 0 0 1px rgba(98,245,220,.08)}.pdf-layout-settings input[type=radio]{margin-top:2px;accent-color:var(--cyan)}.pdf-layout-dependent[hidden],.pdf-layout-settings details[hidden]{display:none}.pdf-layout-dependent,.pdf-layout-settings details{padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.022)}.pdf-layout-settings details summary{cursor:pointer;font-size:14px;font-weight:850}.pdf-layout-settings details .form-field{margin:14px 0 0}.pdf-layout-dependent .form-field{margin:0}.pdf-layout-dependent select,.pdf-layout-dependent input{width:100%}
@media(max-width:820px){.pdf-layout-settings{grid-template-columns:1fr}.pdf-layout-settings fieldset{grid-row:auto}}
.relationship-parameter-panel{grid-column:1/-1}.parameter-table{margin:22px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden}.parameter-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:20px;align-items:center;padding:16px 18px;background:rgba(255,255,255,.025)}.parameter-row+.parameter-row{border-top:1px solid var(--line)}.parameter-row>span:first-child{display:grid;gap:4px}.parameter-row small{color:var(--muted);line-height:1.45}.parameter-row input{width:100%;min-height:48px}.parameter-head{padding-block:11px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;background:rgba(91,231,196,.07)}
.relationship-results button:disabled,.relationship-results button.is-ineligible{opacity:.58;cursor:not-allowed}.relationship-results button:disabled:hover,.relationship-results button.is-ineligible:hover{background:transparent}.relationship-results button:disabled small,.relationship-results button.is-ineligible small{color:#d2a7b4}.relationship-life-inline{display:block;margin-top:3px;color:var(--muted);font-family:var(--font);font-size:12px;font-weight:600;line-height:1.35}.relationship-change-card>strong>span{display:inline-block;vertical-align:top}
@media(max-width:640px){.parameter-row{grid-template-columns:minmax(0,1fr) 92px;gap:12px;padding:14px 12px}.parameter-head{font-size:11px}.relationship-life-inline{font-size:11px}}
@media(max-width:700px){.relationship-impact{padding:12px}.impact-group li{font-size:14px}.minor-media-shield{min-height:190px}}
.google-login-panel{margin:20px 0 18px;padding:16px;border:1px solid rgba(98,245,220,.22);border-radius:16px;background:rgba(2,13,20,.38)}
.google-login-panel>strong{display:block;margin-bottom:4px;font-size:15px;color:var(--ink)}
.google-login-panel>p{margin:0 0 13px;color:var(--muted);font-size:14px;line-height:1.45}
.google-button-mount{min-height:44px;display:flex;align-items:center;justify-content:center}
[data-google-signin].is-working{opacity:.68;pointer-events:none}
.google-login-error{margin:10px 0 0;color:#ffb5c8;font-size:14px;line-height:1.45}
.access-choice{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--quiet);font-size:14px}
.access-choice::before,.access-choice::after{content:"";height:1px;flex:1;background:var(--line)}
.media-processing-state{min-height:180px;display:grid;place-content:center;justify-items:center;gap:5px;padding:20px;color:var(--muted);background:linear-gradient(135deg,rgba(98,245,220,.05),rgba(117,99,255,.06))}
.media-processing-state>span,.memory-media-processing{color:var(--cyan);font-size:28px;animation:portrait-spin 1.2s linear infinite}
.media-processing-state>strong{font-size:14px}.media-processing-state>small{max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* V67 — explicit person-editor controls and unmistakable AI portrait preview. */
.person-edit-actions{margin-top:22px;padding-top:16px;display:grid;grid-template-columns:minmax(130px,.55fr) minmax(210px,1fr);gap:10px;border-top:1px solid var(--line)}
.person-edit-actions .button{width:100%;min-height:50px}.person-edit-actions .button:disabled{opacity:.55;cursor:wait}
.portrait-workspace.is-enhanced-preview .portrait-crop-panel{border-color:rgba(98,245,220,.62);box-shadow:0 0 0 3px rgba(98,245,220,.08),0 16px 45px rgba(0,0,0,.2);animation:portrait-ready 1s ease both}
.portrait-workspace.is-enhanced-preview .portrait-panel-title small{color:var(--cyan);font-weight:800}
@keyframes portrait-ready{0%{transform:scale(.985);filter:brightness(.8)}100%{transform:scale(1);filter:brightness(1)}}
@media(max-width:600px){.person-edit-actions{grid-template-columns:1fr}}

/* V68 — egyérintéses portrévarázs, képen futó várakozás és biztos összehasonlítás. */
.portrait-crop-stage{position:relative;overflow:hidden;border-radius:11px;background:#fff;isolation:isolate}.portrait-crop-stage canvas{position:relative;z-index:1;border:0!important;border-radius:11px}.portrait-magic-visual{position:absolute;z-index:2;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease;background:radial-gradient(circle at 50% 44%,transparent 0 22%,rgba(4,21,31,.22) 76%,rgba(3,14,22,.46) 100%)}.portrait-magic-visual i{position:absolute;width:30%;aspect-ratio:1;border:1px solid rgba(255,255,255,.92);border-radius:50%;box-shadow:0 0 24px rgba(98,245,220,.7),inset 0 0 24px rgba(98,245,220,.22);opacity:0}.portrait-magic-visual i:nth-child(1){left:8%;top:12%;animation-delay:0s}.portrait-magic-visual i:nth-child(2){right:7%;top:36%;width:23%;animation-delay:.55s}.portrait-magic-visual i:nth-child(3){left:34%;bottom:5%;width:38%;animation-delay:1.1s}.portrait-magic-visual span{position:absolute;left:-30%;top:0;width:24%;height:100%;transform:skewX(-12deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),rgba(98,245,220,.2),transparent)}.portrait-crop-stage.is-magic-running .portrait-magic-visual{opacity:1}.portrait-crop-stage.is-magic-running canvas{animation:portrait-focus-pulse 2.2s ease-in-out infinite}.portrait-crop-stage.is-magic-running .portrait-magic-visual i{animation:portrait-focus-orb 2.4s ease-in-out infinite}.portrait-crop-stage.is-magic-running .portrait-magic-visual span{animation:portrait-scan 2.2s ease-in-out infinite}
@keyframes portrait-focus-pulse{0%,100%{filter:blur(0) brightness(.92) saturate(.9);transform:scale(1)}35%{filter:blur(2.4px) brightness(.74) saturate(.72);transform:scale(1.012)}68%{filter:blur(.25px) brightness(1.08) saturate(1.04);transform:scale(1.004)}}@keyframes portrait-focus-orb{0%,100%{opacity:.08;transform:scale(.7)}45%{opacity:.95;transform:scale(1.04)}75%{opacity:.2;transform:scale(1.25)}}@keyframes portrait-scan{0%{left:-35%;opacity:0}18%{opacity:1}72%{opacity:.8}100%{left:115%;opacity:0}}
.portrait-magic{padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.portrait-magic-intro{min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px}.portrait-magic-intro>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(136,110,255,.14);color:#c0b4ff;box-shadow:0 0 24px rgba(136,110,255,.1)}.portrait-magic-intro strong,.portrait-magic-intro small{display:block}.portrait-magic-intro strong{font-size:16px}.portrait-magic-intro small{margin-top:2px;color:var(--muted);font-size:14px;line-height:1.35}.portrait-magic-start{min-width:190px}.portrait-compare{grid-column:1/-1;padding:12px;display:grid;grid-template-columns:minmax(170px,1fr) auto;align-items:center;gap:8px 14px;border:1px solid rgba(98,245,220,.24);border-radius:12px;background:rgba(98,245,220,.045)}.portrait-compare[hidden]{display:none}.portrait-compare>strong{font-size:14px}.portrait-compare-buttons{display:flex;gap:7px}.portrait-compare-buttons .button{min-height:42px}.portrait-compare-buttons .button.is-selected{border-color:var(--cyan);background:rgba(98,245,220,.14);color:var(--cyan);box-shadow:0 0 0 2px rgba(98,245,220,.06)}.portrait-compare>small{grid-column:1/-1;color:#b8d0d7;font-size:14px}.portrait-magic>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:14px;line-height:1.45}.portrait-settings-panel{grid-column:1/-1}.portrait-settings-panel textarea{min-height:180px;line-height:1.55}
@media(max-width:700px){.portrait-magic{grid-template-columns:1fr}.portrait-magic-start{width:100%;min-width:0}.portrait-compare{grid-template-columns:1fr}.portrait-compare-buttons{display:grid;grid-template-columns:1fr}.portrait-compare-buttons .button{width:100%}}
@media(prefers-reduced-motion:reduce){.portrait-crop-stage.is-magic-running canvas{animation:none;filter:brightness(.82)}.portrait-crop-stage.is-magic-running .portrait-magic-visual i,.portrait-crop-stage.is-magic-running .portrait-magic-visual span{animation:none}.portrait-crop-stage.is-magic-running .portrait-magic-visual i:nth-child(2){opacity:.85}}
