/* Firstfolk reference primitives, reused for the approved FeePilot direction. */
/* ============================================================
   Community Launchpad — design tokens
   ------------------------------------------------------------
   Direction: FIELD MANUAL. The product assembles people before a
   thing exists, so the visual system is borrowed from risograph
   print and field-guide plates rather than from crypto dashboards:

     · two spot inks that OVERPRINT where they meet (multiply),
       so overlap is literally two parties combining
     · halftone dot fields for any crowd — a dot is a person, and
       density is how full a campaign is
     · misregistration instead of soft shadow: a hard offset of the
       second ink, the way a two-colour press drifts
     · paper grain on the ground, never flat #fff

   Deliberately not: dark-glow crypto, cream + serif + terracotta,
   purple gradients, Inter, soft rounded cards on a grey page.
   ============================================================ */

:root {
  /* ---- ground ---- */
  --paper:      #e8e9e1;   /* cool stock, green-grey bias — not cream */
  --paper-sunk: #dcdfd3;
  --paper-edge: #c8ccbe;

  /* ---- inks ---- */
  --ink:        #12151a;   /* blue-black, the key plate */
  --ink-soft:   #4b5560;
  --ink-faint:  #858d95;

  --spot:       #f0431f;   /* vermilion — the single signal ink */
  --spot-deep:  #c22d10;
  --spot-wash:  #fbd9d0;

  --blue:       #1d3bc4;   /* structural second ink */
  --blue-wash:  #d3d9f5;

  --overprint:  #6b1b7a;   /* where the two inks cross */

  /* ---- status, kept off the signal ink so state never reads as brand ---- */
  --ok:        #0e7a52;
  --ok-wash:   #cfe6da;
  --warn:      #9a6a12;
  --warn-wash: #f1e3c4;
  --crit:      #8f1d12;
  --crit-wash: #f3d5cf;

  /* ---- type ---- */
  --display: "Bricolage Grotesque Variable", ui-sans-serif, system-ui, sans-serif;
  --body:    "Archivo Variable", ui-sans-serif, system-ui, sans-serif;
  --mono:    "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;

  /* ---- scale ---- */
  --s1: 4px;  --s2: 8px;  --s3: 12px; --s4: 16px;
  --s5: 24px; --s6: 32px; --s7: 48px; --s8: 72px;

  --rule: 1.5px solid var(--ink);
  --rule-thin: 1px solid var(--paper-edge);

  /* misregistration offset — hard, never blurred */
  --misreg: 4px 4px 0 var(--spot);
  --misreg-blue: 4px 4px 0 var(--blue);
  --misreg-ink: 3px 3px 0 var(--ink);
}

@media (prefers-color-scheme: dark) {
  :root {
    --paper:      #101319;
    --paper-sunk: #171b23;
    --paper-edge: #2c333e;

    --ink:        #eceade;
    --ink-soft:   #a3abb5;
    --ink-faint:  #6d7681;

    --spot:       #ff5c38;
    --spot-deep:  #ff805f;
    --spot-wash:  #3a1810;

    --blue:       #6f86ff;
    --blue-wash:  #1a2044;

    --overprint:  #b562c9;

    --ok:        #4fc494;  --ok-wash:   #10301f;
    --warn:      #e0ad52;  --warn-wash: #33280f;
    --crit:      #f08070;  --crit-wash: #3a1512;
  }
}

/* the viewer's toggle must beat the media query in both directions */
:root[data-theme="light"] {
  --paper:#e8e9e1; --paper-sunk:#dcdfd3; --paper-edge:#c8ccbe;
  --ink:#12151a; --ink-soft:#4b5560; --ink-faint:#858d95;
  --spot:#f0431f; --spot-deep:#c22d10; --spot-wash:#fbd9d0;
  --blue:#1d3bc4; --blue-wash:#d3d9f5; --overprint:#6b1b7a;
  --ok:#0e7a52; --ok-wash:#cfe6da; --warn:#9a6a12; --warn-wash:#f1e3c4;
  --crit:#8f1d12; --crit-wash:#f3d5cf;
}
:root[data-theme="dark"] {
  --paper:#101319; --paper-sunk:#171b23; --paper-edge:#2c333e;
  --ink:#eceade; --ink-soft:#a3abb5; --ink-faint:#6d7681;
  --spot:#ff5c38; --spot-deep:#ff805f; --spot-wash:#3a1810;
  --blue:#6f86ff; --blue-wash:#1a2044; --overprint:#b562c9;
  --ok:#4fc494; --ok-wash:#10301f; --warn:#e0ad52; --warn-wash:#33280f;
  --crit:#f08070; --crit-wash:#3a1512;
}

/* Social Studio: warm, conversational surfaces across the product. */
:root {
  --paper: #e9ddca;
  --paper-sunk: #f2e8da;
  --paper-edge: #d8caba;
  --ink: #1d1a19;
  --ink-soft: #62584f;
  --ink-faint: #8d7f71;
  --spot: #e63e28;
  --spot-deep: #c93220;
  --spot-wash: #f8d7cb;
  --blue: #7147a6;
  --blue-wash: #e8ddf4;
  --overprint: #7147a6;
  --ok: #397c42;
  --ok-wash: #e7f2df;
  --warn: #9a6819;
  --warn-wash: #f6e6c9;
  --crit: #a6281a;
  --crit-wash: #f6d9d2;
  --display: "Fredoka Variable", "Bricolage Grotesque Variable", sans-serif;
  --body: "Archivo Variable", ui-sans-serif, system-ui, sans-serif;
  --mono: "JetBrains Mono Variable", ui-monospace, monospace;
  --rule: 1px solid var(--paper-edge);
  --rule-thin: 1px solid var(--paper-edge);
  --misreg: 0 16px 42px #5d382521;
  --misreg-blue: 0 16px 42px #5d382521;
  --misreg-ink: 0 16px 42px #5d382521;
}

html { scroll-behavior: smooth; }
body { background: var(--paper); color: var(--ink); font-size: 15px; }
body::before { display: none; }
h1,h2,h3,h4 { letter-spacing: -.045em; font-variation-settings: normal; line-height: 1.07; }
h1 { font-size: clamp(58px, 5.8vw, 88px); }
h2 { font-size: clamp(29px, 3.3vw, 42px); }
h3 { font-size: clamp(21px, 2vw, 26px); }
.wrap { width: min(1280px, calc(100% - 64px)); }
.label { letter-spacing: .055em; font-size: 10px; color: var(--ink-faint); }
.fineprint { color: var(--ink-faint); }

.nav { background: #e9ddcade; border: 0; backdrop-filter: blur(18px); }
.nav-in { height: 86px; gap: 18px; }
.brand { min-width: 170px; }
.nav-links { background: #f8f0e5; border: 1px solid #dacdbf; border-radius: 40px; padding: 5px; gap: 1px; box-shadow: 0 8px 22px #463a2e10; margin-left: auto; margin-right: auto; }
.nav a.nlink { font: 700 11px/1 var(--body); letter-spacing: 0; text-transform: none; color: var(--ink); border: 0; border-radius: 30px; padding: 12px 15px; white-space: nowrap; }
.nav a.nlink.on { background: #fffaf5; box-shadow: 0 1px 8px #4b312012; }
.nav a.nlink:hover { background: #fffaf5; }
.mobile-menu { border: 1px solid var(--paper-edge); border-radius: 20px; padding: 9px 13px; background: #f8f0e5; box-shadow: none; }
.walletbar { margin-left: auto; }
.btn.btn-spot.wallet-cta { background: var(--ink); color: #fff; border-radius: 32px; border: 0; padding: 14px 20px; font-size: 11px; box-shadow: none; white-space: nowrap; }
.wallet-cta::after { content: "↗"; font-size: 17px; margin-left: 20px; font-weight: 400; }
.btn.btn-spot.wallet-cta:hover { background: #33302d; box-shadow: 0 8px 20px #241b1824; }
.wallet-id { border-radius: 28px; background: #f8f0e5; border: 1px solid var(--paper-edge); padding: 9px 13px; }

.btn { border: 1px solid var(--paper-edge); border-radius: 32px; background: #fff8ee; box-shadow: none; font-family: var(--body); font-size: 13px; padding: 13px 20px; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 9px 20px #3c281b19; }
.btn:active { transform: translateY(0); box-shadow: none; }
.btn-spot { border-color: var(--spot); background: var(--spot); color: #fff; }
.btn-spot:hover { background: var(--spot-deep); box-shadow: 0 10px 24px #c9322040; }
.btn-quiet { background: transparent; box-shadow: none; }
.btn:disabled { cursor: not-allowed; opacity: .55; box-shadow: none; transform: none; }
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }

.plate { border: 1px solid var(--paper-edge); background: #f9f3e9; border-radius: 24px; box-shadow: 0 14px 35px #63432b14; }
.plate-flat { box-shadow: none; }
.pill { border: 0; border-radius: 30px; padding: 7px 10px; font-size: 9px; letter-spacing: .05em; background: #eee5da; }
.pill-forming { color: #42723c; background: #e6f2dd; }
.pill-qualified { color: #63409e; background: #e8ddf4; }
.pill-launched,.pill-trading { color: var(--ok); background: var(--ok-wash); }
.pill-expired { color: #756e67; background: #eee5da; }
.pill-failed { color: var(--crit); background: var(--crit-wash); }
.reg::after { height: 1px; background: var(--paper-edge); }
.footer { border-top: 1px solid var(--paper-edge); margin-top: 80px; padding: 30px 0 40px; }

/* Home: the conversation is the hero, with chain state alongside it. */
.studio-hero { position: relative; isolation: isolate; overflow: hidden; }
.studio-hero::before { content: ""; position: absolute; z-index: -1; width: 900px; height: 780px; right: -80px; top: -40px; background: radial-gradient(circle at 50% 45%, #fbe9bf 0, #f7c6b9 36%, #e4d7f2 62%, transparent 76%); filter: blur(25px); opacity: .78; pointer-events: none; }
.studio-hero-inner { min-height: 695px; display: grid; grid-template-columns: .93fr 1.07fr; gap: 55px; align-items: center; }
.studio-intro { padding: 22px 0 30px; }
.studio-intro h1 { margin-top: 0; font-weight: 650; letter-spacing: -.065em; line-height: .96; }
.studio-intro h1 em { font-style: normal; color: var(--spot); }
.studio-lede { max-width: 485px; color: var(--ink-soft); line-height: 1.75; font-size: 15px; margin-top: 25px; }
.studio-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 31px; }
.studio-actions .btn { padding: 17px 21px; min-width: 181px; justify-content: space-between; }
.studio-actions .btn span { font-size: 20px; line-height: 1; }
.studio-text-link { display: inline-flex; align-items: center; gap: 25px; border-bottom: 1px solid #74665d; text-decoration: none; padding: 8px 0; font-weight: 750; font-size: 12px; white-space: nowrap; }
.studio-text-link:hover { color: var(--spot-deep); border-color: var(--spot-deep); }
.studio-stage { position: relative; min-height: 600px; display: flex; align-items: center; }
.studio-feature-wrap { position: relative; width: 100%; min-height: 575px; }
.studio-chat-card { position: absolute; top: 12px; left: 0; width: min(435px, 75%); height: 526px; background: #f7f0e3; border: 1px solid #dbccba; border-radius: 27px; overflow: hidden; box-shadow: 0 24px 48px #4d33282b; display: flex; flex-direction: column; }
.studio-chat-head { min-height: 72px; display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid #e0d7cb; background: #fbf5eb; }
.studio-avatar { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 13px; background: var(--spot); color: #fff; font: 650 15px var(--display); overflow: hidden; }
.studio-chat-title { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.studio-chat-title strong { font: 650 18px/1 var(--display); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.studio-chat-title span { font: 500 9px/1.3 var(--mono); color: var(--ink-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.studio-chat-body { flex: 1; min-height: 0; overflow: hidden; padding: 15px 16px; background: linear-gradient(#f7f0e3,#f4eadb); }
.studio-chat-day { display: block; text-align: center; font: 600 9px var(--mono); color: #ab9a87; margin: 2px 0 18px; }
.studio-bubble { max-width: 75%; width: max-content; padding: 12px 14px; margin-bottom: 10px; background: #fff; border-radius: 15px; box-shadow: 0 5px 13px #48271b0b; }
.studio-bubble-reply { margin-left: auto; background: #f3c7b7; }
.studio-bubble span,.studio-poll-preview > span { display: block; font: 600 8px var(--mono); color: #9a8073; margin-bottom: 6px; }
.studio-bubble p { font-size: 11px; line-height: 1.45; max-height: 5.8em; overflow: hidden; overflow-wrap: anywhere; }
.studio-chat-prompt { max-width: 73%; display: flex; align-items: flex-start; gap: 9px; margin: 22px 0; color: #8e7e70; }
.studio-chat-prompt span { color: var(--spot); font-size: 18px; line-height: 1; }
.studio-chat-prompt p { font-size: 11px; line-height: 1.5; }
.studio-poll-preview { max-width: 75%; background: #fff9ed; border: 1px solid #dbcbbb; border-radius: 14px; padding: 12px; }
.studio-poll-preview strong { display: block; font-size: 11px; line-height: 1.3; }
.studio-poll-preview small { display: block; margin-top: 8px; color: var(--ink-faint); font-size: 9px; }
.studio-chat-foot { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; border-top: 1px solid #e0d7cb; color: #8a7868; font-size: 11px; text-decoration: none; }
.studio-chat-foot b { width: 31px; height: 31px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--spot); color: #fff; font-size: 19px; }
.studio-chat-foot:hover span { color: var(--spot-deep); }
.studio-commit-card { position: absolute; z-index: 2; width: 239px; top: 140px; right: 0; padding: 18px; background: #fffaf2; border: 1px solid #d6c1ae; border-radius: 20px; box-shadow: 0 24px 42px #57332539; transform: rotate(4deg); }
.studio-mini-label { font: 650 9px/1.35 var(--mono); letter-spacing: .04em; color: var(--spot-deep); text-transform: uppercase; }
.studio-commit-card > .studio-mini-label { color: #8b7d6d; }
.studio-commit-card > div:nth-child(2) { display: flex; flex-direction: column; margin: 17px 0 20px; }
.studio-commit-card strong { font: 650 51px/.93 var(--display); letter-spacing: -.06em; }
.studio-commit-card strong em { color: #a59587; font-size: 25px; font-style: normal; }
.studio-commit-card > div:nth-child(2) > span { color: #87766a; font-size: 11px; }
.studio-commit-meter { height: 7px; border-radius: 10px; background: #eee7db; overflow: hidden; }
.studio-commit-meter i { display: block; height: 100%; border-radius: inherit; background: var(--spot); }
.studio-commit-meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; font: 600 8px/1.3 var(--mono); color: #8d7b70; }
.studio-commit-card > a { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 24px; padding: 12px 11px; border-radius: 10px; background: var(--ink); color: #fff; font-size: 10px; font-weight: 750; text-decoration: none; }
.studio-commit-card > a:hover { background: var(--spot-deep); }
.studio-empty-room { width: min(500px, 100%); min-height: 430px; margin: auto; padding: 32px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; border: 1px solid var(--paper-edge); border-radius: 28px; background: #f8f0e5; box-shadow: 0 24px 48px #4d33281e; }
.studio-empty-icon { font: 74px/1 var(--display); color: var(--spot); margin: 32px 0 15px; }
.studio-empty-room p { color: var(--ink-soft); line-height: 1.6; margin: 13px 0 27px; }
.studio-empty-room .btn { margin-top: auto; }
.studio-rooms { border-top: 1px solid #c5b8a8; padding-top: 27px; scroll-margin-top: 106px; }
.studio-section-head { display: flex; justify-content: space-between; align-items: end; gap: 25px; }
.studio-section-head h2 { margin-top: 6px; }
.studio-section-head > p { font: 600 10px/1.5 var(--mono); color: var(--ink-faint); text-align: right; }
.studio-rooms .filters { margin: 25px 0; }
.filter { font: 700 11px var(--body); letter-spacing: 0; text-transform: none; border: 1px solid var(--paper-edge); border-radius: 25px; background: #f4eade; padding: 9px 15px; }
.filter.on { background: var(--ink); color: #fff; }
.filter:hover:not(.on) { background: #fff8ee; }
.studio-project-grid { gap: 16px; grid-template-columns: repeat(auto-fill,minmax(290px,1fr)); }
.pcard { padding: 17px; gap: 15px; border-radius: 19px; }
.pcard:hover { transform: translateY(-3px); box-shadow: 0 17px 35px #63432b25; }
.pcard-glyph { width: 40px; height: 40px; border: 0; border-radius: 12px; background: #dac1f0; font: 700 13px var(--display); }
.pcard-id h3 { font-size: 21px; }
.pcard-concept { color: var(--ink-soft); min-height: 0; line-height: 1.5; }
.pcard-foot { border-color: var(--paper-edge); gap: 15px; flex-wrap: wrap; }
.foot-v { font-size: 12px; }
.studio-how { margin-top: 70px; }
.studio-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 26px; }
.studio-step { padding: 23px; border: 1px solid var(--paper-edge); border-radius: 20px; background: #f4eade; }
.studio-step h3 { font-size: 23px; margin-top: 30px; }
.studio-step p { color: var(--ink-soft); font-size: 13px; line-height: 1.55; margin-top: 9px; }

/* The same surfaces carry through room, creation, portfolio, and terms. */
.phead { padding-top: 34px; }
.phead-glyph { border: 0; border-radius: 18px; box-shadow: none; }
.phead-id h2 { font-size: clamp(36px,4vw,52px); }
.panel { padding: 25px; }
.panel + .panel { margin-top: 18px; }
.proom { gap: 20px; }
.quants { border: 1px solid var(--paper-edge); border-radius: 18px; overflow: hidden; background: #fff8ee; }
.quants > * + * { border-left: 1px solid var(--paper-edge); }
.quant { padding: 15px; }
.ticks i,.meter { border-radius: 5px; }
.meter { border: 0; height: 8px; }
.meter span { border-radius: inherit; }
.field input,.field textarea,.field select,.field input[type="text"],.field textarea { border: 1px solid var(--paper-edge); border-radius: 12px; background: #fffaf4; padding: 11px 13px; color: var(--ink); font-family: var(--body); font-size: 14px; }
.field textarea { min-height: 110px; }
.field input[type="file"] { width: 100%; }
.seg { gap: 7px; }
.seg button { border: 1px solid var(--paper-edge); border-radius: 11px; background: #fffaf4; margin-left: 0; font-family: var(--body); font-size: 11px; }
.seg button.on { background: var(--ink); color: #fff; }
.review-amt input { font-family: var(--display); }
.escrow,.warnbox,.txstate { border-radius: 13px; }
.states { border: 1px solid var(--paper-edge); border-radius: 18px; overflow: hidden; background: var(--paper-edge); gap: 1px; }
.state-row { background: #f9f3e9; }
.community-section { border-color: var(--paper-edge); }
.discussion-post { padding: 13px; margin: 10px 0; border: 0; border-radius: 14px; background: #fffaf4; }
.discussion-post:nth-of-type(even) { background: #f6d8cc; }
.discussion-post p { font-size: 13px; line-height: 1.5; }
.community textarea { border: 1px solid var(--paper-edge); border-radius: 12px; background: #fffaf4; padding: 12px; font: inherit; }
.poll-choice .btn { border-radius: 12px; }
.text-button { color: var(--spot-deep); }
.wallet-adapter-modal-wrapper { background: #f8f0e5 !important; border: 1px solid var(--paper-edge) !important; border-radius: 24px !important; box-shadow: 0 24px 55px #3d291c35 !important; }
.wallet-adapter-modal-list li button { border-radius: 12px !important; }

@media (max-width: 1120px) {
  .brand { min-width: 175px; }
  .nav a.nlink { padding-inline: 10px; }
  .studio-hero-inner { gap: 25px; }
  .studio-chat-card { width: min(410px, 76%); }
}
@media (max-width: 900px) {
  .wrap { width: min(680px, calc(100% - 36px)); }
  .nav-in { height: 74px; }
  .studio-hero-inner { grid-template-columns: 1fr; min-height: 0; gap: 12px; padding-top: 36px; }
  .studio-intro { padding: 0; }
  .studio-intro h1 { font-size: clamp(60px,9vw,82px); }
  .studio-stage { min-height: 580px; }
  .studio-feature-wrap { max-width: 560px; margin: auto; }
  .studio-rooms { margin-top: 10px; }
}
@media (max-width: 900px) {
  .nav-links { display: none; position: absolute; top: 68px; left: 18px; right: 18px; margin: 0; z-index: 35; padding: 12px; border: 1px solid var(--paper-edge); border-radius: 18px; box-shadow: 0 17px 30px #3d291c2b; flex-direction: column; gap: var(--s3); }
  .nav-links.open { display: flex; }
  .nav a.nlink { padding: 12px; }
  .mobile-menu { display: inline-flex; }
  .studio-steps { grid-template-columns: 1fr; }
  .studio-step h3 { margin-top: 12px; }
}
@media (max-width: 560px) {
  .wrap { width: calc(100% - 36px); }
  .nav-in { gap: 8px; }
  .brand { min-width: 0; margin-right: auto; }
  .walletbar { margin-left: 0; }
  .wallet-cta { padding: 10px 12px; font-size: 10px; }
  .wallet-cta::after { display: none; }
  .mobile-menu { font-size: 10px; padding: 10px; }
  .studio-hero-inner { padding-top: 35px; }
  .studio-intro h1 { font-size: clamp(54px,14vw,68px); }
  .studio-lede { font-size: 14px; line-height: 1.7; }
  .studio-actions { gap: 14px; }
  .studio-actions .btn { min-width: 160px; }
  .studio-stage { min-height: 560px; }
  .studio-feature-wrap { min-height: 550px; }
  .studio-chat-card { width: calc(100% - 36px); height: 520px; }
  .studio-chat-head { padding: 10px 12px; }
  .studio-chat-title strong { font-size: 16px; }
  .studio-chat-title span { font-size: 8px; }
  .studio-chat-head .pill { font-size: 8px; padding: 6px 8px; }
  .studio-commit-card { width: 177px; right: 0; top: 205px; padding: 15px; transform: rotate(3deg); }
  .studio-commit-card strong { font-size: 38px; }
  .studio-commit-card strong em { font-size: 18px; }
  .studio-commit-meta { font-size: 7px; }
  .studio-commit-card > a { font-size: 9px; padding: 10px; }
  .studio-section-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .studio-section-head > p { text-align: left; }
  .studio-how { margin-top: 60px; }
  .filters { gap: 6px; }
  .filter { font-size: 10px; padding: 8px 10px; }
  .quants { grid-template-columns: repeat(2,1fr); }
  .quants > :nth-child(3) { border-left: 0; }
  .seg { flex-wrap: wrap; }
  .seg button { min-width: 29%; }
  .panel { padding: 18px; }
  .phead { gap: 10px; }
  .phead-clock { width: 100%; text-align: left; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Color-only V2, inspired by the palette visible on simps.fun on 29 Sep 2026.
   Layout, typography, copy and behavior remain Social Studio's. */
html[data-palette="feepilot"] {
  color-scheme: dark;
  --paper: #111315;
  --paper-sunk: #181b1f;
  --paper-edge: #323840;
  --ink: #f4f1ea;
  --ink-soft: #b5bbc3;
  --ink-faint: #9da5af;
  --spot: #e9b949;
  --spot-deep: #d5a329;
  --spot-wash: #342d1c;
  --blue: #8c9caf;
  --blue-wash: #242e39;
  --overprint: #84662b;
  --ok: #68e79e;
  --ok-wash: #193b2b;
  --warn: #8c9caf;
  --warn-wash: #45351d;
  --crit: #ec8a81;
  --crit-wash: #3b2224;
  --misreg: 0 16px 42px #00000080;
  --misreg-blue: 0 16px 42px #00000080;
  --misreg-ink: 0 16px 42px #00000080;
}

html[data-palette="feepilot"] body { background: var(--paper); color: var(--ink); }
html[data-palette="feepilot"] .nav { background: #111315eb; }
html[data-palette="feepilot"] .nav-links { background: #1f2328; border-color: #323840; box-shadow: 0 8px 22px #00000060; }
html[data-palette="feepilot"] .nav a.nlink { color: #f4f1ea; }
html[data-palette="feepilot"] .nav a.nlink.on,
html[data-palette="feepilot"] .nav a.nlink:hover { background: #323840; box-shadow: none; }
html[data-palette="feepilot"] .studio-avatar,
html[data-palette="feepilot"] .phead-glyph { color: #171b20; }
html[data-palette="feepilot"] .mobile-menu,
html[data-palette="feepilot"] .wallet-id { background: #1f2328; border-color: #323840; color: #f4f1ea; }
html[data-palette="feepilot"] .btn.btn-spot.wallet-cta { background: #f4f1ea; color: #171b20; }
html[data-palette="feepilot"] .btn.btn-spot.wallet-cta:hover { background: #e2e5e9; box-shadow: 0 8px 20px #00000070; }

html[data-palette="feepilot"] .btn { background: #1f2328; color: #f4f1ea; border-color: #414851; }
html[data-palette="feepilot"] .btn:hover { box-shadow: 0 9px 20px #00000070; }
html[data-palette="feepilot"] .btn-quiet { background: transparent; color: #f4f1ea; }
html[data-palette="feepilot"] .btn-quiet:hover { background: #323840; }
html[data-palette="feepilot"] .btn-spot { background: #e9b949; color: #171b20; border-color: #e9b949; }
html[data-palette="feepilot"] .btn-spot:hover { background: #f0ca70; border-color: #f0ca70; box-shadow: 0 10px 24px #e9b9494d; }
html[data-palette="feepilot"] .plate { background: #1f2328; border-color: #323840; box-shadow: 0 14px 35px #00000050; }
html[data-palette="feepilot"] .pill { background: #323840; color: #b5bbc3; }
html[data-palette="feepilot"] .pill-forming { background: #193b2b; color: #68e79e; }
html[data-palette="feepilot"] .pill-qualified { background: #46341d; color: #8c9caf; }
html[data-palette="feepilot"] .pill-launched,
html[data-palette="feepilot"] .pill-trading { background: #193b2b; color: #68e79e; }
html[data-palette="feepilot"] .pill-expired { background: #323840; color: #b5bbc3; }
html[data-palette="feepilot"] .pill-failed { background: #3b2224; color: #ec8a81; }

html[data-palette="feepilot"] .studio-hero::before { background: radial-gradient(circle at 48% 45%, #31302b 0, #22262b 37%, #1f2328 67%, transparent 78%); opacity: .65; }
html[data-palette="feepilot"] .studio-text-link { border-color: #939ca8; }
html[data-palette="feepilot"] .studio-chat-card { background: #1f2328; border-color: #414851; box-shadow: 0 24px 48px #00000099; }
html[data-palette="feepilot"] .studio-chat-head { background: #24292f; border-color: #414851; }
html[data-palette="feepilot"] .studio-chat-body { background: linear-gradient(#1f2328,#181b1f); }
html[data-palette="feepilot"] .studio-chat-day { color: #9da5af; }
html[data-palette="feepilot"] .studio-bubble { background: #323840; box-shadow: 0 5px 13px #00000055; }
html[data-palette="feepilot"] .studio-bubble-reply { background: #332c1c; }
html[data-palette="feepilot"] .studio-bubble span,
html[data-palette="feepilot"] .studio-poll-preview > span { color: #bec4cd; }
html[data-palette="feepilot"] .studio-chat-prompt { color: #b5bbc3; }
html[data-palette="feepilot"] .studio-poll-preview { background: #24292f; border-color: #4a525d; }
html[data-palette="feepilot"] .studio-chat-foot { border-color: #414851; color: #b5bbc3; }
html[data-palette="feepilot"] .studio-chat-foot b { color: #171b20; }
html[data-palette="feepilot"] .studio-commit-card { background: #22272d; border-color: #555d67; box-shadow: 0 24px 42px #000000a8; }
html[data-palette="feepilot"] .studio-commit-card > .studio-mini-label,
html[data-palette="feepilot"] .studio-commit-card strong em,
html[data-palette="feepilot"] .studio-commit-card > div:nth-child(2) > span,
html[data-palette="feepilot"] .studio-commit-meta { color: #b5bbc3; }
html[data-palette="feepilot"] .studio-commit-meter { background: #414851; }
html[data-palette="feepilot"] .studio-commit-card > a { background: #e9b949; color: #171b20; }
html[data-palette="feepilot"] .studio-commit-card > a:hover { background: #f0ca70; }
html[data-palette="feepilot"] .studio-empty-room { background: #1f2328; box-shadow: 0 24px 48px #00000080; }
html[data-palette="feepilot"] .studio-rooms { border-color: #414851; }
html[data-palette="feepilot"] .filter { background: #1f2328; color: #f4f1ea; border-color: #414851; }
html[data-palette="feepilot"] .filter.on { background: #f4f1ea; color: #171b20; }
html[data-palette="feepilot"] .filter:hover:not(.on) { background: #323840; }
html[data-palette="feepilot"] .pcard-glyph { background: #e9b949; color: #171b20; }
html[data-palette="feepilot"] .pcard:hover { box-shadow: 0 17px 35px #00000099; }
html[data-palette="feepilot"] .studio-step { background: #1f2328; border-color: #414851; }

html[data-palette="feepilot"] .quants { background: #181b1f; border-color: #414851; }
html[data-palette="feepilot"] .quants > * + * { border-color: #414851; }
html[data-palette="feepilot"] .field input,
html[data-palette="feepilot"] .field textarea,
html[data-palette="feepilot"] .field select,
html[data-palette="feepilot"] .field input[type="text"],
html[data-palette="feepilot"] .community textarea { background: #181b1f; border-color: #414851; color: #f4f1ea; }
html[data-palette="feepilot"] input::placeholder,
html[data-palette="feepilot"] textarea::placeholder { color: #9da5af; }
html[data-palette="feepilot"] .field input[type="file"]::file-selector-button { background: #323840; color: #f4f1ea; border: 1px solid #414851; border-radius: 8px; }
html[data-palette="feepilot"] .seg button { background: #181b1f; border-color: #414851; color: #f4f1ea; }
html[data-palette="feepilot"] .seg button.on { background: #e9b949; color: #171b20; border-color: #e9b949; }
html[data-palette="feepilot"] .states { background: #323840; border-color: #414851; }
html[data-palette="feepilot"] .state-row { background: #1f2328; }
html[data-palette="feepilot"] .discussion-post { background: #24292f; }
html[data-palette="feepilot"] .discussion-post:nth-of-type(even) { background: #2a3037; }
html[data-palette="feepilot"] .wallet-adapter-modal-wrapper { background: #1f2328 !important; border-color: #414851 !important; box-shadow: 0 24px 55px #000000b3 !important; }
html[data-palette="feepilot"] .wallet-adapter-modal-title { color: #f4f1ea !important; }
html[data-palette="feepilot"] .wallet-adapter-modal-list li button { color: #f4f1ea !important; }

/* Match launchmodel's default homepage: 1260px outer width, 24px side padding. */
.home .wrap,.nav-in,.footer-site .footer-in { width: 100%; max-width: 1260px; padding-inline: 24px; }
@media (max-width: 760px) { .home .wrap,.nav-in,.footer-site .footer-in { padding-inline: 16px; } }
.explore-page .studio-rooms { border-top: 0; margin-top: 0; padding-top: clamp(34px, 5vw, 68px); }
.explore-page .studio-section-head h1 { margin-top: 6px; font-size: clamp(29px, 3.3vw, 42px); }

/* Animated homepage conversation preview. */
.studio-chat-body { overflow: hidden; }
.studio-token-art { padding: 0; background: transparent; }
.studio-token-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.studio-ready-pill { flex: none; color: var(--ok) !important; background: var(--ok-wash) !important; }
.studio-chat-body .studio-chat-day { margin-bottom: 15px; }
.studio-sample-bubble {
  max-width: 66%;
  animation: studio-message-enter .38s cubic-bezier(.18,.78,.25,1) both;
}
.studio-sample-creator { border-left: 2px solid var(--spot); }
.studio-sample-bubble p { max-height: none; }
@keyframes studio-message-enter {
  from { opacity: 0; transform: translateY(12px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 560px) {
  .studio-chat-body .studio-chat-day { margin-bottom: 11px; }
  .studio-sample-bubble { max-width: 55%; padding: 9px 10px; margin-bottom: 8px; }
  .studio-sample-bubble p { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .studio-sample-bubble { animation: none; }
}

/* Image-first project browse cards, adapted to Firstfolk's plum and pink palette. */
.studio-rooms .studio-project-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--paper-edge);
  border-radius: 25px;
  background: var(--paper-sunk);
}
.room-browse-card {
  display: block;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--paper-edge);
  border-radius: 18px;
  background: #1f2328;
  color: var(--ink);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.room-browse-card:hover,.room-browse-card:focus-visible {
  transform: translateY(-3px);
  border-color: var(--spot);
  box-shadow: 0 14px 28px #00000080;
}
.room-browse-card:focus-visible { outline: 3px solid var(--spot); outline-offset: 3px; }
.room-browse-art {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  overflow: hidden;
  background: radial-gradient(circle at 28% 20%, #f3d68a 0, #e9b949 48%, #9c782e 100%);
}
.room-browse-fallback { color: #f4f1ea; font: 750 clamp(44px, 6vw, 76px)/1 var(--display); letter-spacing: -.06em; }
.room-browse-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.room-browse-card:hover .room-browse-art img { transform: scale(1.035); }
.room-browse-art .pill { position: absolute; z-index: 1; top: 11px; left: 11px; box-shadow: 0 4px 12px #00000055; }
.room-browse-arrow { position: absolute; z-index: 1; right: 11px; bottom: 11px; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #f4f1ea80; border-radius: 50%; background: #111315cc; color: #f4f1ea; font: 20px/1 var(--body); }
.room-browse-copy { display: flex; flex-direction: column; min-height: 160px; padding: 12px 13px 11px; }
.room-browse-copy h3 { display: -webkit-box; min-height: 2.25em; margin: 0; overflow: hidden; font: 700 17px/1.13 var(--display); -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; }
.room-browse-ticker { margin-top: 4px; color: var(--spot); font: 650 11px/1.2 var(--mono); }
.room-browse-primary { display: flex; flex-direction: column; gap: 3px; margin-top: 10px; }
.room-browse-primary strong { overflow: hidden; font: 700 clamp(17px, 1.7vw, 23px)/1.1 var(--display); text-overflow: ellipsis; white-space: nowrap; }
.room-browse-primary span { color: var(--ink-soft); font-size: 11px; line-height: 1.25; }
.room-browse-meter { height: 5px; margin-top: 9px; overflow: hidden; border-radius: 999px; background: var(--paper-edge); }
.room-browse-meter span { display: block; height: 100%; border-radius: inherit; background: var(--spot); }
.room-browse-foot { display: flex; justify-content: space-between; gap: 6px; margin-top: auto; padding-top: 10px; border-top: 1px solid var(--paper-edge); color: var(--ink-faint); font: 600 10px/1.25 var(--mono); white-space: nowrap; }
.room-browse-meter + .room-browse-foot { margin-top: auto; }
.room-browse-foot span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.room-browse-foot span:last-child { text-align: right; }
@media (max-width: 950px) {
  .studio-rooms .studio-project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .studio-rooms .studio-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .studio-rooms .filters { display: flex; flex-wrap: nowrap; gap: 7px; margin: 20px 0; overflow-x: auto; padding: 0 0 7px; scrollbar-width: thin; }
  .studio-rooms .filter { flex: none; white-space: nowrap; }
  .studio-rooms .studio-project-grid { gap: 8px; padding: 8px; border-radius: 19px; }
  .room-browse-card { border-radius: 13px; }
  .room-browse-art .pill { top: 7px; left: 7px; padding: 5px 7px; font-size: 8px; }
  .room-browse-arrow { right: 7px; bottom: 7px; width: 26px; height: 26px; font-size: 16px; }
  .room-browse-fallback { font-size: 43px; }
  .room-browse-copy { min-height: 142px; padding: 9px; }
  .room-browse-copy h3 { font-size: 15px; }
  .room-browse-ticker { font-size: 10px; }
  .room-browse-primary { margin-top: 10px; }
  .room-browse-primary strong { font-size: 17px; }
  .room-browse-primary span { font-size: 9px; }
  .room-browse-foot { padding-top: 9px; font-size: 8px; }
}
@media (max-width: 340px) {
  .studio-rooms .studio-project-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .room-browse-card,.room-browse-art img { transition: none; }
}

/* Compact homepage FAQ, with the full explanations kept in the docs. */
.home-faq { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr); gap: clamp(32px, 6vw, 100px); margin-top: clamp(78px, 9vw, 126px); }
.home-faq-intro h2 { max-width: 340px; font-size: clamp(34px, 3.6vw, 48px); }
.home-faq-intro p { max-width: 290px; margin-top: 16px; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.home-faq-intro .studio-text-link { margin-top: 22px; }
.home-faq-list { min-width: 0; border-bottom: 1px solid var(--paper-edge); }
.home-faq-list details { border-top: 1px solid var(--paper-edge); }
.home-faq-list summary { position: relative; display: block; padding: 20px 42px 20px 0; color: var(--ink); font: 650 clamp(16px, 1.5vw, 19px)/1.3 var(--body); cursor: pointer; list-style: none; }
.home-faq-list summary::-webkit-details-marker { display: none; }
.home-faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); color: var(--spot); font: 400 27px/1 var(--body); }
.home-faq-list details[open] summary::after { content: "−"; }
.home-faq-list summary:hover { color: var(--spot); }
.home-faq-list summary:focus-visible { outline: 3px solid var(--spot); outline-offset: 3px; border-radius: 4px; }
.home-faq-list p { max-width: 640px; margin: -2px 40px 19px 0; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }
@media (max-width: 760px) {
  .home-faq { grid-template-columns: 1fr; gap: 27px; margin-top: 76px; }
  .home-faq-intro h2,.home-faq-intro p { max-width: none; }
  .home-faq-intro .studio-text-link { margin-top: 15px; }
  .home-faq-list summary { padding-top: 18px; padding-bottom: 18px; }
}
