/* Shared public links remain intentionally compatible with the home page. */
.public-links{position:fixed;right:1rem;bottom:1rem;z-index:70;display:flex;max-width:calc(100vw - 2rem);gap:.4rem;padding:.55rem;border:1px solid rgba(86,255,180,.2);border-radius:.65rem;background:rgba(3,6,11,.88);backdrop-filter:blur(14px);overflow-x:auto}.public-links a{padding:.42rem .56rem;color:#9aabba;font-size:.72rem;text-decoration:none;white-space:nowrap}.public-links a:hover,.public-links a:focus-visible{color:#56ffb4}

:root{--trust-ink:#f5f0e4;--trust-muted:#aaa69e;--trust-dim:#77746d;--trust-gold:#e9c96b;--trust-gold-bright:#ffe49a;--trust-mint:#82d9b5;--trust-danger:#e89b9b;--trust-line:rgba(232,207,132,.18)}
.trust-document{min-width:0;min-height:100%;margin:0;color:var(--trust-ink);background:#070809;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;overflow-x:clip}
.trust-document::selection{color:#0b0a07;background:var(--trust-gold)}
.trust-atmosphere,.trust-atmosphere::before,.trust-atmosphere::after{position:fixed;inset:0;pointer-events:none}
.trust-atmosphere{z-index:0;background:radial-gradient(circle at 76% 8%,rgba(221,183,77,.1),transparent 28rem),radial-gradient(circle at 5% 72%,rgba(91,133,114,.08),transparent 34rem),linear-gradient(145deg,#0b0c0d 0%,#050607 58%,#0a0907 100%)}
.trust-atmosphere::before{content:"";opacity:.22;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.trust-atmosphere::after{content:"";inset:-35%;border:1px solid rgba(232,207,132,.08);border-radius:50%;transform:translate(45%,-48%)}
.trust-skip{position:fixed;z-index:100;top:.75rem;left:max(.75rem,env(safe-area-inset-left));padding:.7rem 1rem;color:#080806;background:var(--trust-gold-bright);border-radius:.25rem;transform:translateY(-180%);transition:transform .18s ease}
.trust-skip:focus{transform:translateY(0)}
.trust-header,.trust-page{position:relative;z-index:1;width:min(100%,90rem);margin-inline:auto;padding-inline:max(clamp(1rem,4.5vw,5.5rem),env(safe-area-inset-left)) max(clamp(1rem,4.5vw,5.5rem),env(safe-area-inset-right))}
.trust-header{display:flex;align-items:center;min-height:clamp(5rem,11vw,8rem);border-bottom:1px solid var(--trust-line)}
.trust-brand{display:inline-flex;align-items:center;gap:.85rem;color:var(--trust-ink);font-size:.75rem;font-weight:720;letter-spacing:.34em;text-decoration:none}
.trust-brand::before{content:"";width:1.15rem;aspect-ratio:1;border:1px solid rgba(255,228,154,.78);border-radius:50%;background:radial-gradient(circle at 38% 32%,#fff4bb 0 8%,#e6c45e 10% 34%,#5e4b15 36% 43%,transparent 46%);box-shadow:0 0 1.75rem rgba(233,201,107,.28)}
.trust-brand:hover{color:var(--trust-gold-bright)}
.trust-page{min-height:calc(100vh - 5rem);padding-top:clamp(4.5rem,11vw,10rem);padding-bottom:max(clamp(3rem,8vw,8rem),env(safe-area-inset-bottom))}
.trust-shell{width:min(100%,72rem);margin-inline:auto}
.trust-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,24rem);grid-template-areas:"kicker marker" "title marker" "lead marker";column-gap:clamp(2rem,7vw,8rem);align-items:end;padding-bottom:clamp(3rem,8vw,7rem)}
.trust-hero::after{content:attr(data-index);grid-area:marker;align-self:center;justify-self:end;color:transparent;font-family:Didot,"Bodoni 72","Iowan Old Style",Georgia,serif;font-size:clamp(8rem,20vw,17rem);font-weight:400;line-height:.7;-webkit-text-stroke:1px rgba(233,201,107,.13);user-select:none}
.trust-kicker{grid-area:kicker;margin:0 0 1.15rem;color:var(--trust-gold);font-size:.67rem;font-weight:650;letter-spacing:.22em;line-height:1.45;text-transform:uppercase}
.trust-shell h1{grid-area:title;max-width:13ch;margin:0;color:var(--trust-ink);font-family:Didot,"Bodoni 72","Iowan Old Style",Georgia,serif;font-size:clamp(3.5rem,8vw,7.8rem);font-weight:400;letter-spacing:-.045em;line-height:.88;text-wrap:balance}
.trust-lead{grid-area:lead;max-width:45rem;margin:clamp(1.6rem,3vw,2.5rem) 0 0;color:var(--trust-muted);font-family:"Iowan Old Style",Georgia,serif;font-size:clamp(1.1rem,2vw,1.42rem);line-height:1.65}
.trust-article{counter-reset:trust-section;border-top:1px solid var(--trust-line)}
.trust-card{position:relative;display:grid;grid-template-columns:minmax(12rem,.72fr) minmax(0,1.45fr);gap:clamp(1.5rem,5vw,6rem);margin:0;padding:clamp(2rem,5vw,4.8rem) clamp(0rem,1.5vw,1.25rem);border:0;border-bottom:1px solid var(--trust-line);border-radius:0;background:transparent;counter-increment:trust-section}
.trust-card::before{content:"0" counter(trust-section);position:absolute;top:clamp(2rem,5vw,4.8rem);left:0;color:var(--trust-dim);font:600 .6rem/1 "Avenir Next",sans-serif;letter-spacing:.14em;transform:translateX(-2.4rem)}
.trust-card h2{margin:0;color:var(--trust-gold-bright);font-family:Didot,"Bodoni 72","Iowan Old Style",Georgia,serif;font-size:clamp(1.65rem,3vw,2.55rem);font-weight:400;letter-spacing:-.025em;line-height:1.08;text-wrap:balance}
.trust-card p,.trust-card ul{margin:0}.trust-card ul{padding-left:1.15rem}.trust-card li+li{margin-top:.65rem}
.trust-card p,.trust-card li{color:var(--trust-muted);font-size:clamp(.96rem,1.25vw,1.08rem);line-height:1.8;overflow-wrap: anywhere}
.trust-card a{color:var(--trust-ink);text-decoration-color:rgba(233,201,107,.56);text-underline-offset:.22em;transition:color .18s ease,text-decoration-color .18s ease}
.trust-card a:hover{color:var(--trust-gold-bright);text-decoration-color:currentColor}.trust-card strong{color:var(--trust-ink);font-weight:620}.trust-ok h2{color:#bcebd7}.trust-alert h2{color:#f0b1aa}
.trust-ok::after,.trust-alert::after{content:"";position:absolute;top:0;right:0;width:3.2rem;height:1px;background:var(--trust-mint);box-shadow:0 0 1.25rem currentColor}.trust-alert::after{background:var(--trust-danger)}
.trust-footer{padding-top:clamp(3rem,7vw,6rem)}.trust-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;border:0}.trust-nav a{min-height:2.75rem;display:inline-flex;align-items:center;padding:.65rem .82rem;border:1px solid transparent;color:var(--trust-dim);font-size:.72rem;letter-spacing:.055em;text-decoration:none;transition:color .18s ease,border-color .18s ease,background .18s ease}.trust-nav a:hover{color:var(--trust-ink);border-color:var(--trust-line)}.trust-nav a[aria-current="page"]{color:var(--trust-gold-bright);border-color:rgba(233,201,107,.28);background:rgba(233,201,107,.055)}
.trust-document :focus-visible{outline:2px solid var(--trust-gold-bright);outline-offset:4px}
@media (max-width:760px){.trust-hero{grid-template-columns:1fr;grid-template-areas:"kicker" "title" "lead"}.trust-hero::after{display:none}.trust-card{grid-template-columns:1fr;gap:1.1rem}.trust-card::before{position:static;grid-column:1;transform:none;margin-bottom:-.4rem}}
@media (max-width:480px){.public-links{right:.65rem;bottom:.65rem;left:.65rem}.trust-header{min-height:4.5rem}.trust-page{padding-top:3.8rem}.trust-shell h1{font-size:clamp(3rem,16vw,4.6rem);overflow-wrap:anywhere}.trust-card{padding-block:2.2rem}.trust-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.trust-nav a{justify-content:center;text-align:center;overflow-wrap:anywhere}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Token launch controls. */
.token-launch {
  width: min(100%, 42rem);
  margin-top: clamp(1rem, 2.5vh, 1.75rem);
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(20, 241, 149, .3);
  border-radius: 1rem;
  background: linear-gradient(145deg, rgba(20, 241, 149, .09), rgba(3, 6, 11, .9));
  box-shadow: inset 0 1px rgba(255, 255, 255, .06), 0 1rem 3rem rgba(0, 0, 0, .22);
}

.token-launch h2 {
  margin: 0 0 .8rem;
  color: #f7f6ef;
  font-size: clamp(1rem, 2vw, 1.25rem);
}

.token-launch__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
}

/* Single compact CTA: small pill, auto width, centered. */
.token-launch__actions--single {
  display: flex;
  justify-content: center;
  padding-top: .35rem;
}
.token-launch__actions--single .token-launch__buy {
  width: auto;
  min-width: 0;
}

.token-launch__market,
.token-launch__copy {
  min-height: 48px;
  border: 1px solid rgba(20, 241, 149, .52);
  border-radius: .75rem;
  color: #03110b;
  background: linear-gradient(135deg, #14f195, #9affd5);
  font-weight: 800;
  text-decoration: none;
}

.token-launch__market:focus-visible,
.token-launch__copy:focus-visible {
  outline: 2px solid #ffd85a;
  outline-offset: 3px;
}

.token-launch__ca-soon {
  grid-column: 1 / -1;
  border-color: rgba(255, 216, 90, .5);
  color: #1c1503;
  background: linear-gradient(135deg, #ffd85a, #fff0b8);
  cursor: default;
}

/* Discreet "CA coming soon" pill / "BUY GIRASOL" + address row in the
   top-right header row. Placed inline in .world-chrome so it can never
   overlap scene copy. */
.token-launch__floating-row {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}

/* Full-width contract bar: CA always fully visible in every browser
   (wraps if needed, never truncated). Static block under the chrome. */
.token-ca-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  flex-wrap: wrap;
  padding: .45rem clamp(1.3rem, 3.6vw, 4.5rem);
}
.token-ca-bar__label {
  font-size: .56rem;
  letter-spacing: .12em;
  color: rgba(154, 255, 213, .75);
  white-space: nowrap;
}
.token-launch__floating-ca-address {
  cursor: copy;
  font-family: ui-monospace, Cascadia Code, monospace;
  font-size: .56rem;
  letter-spacing: .06em;
  color: #9affd5;
  background: rgba(3, 6, 11, .66);
  border: 1px dashed rgba(20, 241, 149, .3);
  border-radius: 999px;
  padding: .55rem .8rem;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-all;
  max-width: 44ch;
  text-align: left;
  min-height: 2.6rem;
  display: inline-flex;
  align-items: center;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.token-launch__floating-ca-address:hover { color: #ffd85a; border-color: rgba(255, 216, 90, .65); }
/* BUY button accent: solid solana-gold, louder than the prelaunch pill. */
.token-launch__buy {
  border-color: rgba(255, 216, 90, .75);
  color: #0b0d10;
  background: linear-gradient(135deg, #ffd85a, #ffb323);
  box-shadow: 0 0 18px rgba(255, 216, 90, .3);
}
.token-launch__buy:hover,
.token-launch__buy:focus-visible {
  color: #0b0d10;
  border-color: #ffd85a;
  box-shadow: 0 0 26px rgba(255, 216, 90, .45);
}

.token-launch__floating-ca {
  cursor: pointer;
  font: inherit;
  display: inline-flex;
  align-items: center;
  min-height: 2.6rem;
  padding: .55rem 1.05rem;
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .03em;
  border: 1px solid rgba(20, 241, 149, .45);
  border-radius: 999px;
  color: #9affd5;
  background: rgba(3, 6, 11, .66);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-family: ui-monospace, Cascadia Code, monospace;
  font-weight: 700;
  font-size: .58rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 0 14px rgba(20, 241, 149, .14);
  transition: border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.token-launch__floating-ca:hover,
.token-launch__floating-ca:focus-visible {
  outline: none;
  border-color: rgba(255, 216, 90, .65);
  color: #ffd85a;
  box-shadow: 0 0 18px rgba(255, 216, 90, .2);
}

/* Mobile: the header row is tight — allow the pill to sit under the brand row,
   right-aligned; header text (brand/status) keeps its own space. */
@media (max-width: 600px) {
  .token-launch__floating-ca {
    min-height: 2rem;
    padding: .34rem .62rem;
    font-size: .5rem;
  }
  .token-launch__floating-row { max-width: 100%; }
  .token-launch__floating-ca-address { font-size: .5rem; letter-spacing: 0; max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .token-launch__floating-ca { transition: none; }
}

.token-launch__contract {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .65rem .8rem;
  align-items: center;
  margin-bottom: 1rem;
}

.token-launch__contract-label { grid-column: 1 / -1; color: #a9b6b1; }
.token-launch__address {
  min-width: 0;
  padding: .75rem;
  color: #f7f6ef;
  background: rgba(0, 0, 0, .26);
  border-radius: .6rem;
  overflow-wrap: anywhere;
  user-select: text;
}

@media (max-width: 560px) {
  .token-launch__actions,
  .token-launch__contract { grid-template-columns: 1fr; }
  .token-launch__contract-label { grid-column: auto; }
  .token-launch__market,
  .token-launch__copy { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .token-launch * { scroll-behavior: auto; transition: none !important; }
}

/* Cross-browser performance fallbacks and lifecycle states. */
/* Keep compositor promotion limited to the scene currently being presented. */
.scene { will-change: auto; }
.scene[data-visible] { will-change: auto; }
.scroll-active .scene[data-visible] { will-change: opacity, transform; }

html.doc-hidden *,
html.journey-offscreen .scene *,
.scene:not([data-visible]) * {
  animation-play-state: paused !important;
}

html.doc-hidden .scene[data-visible],
html.journey-offscreen .scene[data-visible] { will-change: auto; }

/* Firefox paints SVG filters and fixed blended noise more expensively. */
@supports (-moz-appearance: none) {
  body::before { background-image: none; mix-blend-mode: normal; }
  .visual-shell { filter: none; }
  .depth-card,
  .observatory-readout,
  .cycle-badge,
  .signal-panel,
  .control-seal,
  .public-links {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-color: rgba(3, 10, 15, .96);
  }
}

@media (max-width: 768px), (prefers-reduced-motion: reduce), (pointer: coarse) {
  body::before { background-image: none; mix-blend-mode: normal; }
  body::after { box-shadow: inset 0 0 4rem rgba(0, 0, 0, .72); }
  .stage::before { transform: none; }
  .visual-shell,
  .scene-svg [filter] { filter: none !important; }
  .depth-card,
  .observatory-readout,
  .cycle-badge,
  .signal-panel,
  .control-seal,
  .public-links {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background-color: #07100d;
  }
  .orbit-rings,
  .event-pulses,
  .route-packet,
  .data-arcs,
  .tx-particle {
    animation-play-state: paused !important;
  }
}

@media (prefers-reduced-data: reduce) {
  body::before { background-image: none; mix-blend-mode: normal; }
  .visual-shell,
  .scene-svg [filter] { filter: none !important; }
}

html.data-save-data body::before { background-image: none; mix-blend-mode: normal; }
html.data-save-data .visual-shell,
html.data-save-data .scene-svg [filter] { filter: none !important; }
html.data-save-data .depth-card,
html.data-save-data .observatory-readout,
html.data-save-data .cycle-badge,
html.data-save-data .signal-panel,
html.data-save-data .control-seal,
html.data-save-data .public-links {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  background-color: #07100d;
}
html.data-save-data .scene * { animation-play-state: paused !important; }

@media (max-width: 600px) {
  .orbit-rings,
  .event-pulses,
  .route-packet,
  .underworld-depth,
  .tunnel-grid {
    display: none;
  }
}

.chain-logo--elysium{width:22px;height:22px;border-radius:50%;box-shadow:0 0 6px rgba(60,180,220,.35);flex:0 0 auto;}

.chain-badges .chain-logo{flex:0 0 auto;min-width:0}

/* Brand mark: real Girasol emblem (user-supplied), replaces CSS petals */
.brand-mark{position:relative;width:2.1rem;height:2.1rem;border-radius:50%;
 background:url('/assets/brand-girasol-64.png') center/contain no-repeat;}
.brand-mark i,.brand-mark b{display:none;}

/* Header tuning: bigger Girasol emblem, smaller chain logos, shifted left */
.brand-mark{width:2.5rem!important;height:2.5rem!important;}
.chain-badges{margin-left:.25rem!important;gap:.35rem!important;}
.chain-logo--solana{width:24px!important;height:24px!important;}
.chain-logo--robinhood{width:16px!important;height:21px!important;}
.chain-logo--elysium{width:18px!important;height:18px!important;}

/* Header tuning 2: bigger emblem, chain icons pushed slightly down */
.brand-mark{width:2.9rem!important;height:2.9rem!important;}
.chain-badges{margin-top:.45rem!important;transform:translateY(3px)!important;}

/* Trust pages: brand circle -> real Girasol emblem */
.trust-brand::before{content:"";width:1.6rem;aspect-ratio:1;border:none;border-radius:50%;
 background:url('/assets/brand-girasol-64.png') center/contain no-repeat;box-shadow:0 0 1.2rem rgba(87,227,155,.25);}

.trust-card pre{margin:.9rem 0 0;padding:.85rem 1rem;background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.07);border-radius:.55rem;overflow-x:auto;font:500 .82rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d8dcce;overflow-wrap:anywhere}
.trust-card pre em{color:var(--trust-dim);font-style:italic}
.trust-card code{font:500 .85em ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--trust-gold-bright);background:rgba(0,0,0,.35);padding:.12em .38em;border-radius:.35em}
/* Install-page upgrade: unify with trust design (end of tuning chain) */

/* Alpha table (trust-card table) — Alpha section 1 */
.alpha-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.alpha-table th, .alpha-table td { padding: 8px 10px; text-align: left; border-bottom: 1px solid rgba(255,255,255,.08); white-space: nowrap; }
.alpha-table th { color: rgba(255,255,255,.55); font-weight: 600; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.alpha-table .alpha-total { color: #ffd166; font-weight: 700; }
.alpha-table .neg { color: #ff6b6b; }
.alpha-table .alpha-addr { display: block; margin-top: 2px; font-size: 11px; opacity: .55; }
.alpha-table a.alpha-link { color: #7dd87d; text-decoration: none; font-weight: 600; }
.alpha-table a.alpha-link:hover { text-decoration: underline; }
.trust-table-scroller { overflow-x: auto; }
@media (max-width: 720px){ .alpha-table { font-size: 12px; } .alpha-table th, .alpha-table td { padding: 6px 7px; } }

/* Alpha copy affordance — Alpha section 2 */
.alpha-copy { cursor: pointer; user-select: all; transition: color .15s; }
.alpha-copy:hover { color: #7dd87d !important; opacity: 1 !important; }
.alpha-copy.copied { color: #7dd87d !important; opacity: 1 !important; font-weight: 700; }

/* Compact single BUY pill (token page), centered, never full-width. */
.token-buy-pill {
  display: inline-block;
  padding: .7rem 1.5rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #ffd85a, #ffb323);
  color: #0b0d10;
  font-family: ui-monospace, Cascadia Code, monospace;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid rgba(255, 216, 90, .75);
  box-shadow: 0 0 18px rgba(255, 216, 90, .3);
}
.token-buy-pill:hover, .token-buy-pill:focus-visible { box-shadow: 0 0 26px rgba(255, 216, 90, .45); }

/* Compact COPY button: auto width, sits inline with the address. */
.token-launch__contract {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
}
.token-launch__contract .token-launch__copy {
  width: auto;
  min-width: 0;
  min-height: 2.2rem;
  padding: .3rem .95rem;
}

/* Header CA row: single neat line - button + short CA, never two-line wrap. */
.token-launch__floating-row {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  max-width: 100%;
  flex-wrap: nowrap;
}
.token-launch__floating-ca-address {
  font-size: .58rem;
  white-space: nowrap;
  max-width: none;
  min-height: 2.2rem;
  padding: .3rem .75rem;
}
@media (max-width: 900px) {
  .token-launch__floating-row { flex-direction: column; gap: .4rem; }
  .token-launch__floating-ca-address { white-space: normal; min-height: 1.9rem; padding: .26rem .6rem; }
}

/* Header: BUY GIRASOL + full CA in one row, tidy. */
.world-chrome .token-launch__address {
  font-size: .58rem;
  white-space: nowrap;
  vertical-align: middle;
}
@media (max-width: 900px) {
  .world-chrome .token-launch__address { white-space: normal; }
}
