/* Sitewide editorial look (Nov 2026): white pages, soft stone panels, red only as an accent,
   Inter Tight for text, Archivo Black lowercase for the name, no hard drop shadows.
   Loaded last on every page so it sits on top of garden.css and each page's own styles. */
:root {
  --ink: #1d1b19;
  --stone: #67645e;
  --card: #f3f1ed;
  --hair: rgba(29, 27, 25, .12);
  --cream: #ffffff;
  --white: #ffffff;
  --red-ink: #1d1b19;
  --line-on-cream: rgba(29, 27, 25, .12);
  --font-serif: 'Inter Tight', 'Helvetica Neue', Arial, sans-serif;
  --font-script: 'Inter Tight', 'Helvetica Neue', Arial, sans-serif;
  --font-type: 'Inter Tight', 'Helvetica Neue', Arial, sans-serif;
  --font-sys: 'Inter Tight', 'Helvetica Neue', Arial, sans-serif;
  --font-heavy: 'Archivo Black', 'Inter Tight', Arial, sans-serif;
}
html body { background: #fff; color: var(--ink); font-family: var(--font-type); }
body::after { display: none !important; }
h1, h2, h3 { font-weight: 500; letter-spacing: -.035em; }
p { color: inherit; }

/* bands that used to be solid red become white or stone; text inside turns ink */
.nav, .head, .gc-top, .band--red, .band--deep, .footer, .core__paper {
  --cream: var(--ink); --line-on-red: var(--hair);
  background: #fff !important; color: var(--ink); box-shadow: none;
}
.nav, .head, .gc-top { border-bottom: 1px solid var(--hair); }
.footer { border-top: 1px solid var(--hair); color: var(--stone); }
.nav__logo, .g-logo, .gc-top .logo { font-family: var(--font-heavy); text-transform: lowercase; letter-spacing: -.045em; font-size: 26px; color: var(--ink); }

/* pages whose whole background was red */
body.ed-red-page { background: #fff !important; }

/* photo heroes become one rounded, inset frame with a soft dark fade (no red or purple tint) */
.core__story, .g-hero { margin: 12px 12px 0; border-radius: 18px; overflow: hidden; background: #2a2725 !important; --cream: #fff; color: #fff; }
.core__story::before, .g-hero::before { background: linear-gradient(to top, rgba(20,18,17,.82) 0%, rgba(20,18,17,.35) 45%, rgba(20,18,17,.05) 100%) !important; }
.core__story .label, .g-hero .label { color: rgba(255,255,255,.85); }

/* buttons: pills, red for the main action, hairline outline for the rest */
.btn { border-radius: 999px; font-family: var(--font-type); font-weight: 600; letter-spacing: .05em; }
.btn--solid-cream, .btn--solid-red, .send, .solid { background: var(--red) !important; color: #fff !important; border-color: var(--red) !important; }
.btn--solid-cream:hover, .btn--solid-red:hover { background: #8f0e18 !important; border-color: #8f0e18 !important; }
.btn--ghost, .btn--outline { border-color: var(--hair); }

/* cards and panels: stone or white with hairlines, no stamped shadows */
.card, .box, .portal, .feed, .getapp, .unlock, .pay, .hop__card, .seed, .gc-panel, .peek, .poll, .pot, .drop, .promise, table {
  box-shadow: none !important; border-color: var(--hair) !important; border-radius: 16px;
}
.card, .portal, .getapp, .hop__card, .pot { background: var(--card); }
.box, .feed, .unlock, .pay, .seed, .gc-panel { background: #fff; }
.promise, .drop { border-style: solid; }

/* red accent cards stay red, but flat */
.chal, .card--pin, .card--hang, .player, .m--host .b, .way { box-shadow: none !important; border-color: transparent !important; --cream: #fff; color: #fff; }
.portal--locked { background: var(--card); color: var(--stone); border-color: var(--hair) !important; --cream: var(--ink); }

/* Group Chat */
.compose { background: #fff; border-top: 1px solid var(--hair); }
.b { border-color: var(--hair); }
.m--mine .b { background: #fbeceb; border-color: transparent; }
.pill { background: #fff; color: var(--ink); border: 1px solid var(--hair); }
.pill--red, .tab[aria-selected=true] { background: var(--red) !important; color: #fff !important; border-color: var(--red) !important; }
.gc-set { background: var(--card); color: var(--ink); }
.av { border-color: var(--hair); }

/* forms */
input, select, textarea { background: #fff; border-color: var(--hair) !important; color: var(--ink); border-radius: 12px; }
input:focus, select:focus, textarea:focus { border-color: var(--red) !important; outline: none; }

/* small labels and quiet text */
.label { color: var(--stone); letter-spacing: .08em; font-weight: 600; }
.label::before { display: none; }

/* fixes after the first pass */
.card.card--pin, .card.card--hang, .chal, .player { background: var(--red) !important; color: #fff; }
.card--hang .pill, .card--pin .pill { background: #fff !important; color: var(--red) !important; border-color: #fff !important; }
.hop__card, .portal, .getapp { --cream: var(--ink); color: var(--ink); }
.peek { background: #fff !important; color: var(--ink) !important; }
/* on red cards, Asia's apple shows in white */
.card--pin img.apl, .card--hang img.apl, .chal img.apl, .m--host img.apl, .player img.apl, .endjoin img.apl, .btn--solid-cream img.apl, .btn--solid-red img.apl, .send img.apl, .pill--red img.apl { filter: brightness(0) invert(1); }
.hop__card .label, .peek .label { color: var(--stone) !important; }
.nav__logo, .g-logo, .gc-top .logo { white-space: nowrap; }
@media (max-width: 420px) { .nav__logo, .g-logo { font-size: 22px; } }
.card--pin .label, .card--hang .label, .chal .label { color: rgba(255,255,255,.85) !important; }
.tree-photo img, .filmstrip img, .sleeve, .vis__card { box-shadow: none !important; }
