/* One editorial language across Rubi's public pages and private rooms. */
[data-theme='gouache'] { --bg: #f8f6ef; --bg-deep: #f8f6ef; --world-accent: #175578; }
[data-theme='twilight'] { --world-accent: #c3c9ef; --footer-scene: url('/assets/footer-twilight.webp'); }
[data-theme='dawn'] { --world-accent: #edb8ac; --footer-scene: url('/assets/footer-dawn.webp'); }
[data-theme='moss'] { --world-accent: #bad3ae; --footer-scene: url('/assets/footer-moss.webp'); }
[data-theme='ink'] { --world-accent: #e3e1dc; --footer-scene: url('/assets/footer-ink.webp'); }
[data-theme='founders'] { --world-accent: #d6cda2; --footer-scene: url('/assets/footer-founders.webp'); }

.app-screen,.public-editorial { background: var(--bg); }
.top-bar { border-bottom: 0; box-shadow: none; }
.logo,.public-wordmark { font-family: var(--font-script); font-size: 31px; }
.desktop-nav a,.public-header nav a { font-family: var(--font-serif); font-size: 21px; }
.text-link,.back-btn,.link-more { font-family: var(--font-serif); font-size: 20px; font-weight: 400; }
.text-link:hover,.link-more:hover { text-decoration: underline; text-underline-offset: 6px; }
.world-kicker,.script-tag,.story-aside { font-family: var(--font-script); font-size: 26px; font-weight: 400; color: var(--world-accent,var(--ink-2)); }
.screen-title,.public-main h1 { font-family: var(--font-serif); font-size: clamp(52px,7.5vw,96px); font-weight: 400; line-height: 1.02; letter-spacing: -.035em; }
.screen-sub { font-family: var(--font-serif); font-size: 24px; line-height: 1.45; max-width: 48ch; margin-top: 18px; }
.section-title,.public-main h2,.home-articles h2 { font-family: var(--font-serif); font-weight: 400; font-size: clamp(30px,3.5vw,42px); }
.section-quote { color: var(--world-accent,var(--ink-2)); font-size: 27px; line-height: 1.4; }
.screen-head { padding-inline: clamp(24px,5vw,60px); gap: 28px; }
.screen-body { padding: 38px clamp(24px,5vw,60px) 50px; gap: 32px; }
.screen:not(.screen--landing) { min-height: min(680px,75vh); }
.screen:not(.screen--landing) .bio-link { border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0; background: transparent; padding: 26px 0; }
.screen:not(.screen--landing) .bio-link__title { font-size: 34px; }
.screen:not(.screen--landing) .bio-link:hover { background: transparent; }
.home-label { font-family: var(--font-serif); font-size: 31px; font-weight: 400; letter-spacing: -.015em; text-transform: none; }
.home-empty { font-family: var(--font-serif); font-size: 23px; line-height: 1.5; }

/* The public home is another page in the same artist's folio. */
.public-home { padding: 128px clamp(24px,5vw,68px) 50px; }
.public-hero { display: flex; flex-direction: column; gap: 40px; text-align: center; }
.public-hero .world-kicker { margin: 0 0 22px; color: var(--world-accent,var(--ink-2)); font-family: var(--font-script); font-size: 27px; }
.public-hero h1 { font-size: clamp(54px,7.8vw,100px); font-weight: 400; line-height: 1.02; }
.public-hero h1 em { font-weight: 400; color: var(--world-accent,var(--ink-2)); }
.public-hero p:not(.world-kicker) { font-family: var(--font-serif); font-size: 23px; line-height: 1.4; margin-top: 22px; }
.public-hero > img { display: block; width: min(810px,84%); aspect-ratio: 2.05; object-fit: cover; object-position: center 55%; border: 10px solid var(--bg-raised); border-radius: 0; transform: rotate(-1.5deg); box-shadow: 0 2px 6px rgb(0 0 0 / .12); }
.public-hero .text-link { color: var(--world-accent,var(--ink)); margin-top: 14px; }
.home-story { border: 0; padding-top: 20px; margin: 58px auto 0; max-width: 730px; text-align: center; }
.home-story__quote { font-size: clamp(30px,3.8vw,46px); line-height: 1.15; font-weight: 400; }
.public-columns { margin-top: 64px; padding-top: 40px; gap: 60px; border-color: var(--line-soft); }
.public-discover { gap: 48px; }
.shelf-row { grid-template-columns: 72px minmax(0,1fr) auto; gap: 20px; padding: 24px 0; }
.shelf-thumb { background: transparent; border-radius: 0; }
.shelf-row strong { font-size: 29px; font-weight: 400; }
.member-invitation { border-color: var(--line-soft); }
.member-invitation__lede { font-family: var(--font-serif); font-size: 23px; line-height: 1.35; }
.tool-icon { border: 0; background: transparent; }
.tool-row strong { font-family: var(--font-serif); font-weight: 400; font-size: 26px; }
.member-invitation > .btn { width: fit-content; background: transparent; color: var(--world-accent,var(--ink)); border: 0; border-bottom: 1px solid currentColor; border-radius: 0; padding: 10px 0; font-family: var(--font-serif); font-size: 25px; font-weight: 400; }
.member-invitation__note { text-align: left !important; }

/* Reading, writing, and focused tools retain their controls and comfortable widths. */
.story-lede h1 { font-family: var(--font-serif); font-weight: 400; font-size: clamp(45px,6vw,80px); line-height: 1.08; }
.story-block h2,.story-note h2 { font-family: var(--font-serif); font-weight: 400; font-size: 36px; }
.story-note { background: transparent; border: 0; border-block: 1px solid var(--line-soft); }
.auth-copy h1 { font-family: var(--font-serif); font-weight: 400; font-size: clamp(56px,7vw,88px); line-height: 1.04; }
.auth-copy h1 em { color: var(--world-accent,var(--ink-2)); font-weight: 400; }
.auth-copy > p { font-family: var(--font-serif); font-size: 24px; line-height: 1.4; }
.auth-form { border-radius: 0; box-shadow: none; background: transparent; }
.profile-name { font-family: var(--font-serif); font-size: 52px; font-weight: 400; }
.settings-group { background: transparent; border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; padding: 10px 0; }
.entry-card__title,.rec-card__title,.sound-row__name { font-family: var(--font-serif); font-weight: 400; font-size: 28px; }
.sound-row { border-radius: 0; border: 0; border-bottom: 1px solid var(--line-soft); background: transparent; }
.sound-row.is-on { background: color-mix(in srgb,var(--world-accent) 7%,transparent); }
.screen--home .hero-wrap { display: flex; flex-direction: column; text-align: center; gap: 40px; }
.screen--home .hero-overlay { width: 100%; }
.screen--home .subtext { margin: 22px auto 0; max-width: 36ch; font-family: var(--font-serif); font-size: 24px; line-height: 1.4; }
.screen--home .headline { font-size: clamp(58px,7.5vw,98px); font-weight: 400; }
.screen--home .hero-art { width: min(810px,84%); aspect-ratio: auto; }
.screen--home .hero-art img { border: 10px solid var(--bg-raised); border-radius: 0; aspect-ratio: 2.05; transform: rotate(-1.5deg); }
.screen--home .hero-actions { justify-content: center; }
.screen--home .pomo-card,.screen--home .focus-summary-card { border: 0; border-block: 1px solid var(--line-soft); border-radius: 0; background: transparent; }
.public-header { border-bottom: 0 !important; }
.public-main .eyebrow { font-family: var(--font-script); font-size: 25px; color: var(--world-accent,var(--ink-2)); letter-spacing: 0; text-transform: none; }
.public-index article { padding-bottom: 30px; border-bottom: 1px solid var(--line-soft); }

/* Every page ends in the same scene, with a commissioned variation per theme. */
.meadow-footer { flex: none; margin-top: 32px; }
html:not([data-theme='gouache']) .meadow-footer::before {
  background-image: linear-gradient(to bottom,transparent 34%,rgb(0 0 0 / .32) 53%,rgb(0 0 0 / .2)),var(--footer-scene,url('/assets/footer-twilight.webp'));
}
.footer-light { display: flex; align-items: center; gap: 12px; margin-top: 16px; font-family: var(--font-script); font-size: 22px; line-height: 1.2; }
.footer-light select { color: #fff; background: rgb(0 0 0 / .25); border: 1px solid rgb(255 255 255 / .45); border-radius: 3px; min-height: 44px; padding: 8px 25px 8px 10px; font-family: var(--font-sans); font-size: 12px; cursor: pointer; }
.footer-light option { color: #fff; background: #17201b; }
.footer-light select:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.meadow-footer__content { top: 44%; }
/* The approved handwriting stays the same shape in dark rooms, rendered as light ink. */
html:not([data-theme='gouache']) .portfolio-script,
html:not([data-theme='gouache']) .portfolio-note { mix-blend-mode: screen; }
html:not([data-theme='gouache']) .portfolio-script img,
html:not([data-theme='gouache']) .portfolio-note img { filter: brightness(1.1) invert(1); }
[data-theme='ink'] .portfolio-script img,[data-theme='ink'] .portfolio-note img { filter: brightness(1.1) invert(1) grayscale(1) !important; }
html:not([data-theme='gouache']) .portfolio { --portfolio-ink: var(--world-accent); }

@media(max-width:700px) {
  .top-bar { padding-inline: 20px; }
  .public-home { padding: 112px 24px 32px; }
  .public-hero { gap: 30px; }
  .public-hero h1 { font-size: clamp(46px,10vw,68px); }
  .public-hero > img { width: 100%; border-width: 7px; aspect-ratio: 1.7; }
  .public-hero .world-kicker { font-size: 23px; margin-bottom: 20px; }
  .public-hero p:not(.world-kicker) { font-size: 22px; }
  .home-story { margin-top: 40px; }
  .public-columns { margin-top: 40px; padding-top: 28px; }
  .screen-head { gap: 20px; }
  .screen-title { font-size: clamp(46px,12vw,64px); }
  .screen-sub { font-size: 22px; }
  .screen-body { padding-top: 28px; padding-bottom: 28px; gap: 28px; }
  .shelf-row { grid-template-columns: 45px minmax(0,1fr) auto; gap: 14px; }
  .shelf-row strong { font-size: 26px; }
  .auth-copy > p { font-size: 22px; }
  .screen--home .hero-art { width: 100%; }
  .screen--home .hero-art img { border-width: 7px; aspect-ratio: 1.7; }
  .meadow-footer { height: 690px; }
  .meadow-footer__content { top: 41%; }
  .footer-light { justify-content: center; margin-top: 12px; }
  .meadow-footer__links { margin-top: 15px; }
}
@media(prefers-reduced-motion:reduce) { .world-kicker,.public-hero > img { transition: none; } }
