.request-network .landing-tag { font-family:inherit; cursor:pointer; min-height:44px; }
.lp-approach { box-sizing:border-box; }
.landing-back-top { position:fixed; right:max(20px,env(safe-area-inset-right)); bottom:calc(20px + env(safe-area-inset-bottom)); z-index:50; display:grid; place-items:center; width:48px; height:48px; margin:0; padding:0; border:1px solid #8870af55; border-radius:50%; color:#62536f; background:rgba(250,248,243,.8); box-shadow:0 2px 12px #25324812; }
.landing-back-top[hidden] { display:none; }
.landing-back-top:hover { background:rgba(250,248,243,.96); transform:none; }
.landing-back-top:focus-visible { outline:2px solid #756193; outline-offset:4px; }
.landing-tag:focus-visible,.lp-chip-hit:focus-visible { outline:2px solid #756193; outline-offset:4px; }
.request-network .landing-tag[aria-pressed="true"] { border-color:var(--tag-color); background:#fff; }
.topic-response { display:grid; grid-column:1/-1; width:100%; text-align:center; align-items:center; font-size:1rem; line-height:1.65; color:#544d60; padding:16px 12px; box-sizing:border-box; border-top:1px solid #e4dee9; }
.topic-response>* { grid-area:1/1; margin:0; }
.topic-response .topic-size { visibility:hidden; pointer-events:none; }
.topic-response--local { display:none; }
.request-network-art.topic-pulse { opacity:.8; }
.lp-chip-board .lp-chip-rim { stroke:url(#chip-spectrum); stroke-width:3; }
.lp-chip-hit { position:absolute; transform:translate(-50%,-50%); width:44px; height:44px; padding:0; border:0; background:transparent; border-radius:12px; cursor:pointer; }
.lp-neural-art .lp-chip-hit,.lp-neural-art .lp-chip-hit:hover,.lp-neural-art .lp-chip-hit:active { transform:translate(-50%,-50%); background:transparent; box-shadow:none; filter:none; transition:none; }
.lp-chip-core { transform-box:fill-box; transform-origin:center; }
.topic-response { visibility:hidden; border:1px solid color-mix(in srgb,var(--topic-color,#8870af) 45%,#eee8f0); border-radius:24px; background:#faf8f3; }
.topic-response.is-shown { visibility:visible; }
.topic-response--shared { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(76%,620px); padding:22px 28px; font-size:clamp(1.2rem,2.1vw,1.55rem); line-height:1.5; z-index:2; pointer-events:none; }
@media(min-width:541px) {
 .landing .landing-tags-field.request-network { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:180px; }
 .request-network .request-cluster { translate:0 102px; align-content:end; transition:translate .45s cubic-bezier(.4,0,.2,1); }
 .request-network .request-cluster--3,.request-network .request-cluster--4 { translate:0 -102px; align-content:start; }
 .request-network.topic-expanded .request-cluster { translate:0 0; }
}
.lp-chip-node { transform-box:fill-box; transform-origin:center; }
@media(max-width:540px) {
 .topic-response--shared { display:none; }
 .topic-response--local { display:grid; flex-basis:100%; font-size:.95rem; padding:14px 12px; border-radius:18px; }
 .request-cluster { isolation:isolate; }
 .request-network .request-cluster > .landing-tag { translate:0 var(--topic-rest-offset,40px); transition:translate .4s cubic-bezier(.4,0,.2,1); }
 .request-network .request-cluster.topic-reading > .landing-tag { translate:0 0; }
 .request-cluster + .request-cluster::before { width:2px; background:#b4abc7; }
 .topic-travel-layer { position:absolute; inset:0; border-radius:inherit; overflow:hidden; pointer-events:none; z-index:-1; border:1px solid currentColor; }
 .topic-travel-wave { position:absolute; inset:0; background:linear-gradient(180deg,transparent,color-mix(in srgb,currentColor 32%,transparent),transparent); }
 .topic-travel-dot { position:absolute; top:-19px; left:calc(50% - 2px); width:6px; height:6px; border-radius:50%; pointer-events:none; }
}
.lp-neural-art .lp-chip-hit,.request-network .landing-tag { margin:0; }


/* Visibility is opt-in through JS; without JS the landing remains readable. */
.landing .landing-hero-el,.landing .landing-fade-up { opacity:1; transform:none; }
.lp-reveal-wait { opacity:0; transition:none !important; }
.landing .landing-hero-logo { aspect-ratio:1; }
.landing .lp-comfort-art { aspect-ratio:280 / 150; }
.landing .lp-chip-board { aspect-ratio:440 / 400; }
@media(prefers-reduced-motion:reduce) { .lp-reveal-wait { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .request-network .request-cluster > .landing-tag { transition:none; } }
@media(prefers-reduced-motion:reduce) { .request-network .request-cluster { transition:none; } }

