:root{--bg:#07080a;--panel:#0c0e12b8;--ink:#e8e4da;--ink-dim:#8b8779;--line:#e8e4da1a;--accent:#7fd8ff}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,Inter,Segoe UI,sans-serif}#app{height:100%}#stage{position:fixed;inset:0}#stage canvas{display:block}.boot-error{color:#e99;white-space:pre-wrap;border:1px solid #a33;border-radius:8px;margin:2rem;padding:1rem;font-size:12px}.webgpu-gate{border:1px solid var(--line);background:var(--panel);max-width:560px;color:var(--ink);border-radius:14px;margin:18vh auto 0;padding:28px 32px}.webgpu-gate h1{margin-bottom:.6rem;font-size:1.3rem}.webgpu-gate p{color:var(--ink-dim);margin-bottom:1rem}.webgpu-gate ul{flex-direction:column;gap:.7rem;font-size:.85rem;list-style:none;display:flex}.webgpu-gate code{user-select:all;background:#ffffff12;border-radius:4px;padding:1px 6px;font-size:.8rem}.hero{height:100svh;min-height:520px;padding:clamp(16px,2.6vw,40px);display:flex}.hero-frame{border:1px solid var(--line);background:#05060a;border-radius:18px;flex:1;position:relative;overflow:hidden;box-shadow:0 30px 90px #0000008c}.hero-stage{position:absolute;inset:0}.hero-layer{opacity:0;transition:opacity 1.8s;position:absolute;inset:0}.hero-layer.shown{opacity:1}.hero-layer canvas{width:100%;height:100%;display:block}.hero-poster{background-size:cover}.hero-scrim{pointer-events:none;background:linear-gradient(#040508b8 0%,#0000 22%),linear-gradient(#0000 48%,#04050880 74%,#040508db 100%);position:absolute;inset:0}.hero-top{justify-content:space-between;align-items:flex-start;gap:16px;padding:clamp(18px,2.4vw,34px) clamp(20px,2.8vw,40px);display:flex;position:absolute;top:0;left:0;right:0}.hero-mark h1{letter-spacing:.42em;margin:0;padding-left:.42em;font-size:clamp(1.1rem,2.1vw,1.6rem);font-weight:200}.hero-byline{color:var(--ink-dim);letter-spacing:.26em;text-transform:uppercase;opacity:.8;margin:6px 0 0;font-size:.66rem;font-weight:300}.hero-top-right{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.hero button,.hero .hero-open{font:inherit;letter-spacing:.1em;color:var(--ink-dim);border:1px solid var(--line);cursor:pointer;backdrop-filter:blur(8px);background:#080a0e8c;border-radius:999px;padding:7px 16px;font-size:.78rem;text-decoration:none;transition:color .2s,border-color .2s,background .2s}.hero button:hover,.hero .hero-open:hover{color:var(--ink);border-color:#e8e4da66}.hero .hero-sound.on{color:var(--accent);border-color:#7fd8ff73}.hero .hero-browse{color:var(--ink)}.hero-caption{max-width:60rem;padding:clamp(20px,3vw,44px) clamp(20px,2.8vw,40px) clamp(18px,2.2vw,30px);position:absolute;bottom:0;left:0;right:0}.hero-sub{color:var(--ink-dim);opacity:.85;margin:0 0 14px;font-size:.8rem;font-weight:300}.hero-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;font-size:.68rem;display:flex}.hero-index{font-variant-numeric:tabular-nums;color:var(--accent)}.hero-lineage{text-transform:none;letter-spacing:.04em;font-style:italic}.hero-status{color:#e8b34c;cursor:help;border:1px solid #e8b24c66;border-radius:999px;padding:2px 10px;font-size:.6rem}.hero-title{letter-spacing:.02em;margin:0 0 8px;font-size:clamp(1.7rem,4.2vw,3.1rem);font-weight:250;line-height:1.05}.hero-plain{opacity:.92;max-width:46rem;margin:0 0 4px;font-size:clamp(.9rem,1.5vw,1.05rem);font-weight:300;line-height:1.55}.hero-image-line{color:var(--ink-dim);max-width:46rem;margin:0;font-size:.9rem;font-style:italic;font-weight:300}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;display:flex}.hero .hero-open{color:var(--ink);border-color:#e8e4da4d;padding:9px 20px;font-size:.82rem}.hero-nav{gap:6px;display:flex}.hero-nav button{padding:7px 13px}.hero-progress{background:#e8e4da24;height:1px;margin-top:18px;overflow:hidden}.hero-progress i{background:var(--accent);transform-origin:0;opacity:.7;height:100%;display:block;transform:scaleX(0)}.hero-scroll{color:var(--ink-dim);letter-spacing:.2em;text-transform:uppercase;opacity:.7;font-size:.68rem;text-decoration:none;position:absolute;bottom:clamp(14px,1.6vw,22px);right:clamp(20px,2.8vw,40px)}.hero-scroll:hover{color:var(--ink);opacity:1}@media (width<=760px){.hero-sub{display:none}.hero-caption{padding-bottom:34px}}@media (width<=620px){.hero-title{font-size:clamp(1.5rem,7vw,2rem)}.hero-plain{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.hero-image-line,.hero-scroll{display:none}.hero-actions{margin-top:14px}.hero button,.hero .hero-open{padding:6px 13px;font-size:.74rem}}.browse{max-width:1080px;margin:0 auto;padding:7vh 24px 6vh;scroll-margin-top:0}.gallery-head .browse-title{letter-spacing:.3em;text-transform:uppercase;opacity:.9;font-size:clamp(1.1rem,2.4vw,1.5rem);font-weight:300}.gallery-head h1{letter-spacing:.42em;text-align:center;margin:0 0 .4rem;padding-left:.42em;font-size:clamp(2.6rem,7vw,4.4rem);font-weight:200}.gallery-head .byline{text-align:center;color:var(--ink-dim);letter-spacing:.28em;text-transform:uppercase;opacity:.75;margin:-2vh 0 3vh;font-size:.8rem;font-weight:300}.gallery-head .sub{text-align:center;max-width:44rem;color:var(--ink-dim);margin:0 auto 3vh;font-weight:300;line-height:1.65}.gallery-head .about{text-align:center;max-width:46rem;margin:0 auto 5vh}.gallery-head .about summary{cursor:pointer;color:var(--ink-dim);letter-spacing:.14em;text-transform:uppercase;opacity:.7;border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-size:.78rem;list-style:none;display:inline-block}.gallery-head .about summary::-webkit-details-marker{display:none}.gallery-head .about summary:hover,.gallery-head .about[open] summary{opacity:1}.gallery-head .about p{text-align:left;color:var(--ink-dim);margin:14px 0 0;font-size:.92rem;font-weight:300;line-height:1.7}.gallery-head .notice{text-align:center;color:#e9a}.gallery-bar{z-index:5;background:linear-gradient(var(--bg) 82%, transparent);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:3vh;padding:12px 4px;display:flex;position:sticky;top:0}.gallery-bar .search{background:var(--panel);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:999px;outline:none;flex:0 320px;padding:7px 16px;font-size:.85rem;transition:border-color .2s}.gallery-bar .search:focus{border-color:#e8e4da59}.gallery-bar .search::placeholder{color:var(--ink-dim)}.gallery-bar .shown{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:.75rem}.gallery-bar .to-top{font:inherit;letter-spacing:.06em;color:var(--ink-dim);border:1px solid var(--line);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:3px 11px;font-size:.7rem}.gallery-bar .to-top:hover{color:var(--ink);border-color:#e8e4da59}.wing{margin-bottom:6vh}.wing.filtered{display:none}.wing-head{align-items:baseline;gap:10px;margin:0 0 16px;scroll-margin-top:72px;display:flex}.wing{scroll-margin-top:72px}.wing-head h2{letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.95rem;font-weight:500}.wing-count{color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:.75rem}.wing-note{color:var(--ink-dim);font-size:.75rem;font-style:italic;font-weight:300}.cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;display:grid}.card.filtered{display:none}.card{color:inherit;border:1px solid var(--line);background:#0b0d11;border-radius:14px;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s;display:block;overflow:hidden}.card:hover{border-color:#e8e4da47;transform:translateY(-3px);box-shadow:0 12px 40px #00000080}.thumb{aspect-ratio:16/9;place-items:center;display:grid;position:relative}.thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.thumb img+.thumb-glyph{opacity:0}.thumb-status{letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(7px);background:#05070abd;border:1px solid;border-radius:3px;padding:3px 6px;font-size:.55rem;position:absolute;bottom:8px;left:9px}.thumb-glyph{opacity:.85;filter:drop-shadow(0 0 14px);font-size:2.2rem}.card-body{padding:16px 18px 18px}.card-body h2{letter-spacing:.04em;margin:0 0 6px;font-size:1.05rem;font-weight:500}.card-body p{color:var(--ink-dim);margin:0;font-size:.85rem;font-weight:300;line-height:1.5}.card-body .card-plain{color:var(--ink);opacity:.88;font-weight:350}.card-body .card-image-line{opacity:.62;margin-top:6px;font-style:italic}.card-body .card-lineage{letter-spacing:.09em;text-transform:uppercase;opacity:.75;margin:9px 0 0;font-size:.68rem}.card-flagged .thumb{filter:saturate(.45)brightness(.78)}.card-flagged:hover .thumb{filter:none}.card-body .card-verdict{color:#e8e4da9e;border-top:1px solid #e8e4da1f;margin:10px 0 0;padding-top:9px;font-size:.74rem;line-height:1.45}.verdict-tag{letter-spacing:.11em;text-transform:uppercase;vertical-align:1px;opacity:.85;border:1px solid;border-radius:4px;margin-right:7px;padding:1px 6px;font-size:.62rem;display:inline-block}.tag-claim{color:#e86a5a}.tag-bugs{color:#e8b34c}.tag-qualified{color:#7fb2c9}.tag-draft{color:#9aa3ad}.gallery-foot{text-align:center;color:var(--ink-dim);letter-spacing:.12em;text-transform:uppercase;margin-top:7vh;font-size:.72rem}.hud{z-index:10;font-size:.82rem;position:fixed}.hud-top{pointer-events:none;align-items:baseline;gap:20px;padding:18px 22px;display:flex;top:0;left:0;right:0}.hud-top .back{pointer-events:auto;color:var(--ink-dim);letter-spacing:.22em;font-size:.72rem;text-decoration:none;transition:color .2s}.hud-top .back:hover{color:var(--ink)}.title-block h1{letter-spacing:.08em;margin:0;font-size:1rem;font-weight:500}.title-block p{color:var(--ink-dim);margin:2px 0 0;font-size:.78rem;font-weight:300}.title-block .hud-plain{color:var(--ink);opacity:.85}.title-block .hud-image-line{opacity:.6;font-style:italic}.badge{color:var(--ink-dim);border:1px solid var(--line);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:.68rem}.badge~.badge{margin-left:8px}.badge.stats{text-transform:none;letter-spacing:.04em;font-variant-numeric:tabular-nums}.hud-panel{box-sizing:border-box;overscroll-behavior:contain;scrollbar-width:thin;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(14px);border-radius:12px;flex-direction:column;gap:9px;width:250px;max-height:calc(100vh - 108px);padding:12px 14px;display:none;bottom:72px;right:18px;overflow-y:auto}.hud-panel.open{display:flex}.hud-row{align-items:center;gap:8px;min-width:0;display:flex}.hud-acc{border-top:1px solid var(--line);margin:0 -14px;padding:0 14px}.hud-acc:last-of-type{border-bottom:1px solid var(--line)}.hud-acc-head{cursor:pointer;user-select:none;align-items:center;gap:8px;padding:8px 0;list-style:none;display:flex}.hud-acc-head::-webkit-details-marker{display:none}.hud-acc-head:before{content:"";border-right:1.5px solid var(--ink-dim);border-bottom:1.5px solid var(--ink-dim);flex:none;width:6px;height:6px;margin:0 2px;transition:transform .18s;transform:rotate(-45deg)}.hud-acc[open]>.hud-acc-head:before{transform:rotate(45deg)}.hud-acc-title{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.68rem;overflow:hidden}.hud-acc-head:hover .hud-acc-title{color:var(--ink)}.hud-acc-count{color:var(--ink-dim);font-variant-numeric:tabular-nums;border:1px solid var(--line);opacity:.8;border-radius:999px;padding:1px 7px;font-size:.62rem}.hud-acc-body{flex-direction:column;gap:9px;padding:2px 0 10px;display:flex}.hud-row label{color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;letter-spacing:.05em;flex:none;min-width:64px;max-width:92px;font-size:.72rem;overflow:hidden}.hud-row .val{color:var(--ink-dim);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;text-align:right;flex:none;min-width:44px;max-width:62px;font-size:.72rem;overflow:hidden}.hud-row input[type=range]{min-width:0;accent-color:var(--accent);flex:1 1 0;height:2px}.hud-row select,.hud-row .seed-input{border:1px solid var(--line);color:var(--ink);font:inherit;background:0 0;border-radius:6px;flex:1;padding:4px 8px;font-size:.75rem}.hud button{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:5px 12px;font-size:.78rem;transition:border-color .2s,color .2s}.hud button:hover{border-color:#e8e4da66}.hud button.on{color:var(--accent);border-color:var(--accent)}.hud-track-credit{color:#e8e4da94;letter-spacing:.025em;background:#02040861;border:1px solid #e8e4da1a;border-radius:8px;padding:8px 10px;font-size:.66rem;line-height:1.45}.hud-track-credit span{color:#e8e4dad1}.hud-track-credit a{color:var(--accent);text-decoration:none}.hud-track-credit a:hover{text-decoration:underline}.rate{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:3px;padding-top:10px;display:flex}.rate-head{color:var(--ink-dim);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem}.rate-marks{grid-template-columns:repeat(10,1fr);gap:3px;display:grid}.hud .rate-mark{font-variant-numeric:tabular-nums;text-align:center;color:var(--ink-dim);border-radius:5px;padding:4px 0;font-size:.68rem}.hud .rate-mark:hover{color:var(--ink)}.hud .rate-mark:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.hud .rate-mark.on{color:var(--bg);background:var(--accent);border-color:var(--accent)}.rate-more{display:none}.rate-more.open{flex-direction:column;gap:7px;display:flex}.rate-text{border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;background:0 0;border-radius:6px;outline:none;padding:6px 8px;font-size:.74rem;font-weight:300;line-height:1.45}.rate-text:focus{border-color:#e8e4da59}.rate-text::placeholder{color:var(--ink-dim)}.rate-row{align-items:center;gap:9px;display:flex}.hud .rate-send{padding:4px 12px;font-size:.74rem}.hud .rate-send:disabled{opacity:.5;cursor:default}.rate-msg{color:var(--ink-dim);font-size:.7rem}.rate-msg.rate-err{color:#e8b34c}.rate-done{display:none}.rate-done.open{color:var(--ink-dim);align-items:center;gap:9px;font-size:.74rem;display:flex}.hud .rate-change{color:var(--accent);text-underline-offset:2px;border:none;padding:2px 8px;font-size:.7rem;text-decoration:underline}.hud .rate-change:hover{opacity:.8;border:none}.rate .hidden{display:none}.hud-toggle{z-index:11;border:1px solid var(--line);background:var(--panel);width:44px;height:44px;color:var(--ink);backdrop-filter:blur(14px);pointer-events:auto;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1.05rem;line-height:1;display:flex;position:fixed;bottom:18px;right:18px}@media (width<=768px){.hud-panel{width:auto;max-width:300px;margin-left:auto;left:18px;right:18px}}.lineage{padding:5vh 4vw 8vh}.lineage-head{text-align:center;max-width:52rem;margin:0 auto 3vh}.lineage-head .back{color:var(--ink-dim);letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin-bottom:2.4vh;font-size:.72rem;text-decoration:none;display:inline-block}.lineage-head .back:hover{opacity:1}.lineage-head h1{letter-spacing:.06em;margin:0 0 10px;font-size:1.5rem;font-weight:400}.lineage-head .sub{color:var(--ink-dim);margin:0;font-size:.94rem;font-weight:300;line-height:1.65}.lineage-stage{overflow-x:auto}.lineage svg{width:100%;min-width:900px;height:auto;display:block}.lineage .band-rule{stroke:var(--line);stroke-width:1px;opacity:.35}.lineage .band-label{fill:var(--ink-dim);letter-spacing:.18em;text-transform:uppercase;opacity:.55;font-size:11px}.lineage .edge{fill:none;stroke:var(--ink-dim);stroke-width:1px;opacity:.13}.lineage .hit{fill:#0000}.lineage .dot{fill:var(--c,#7fd8ff);opacity:.72;transition:r .12s,opacity .12s}.lineage .node{cursor:pointer}.lineage .node:hover .dot{opacity:1;r:6}.lineage .node:focus{outline:none}.lineage .node:focus-visible .dot{stroke:var(--ink);stroke-width:2px}.lineage svg.focused .dot{opacity:.14}.lineage svg.focused .edge{opacity:.04}.lineage svg.focused .node.lit .dot{opacity:1;r:7}.lineage svg.focused .node.up .dot,.lineage svg.focused .node.down .dot{opacity:.95;r:5.5}.lineage svg.focused .edge.up{opacity:.75;stroke:#ffb347;stroke-width:1.6px}.lineage svg.focused .edge.down{opacity:.75;stroke:#7fd8ff;stroke-width:1.6px}.lineage svg.focused .node.up .dot{stroke:#ffb347;stroke-width:1.4px}.lineage svg.focused .node.down .dot{stroke:#7fd8ff;stroke-width:1.4px}.lineage svg.focused .node.lit .dot{stroke:var(--ink);stroke-width:2px}.lineage .lbl{fill:var(--ink-dim);font-size:12px}.lineage .lbl-main{fill:var(--ink);font-size:14px;font-weight:500}.lineage-detail{border:1px solid var(--line);background:var(--panel);border-radius:3px;max-width:46rem;margin:3vh auto 0;padding:18px 20px}.lineage-detail h2{letter-spacing:.03em;margin:0 0 4px;font-size:1.05rem;font-weight:500}.lineage-detail .meta{color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin:0 0 10px;font-size:.74rem}.lineage-detail .plain{color:var(--ink-dim);margin:0 0 12px;font-size:.92rem;font-weight:300;line-height:1.6}.lineage-detail .rels{color:var(--ink-dim);margin:0 0 8px;font-size:.86rem}.lineage-detail .rels span{letter-spacing:.12em;text-transform:uppercase;opacity:.7;min-width:5.2rem;font-size:.7rem;display:inline-block}.lineage-detail .rel{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin:0 4px 4px 0;padding:2px 10px;font-size:.82rem}.lineage-detail .rel:hover{border-color:var(--ink-dim)}.lineage-detail .play{color:var(--ink);margin-top:8px;font-size:.9rem;display:inline-block}.gallery-head .tree-cta-line{text-align:center;margin:-1.4vh 0 3.4vh}.gallery-head .tree-cta{border:1px solid var(--line);color:var(--ink);letter-spacing:.18em;text-transform:uppercase;opacity:.82;border-radius:4px;flex-direction:column;align-items:center;gap:.35rem;padding:.7rem 1.6rem;font-size:.86rem;font-weight:300;text-decoration:none;transition:opacity .16s,border-color .16s,transform .16s;display:inline-flex}.gallery-head .tree-cta:hover,.gallery-head .tree-cta:focus-visible{opacity:1;border-color:var(--ink-dim);transform:translateY(-1px)}.gallery-head .tree-cta-count{color:var(--ink-dim);letter-spacing:.1em;text-transform:none;opacity:.85;font-size:.72rem}@media (width<=768px){.lineage{padding:4vh 3vw 6vh}.lineage-head .sub{font-size:.88rem}}.eyebrow{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:.64rem}.brand-link,.collection-brand{color:var(--ink);letter-spacing:.25em;text-transform:uppercase;font-size:.76rem;font-weight:350;text-decoration:none}.gallery-home{min-height:200svh}.hero-host{min-height:100svh}.hero .hero-browse{font:inherit;letter-spacing:.1em;border:1px solid var(--line);color:var(--ink);backdrop-filter:blur(8px);background:#080a0e8c;border-radius:999px;padding:7px 16px;font-size:.78rem;text-decoration:none}.hero-mark h1 span{white-space:nowrap}.ancestry-room{border-top:1px solid var(--line);background:radial-gradient(80% 60% at 78% 50%, #22485821, transparent 66%), var(--bg);grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);gap:clamp(22px,3vw,54px);min-height:100svh;padding:clamp(20px,3vw,46px);display:grid}.ancestry-copy{flex-direction:column;justify-content:space-between;gap:28px;min-width:0;padding:clamp(6px,1vw,14px) 0;display:flex}.ancestry-copy>div{max-width:29rem}.ancestry-copy h2{letter-spacing:-.045em;max-width:9ch;margin:12px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.35rem,4.5vw,5rem);font-weight:400;line-height:.94}.ancestry-copy>div>p:not(.eyebrow):not(.ancestry-census):not(.notice){color:var(--ink-dim);font-size:clamp(.83rem,1.05vw,.98rem);font-weight:300;line-height:1.65}.ancestry-census{color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:7px;margin:26px 0 0;font-size:.67rem;display:flex}.ancestry-census strong{color:var(--ink);font-size:1rem;font-weight:450}.ancestry-census span{background:var(--line);width:14px;height:1px}.browse-collection{color:var(--ink);letter-spacing:.08em;border-bottom:1px solid #e8e4da59;align-self:flex-start;align-items:center;gap:24px;padding:12px 0;font-size:.76rem;text-decoration:none;display:inline-flex}.browse-collection span{color:var(--accent);transition:transform .18s}.browse-collection:hover span{transform:translate(3px,-3px)}.ancestry-visual{border:1px solid var(--line);background:#090b0eb8;border-radius:18px;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:clamp(14px,1.6vw,24px);display:grid;overflow:hidden;box-shadow:0 28px 80px #00000059}.ancestry-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:12px;display:flex}.ancestry-heading>p:last-child{color:var(--ink-dim);margin:0;font-size:.72rem}.ancestry-viewer-host,.lineage-viewer{height:100%;min-height:0}.lineage-viewer{grid-template-rows:auto minmax(0,1fr);display:grid}.lineage-tools{align-items:center;gap:10px;min-height:44px;padding:5px 0 12px;display:flex}.lineage-tools button,.lineage-tools input{border:1px solid var(--line);min-height:36px;color:var(--ink);font:inherit;background:#101318e0}.lineage-find{flex:1;max-width:300px}.lineage-find>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.lineage-find input{border-radius:999px;outline:none;width:100%;padding:7px 14px;font-size:.75rem}.lineage-find input:focus{border-color:#7fd8ff8c}.lineage-key{color:var(--ink-dim);white-space:nowrap;margin-left:auto;font-size:.63rem}.lineage-key i{border-radius:50%;width:6px;height:6px;margin:0 4px 0 9px;display:inline-block}.lineage-key .key-up{background:#ffb347}.lineage-key .key-down{background:#7fd8ff}.lineage-zoom{display:flex}.lineage-zoom button{cursor:pointer;min-width:36px;padding:5px 10px;font-size:.72rem}.lineage-zoom button:first-child{border-radius:999px 0 0 999px}.lineage-zoom button+button{border-left:0}.lineage-zoom button:last-child{border-radius:0 999px 999px 0}.lineage-zoom button:hover{color:var(--accent)}.lineage-stage{touch-action:none;cursor:grab;background-color:#0406089e;background-image:linear-gradient(#7fd8ff05 1px,#0000 1px),linear-gradient(90deg,#7fd8ff05 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #e8e4da12;border-radius:10px;height:100%;min-height:0;position:relative;overflow:hidden}.lineage-stage:active{cursor:grabbing}.lineage-viewer svg,.lineage-page svg{user-select:none;width:100%;min-width:0;height:100%;display:block}.lineage-viewer .band-rule{stroke:var(--line);stroke-width:1px;opacity:.5}.lineage-viewer .band-label{fill:var(--ink-dim);letter-spacing:.18em;text-transform:uppercase;opacity:.72;font-size:11px}.lineage-viewer .edge{fill:none;stroke:var(--ink-dim);stroke-width:1px;opacity:.15}.lineage-viewer .hit{fill:#0000}.lineage-viewer .dot{fill:var(--c,#7fd8ff);opacity:.78;transition:r .12s,opacity .12s}.lineage-viewer .node{cursor:pointer}.lineage-viewer .node:hover .dot{opacity:1;r:6}.lineage-viewer .node:focus{outline:none}.lineage-viewer .node:focus-visible .dot{stroke:var(--ink);stroke-width:2.5px}.lineage-viewer svg.focused .dot{opacity:.12}.lineage-viewer svg.focused .edge{opacity:.035}.lineage-viewer svg.focused .node.lit .dot{opacity:1;r:7;stroke:var(--ink);stroke-width:2px}.lineage-viewer svg.focused .node.up .dot{opacity:.95;r:5.5;stroke:#ffb347;stroke-width:1.4px}.lineage-viewer svg.focused .node.down .dot{opacity:.95;r:5.5;stroke:#7fd8ff;stroke-width:1.4px}.lineage-viewer svg.focused .edge.up{opacity:.78;stroke:#ffb347;stroke-width:1.8px}.lineage-viewer svg.focused .edge.down{opacity:.78;stroke:#7fd8ff;stroke-width:1.8px}.lineage-viewer .lbl{fill:var(--ink-dim);paint-order:stroke;stroke:var(--bg);stroke-width:4px;font-size:12px}.lineage-viewer .lbl-main{fill:var(--ink);font-size:15px;font-weight:600}.lineage-hint{color:var(--ink-dim);letter-spacing:.08em;pointer-events:none;margin:0;font-size:.62rem;position:absolute;bottom:10px;left:14px}.lineage-detail{z-index:4;backdrop-filter:blur(18px);background:#0a0c10f0;border:1px solid #e8e4da33;border-radius:10px;width:min(370px,100% - 24px);max-height:calc(100% - 24px);margin:0;padding:18px;position:absolute;bottom:12px;right:12px;overflow:auto;box-shadow:0 18px 55px #000000a6}.lineage-detail[hidden]{display:none}.lineage-detail .lineage-close{width:32px;height:32px;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;font-size:1.25rem;position:absolute;top:8px;right:8px}.lineage-detail h3{margin:6px 30px 5px 0;font-size:1.05rem;font-weight:500}.lineage-detail .meta{color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.65rem}.lineage-detail .plain{color:var(--ink-dim);margin:0 0 12px;font-size:.8rem;line-height:1.5}.lineage-detail .rels{flex-wrap:wrap;align-items:baseline;gap:4px;margin:7px 0;display:flex}.lineage-detail .rels span{width:100%;color:var(--ink-dim);letter-spacing:.12em;text-transform:uppercase;font-size:.6rem}.lineage-detail .rel{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:3px 8px;font-size:.69rem}.lineage-detail .play{color:var(--ink);gap:14px;margin-top:10px;font-size:.77rem;text-decoration:none;display:inline-flex}.lineage-detail .play span{color:var(--accent)}.lineage-page{grid-template-rows:auto minmax(0,1fr);gap:18px;height:100svh;padding:24px;display:grid;overflow:hidden}.lineage-page-head{grid-template-columns:220px 1fr;align-items:start;gap:24px;display:grid}.lineage-page-head h1{margin:5px 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.8rem);font-weight:400}.lineage-page-head div>p:last-child{max-width:50rem;color:var(--ink-dim);margin:0;font-size:.82rem;line-height:1.5}.lineage-page-viewer{min-height:0}html.browse-route,html.browse-route body{height:100%;overflow:hidden}.collection-browser{background:radial-gradient(65% 80% at 86% 10%,#2b536017,#0000 70%);grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(10px,1.4vh,16px);height:100svh;padding:clamp(16px,2.3vw,34px);display:grid;overflow:hidden}.collection-head{grid-template-columns:minmax(150px,1fr) auto minmax(150px,1fr);align-items:end;gap:20px;display:grid}.collection-brand{justify-self:start;font-size:.8rem}.collection-brand span{white-space:nowrap}.collection-head>div{text-align:center}.collection-head h1{letter-spacing:-.035em;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3.2vw,3.3rem);font-weight:400}.collection-about{color:var(--ink-dim);letter-spacing:.08em;justify-self:end;font-size:.72rem;text-decoration:none}.collection-about span{color:var(--accent)}.collection-filters{align-items:end;gap:8px;min-width:0;display:flex}.collection-filters label{color:var(--ink-dim);letter-spacing:.14em;text-transform:uppercase;gap:5px;font-size:.58rem;display:grid}.collection-filters input,.collection-filters select,.collection-filters button{border:1px solid var(--line);height:38px;color:var(--ink);font:inherit;background:#0d0f13e0;border-radius:5px;outline:none;font-size:.75rem}.collection-filters input:focus,.collection-filters select:focus{border-color:#7fd8ff8c}.collection-search{flex:1;min-width:180px}.collection-search input{width:100%;padding:0 13px}.collection-filters select{text-transform:capitalize;min-width:130px;padding:0 30px 0 10px}.collection-filters .clear-filters{color:var(--ink-dim);cursor:pointer;padding:0 14px}.collection-results{outline:none;min-height:0}.collection-results:focus-visible{box-shadow:0 0 0 1px var(--accent)}.collection-grid{grid-template-columns:repeat(var(--browse-cols), minmax(0, 1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(9px,1.2vw,16px);height:100%;display:grid}.collection-grid[hidden]{display:none}.collection-card{border:1px solid var(--line);min-width:0;min-height:0;color:inherit;background:#0b0d11;border-radius:10px;grid-template-rows:minmax(0,1.15fr) minmax(0,.85fr);text-decoration:none;transition:border-color .16s,transform .16s;display:grid;overflow:hidden}.collection-card:hover{border-color:#7fd8ff6b;transform:translateY(-2px)}.collection-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.collection-card .thumb{aspect-ratio:auto;min-height:0}.collection-card .thumb-glyph{font-size:1.45rem}.collection-card .card-body{min-height:0;padding:11px 13px;overflow:hidden}.collection-card .card-body h2{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:clamp(.78rem,1vw,.98rem);overflow:hidden}.collection-card .card-body p{font-size:clamp(.67rem,.78vw,.78rem);line-height:1.35}.collection-card .card-plain{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.collection-card .card-image-line,.collection-card .card-verdict{display:none}.collection-card .card-lineage{white-space:nowrap;text-overflow:ellipsis;margin-top:5px;overflow:hidden}.collection-empty{text-align:center;height:100%;color:var(--ink-dim);place-content:center}.collection-empty:not([hidden]){display:grid}.collection-empty button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;justify-self:center;padding:8px 16px}.collection-pager{justify-content:space-between;align-items:center;min-height:38px;display:flex}.result-count{color:var(--ink-dim);font-variant-numeric:tabular-nums;margin:0;font-size:.7rem}.collection-pager>div{align-items:center;gap:14px;display:flex}.collection-pager button{border:1px solid var(--line);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:7px 13px;font-size:.7rem}.collection-pager button:disabled{opacity:.3;cursor:default}.page-jump{color:var(--ink-dim);align-items:center;gap:5px;font-size:.65rem;display:flex}.page-jump>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.page-jump input{border:1px solid var(--line);width:42px;height:32px;color:var(--ink);text-align:center;font:inherit;font-variant-numeric:tabular-nums;background:#0d0f13e0;border-radius:5px;padding:0 4px}.page-jump b{font-variant-numeric:tabular-nums;min-width:34px;font-weight:400}@media (width<=900px){.ancestry-room{grid-template-rows:auto minmax(560px,1fr);grid-template-columns:1fr}.ancestry-copy{grid-template-columns:1fr 2fr;align-items:start;display:grid}.ancestry-copy>div{max-width:none}.ancestry-copy h2{font-size:clamp(2.4rem,7vw,4rem)}.browse-collection{grid-column:1}.lineage-key{display:none}.collection-head{grid-template-columns:1fr auto}.collection-head>div{text-align:left;order:3;grid-column:1/-1}.collection-about{align-self:center}.collection-head h1{font-size:2rem}.collection-filters{flex-wrap:wrap}.collection-search{flex-basis:100%}.collection-filters label:not(.collection-search){flex:1}.collection-filters select{width:100%;min-width:0}}@media (width<=620px){.hero{min-height:100svh;padding:10px}.hero-top{gap:8px;padding:15px}.hero-mark h1{letter-spacing:.24em;gap:2px;padding:0;font-size:.82rem;line-height:1.05;display:grid}.hero-byline{letter-spacing:.18em;font-size:.56rem}.hero-top-right{gap:5px;max-width:150px}.hero .hero-browse,.hero button{padding:6px 9px;font-size:.63rem}.hero-scroll{font-size:.57rem;display:block;top:96px;bottom:auto;right:15px}.ancestry-room{min-height:0;padding:22px 12px 12px;display:block}.ancestry-copy{padding:0 6px;display:block}.ancestry-copy>.brand-link{display:none}.ancestry-copy h2{max-width:12ch;margin:9px 0 15px;font-size:2.65rem}.ancestry-copy>div>p:not(.eyebrow):not(.ancestry-census):not(.notice){font-size:.8rem;line-height:1.5}.ancestry-census{margin-top:14px}.browse-collection{margin:12px 0 18px}.ancestry-visual{border-radius:12px;height:66svh;min-height:500px;padding:11px}.ancestry-heading>p:last-child{display:none}.lineage-tools{flex-wrap:wrap}.lineage-find{min-width:150px;max-width:none}.lineage-zoom button{min-width:34px}.lineage-hint{display:none}.lineage-detail{width:calc(100% - 14px);max-height:72%;bottom:7px;right:7px}.lineage-page{padding:14px}.lineage-page-head{grid-template-columns:1fr;gap:10px}.lineage-page-head h1{font-size:2.2rem}.collection-browser{gap:8px;padding:12px}.collection-head{align-items:center}.collection-brand{font-size:.68rem;line-height:1.15;display:grid}.collection-about{font-size:.64rem}.collection-head>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.collection-head h1{margin:0;font-size:1.45rem}.collection-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;display:grid}.collection-search{grid-column:1/-1}.collection-filters input,.collection-filters select,.collection-filters button{height:40px}.collection-grid{gap:8px}.collection-card{grid-template-rows:1fr;grid-template-columns:minmax(105px,.8fr) 1fr}.collection-card .card-body{padding:9px 10px}.collection-card .card-body h2{font-size:.8rem}.collection-card .card-body p{font-size:.65rem}.collection-card .card-lineage{display:none}.collection-pager{min-height:34px}.collection-pager button{min-height:40px;padding:6px 10px}.page-jump input{height:36px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.collection-card,.browse-collection span{transition:none}}
