:root { --bg:var(--wy-paper); --surface:var(--wy-surface); --surface-soft:#f2f4f2; --ink:#292f2c; --muted:var(--wy-muted); --line:var(--wy-line); --accent:var(--wy-forest); --accent-deep:#193d2a; --accent-soft:#e8efdf; --navy:var(--wy-forest); --navy-soft:#355f47; font-family:var(--wy-font); }
body { background:var(--wy-paper); }
.site-header { background:rgba(255,255,255,.97); border-color:var(--wy-line); }
.brand-mark { width:38px; height:38px; }
.brand-name { text-transform:lowercase; font-size:27px; font-weight:750; }
.nav-cta,.button-primary { background:var(--wy-forest); color:#fffef9; border-color:var(--wy-forest); }
.auth-intro { background:var(--wy-forest); border-radius:24px; }
.auth-card,.content-card,.creator-card { border-radius:20px; }
/* A quiet shared entry for readers and creators. */
.quiet-landing { display:flex; align-items:center; min-height:calc(100svh - 72px); padding:80px clamp(20px,5vw,76px); }
.quiet-copy { position:relative; inset:auto; transform:none; max-width:640px; }
.quiet-label { color:var(--muted); font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:none; }
.quiet-copy h1 { margin:20px 0 0; color:var(--wy-forest); font-size:clamp(36px,5vw,64px); font-weight:600; line-height:1.2; letter-spacing:-.04em; }
.quiet-copy p { margin:22px 0 0; font-size:16px; line-height:1.8; letter-spacing:0; }
.quiet-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.quiet-actions .button { min-height:44px; gap:20px; padding-inline:20px; }
.quiet-orbit { z-index:-1; opacity:.65; pointer-events:none; }
.quiet-ring { border-color:#cddbd2; }
.quiet-disc { background:#dce7df; box-shadow:none; }
.quiet-spark { background:var(--wy-forest); box-shadow:0 0 0 8px #254c3a08; }
.quiet-grid { opacity:.16; }
@media(max-width:800px) {
 .quiet-landing { min-height:calc(100svh - 64px); padding:64px 16px 100px; }
 .quiet-copy { inset:auto; transform:none; }
 .quiet-copy h1 { font-size:clamp(30px,7.5vw,48px); }
 .quiet-copy p { font-size:15px; }
 .quiet-orbit { top:auto; right:-30vw; bottom:-10vw; width:90vw; transform:none; opacity:.4; }
 .quiet-foot { max-width:100%; white-space:normal; text-align:center; }
}

.site-header .top-nav .nav-link.is-active { background:var(--wy-forest); color:#fff; box-shadow:0 1px 2px #17251c0d; }
.top-nav .nav-link:not(.is-active):hover { background:#eef1ee; color:#292f2c; }
.brand-name { color:var(--wy-forest); }

/* Shared reading scale and usable space across account, content and admin pages. */
:root { --subtle:#68716b; --line-strong:#cfd6d1; --accent-soft:#edf2ee; }
body { line-height:1.6; }
button,input,select,textarea { font-family:var(--wy-font); }
.page-heading h1,.admin-title h1 { font-size:clamp(28px,2.5vw,36px); line-height:1.3; letter-spacing:-.025em; overflow-wrap:anywhere; }
.page-heading p,.admin-title p { max-width:68ch; }
.page-shell { padding-top:40px; }
.eyebrow,.auth-heading > span,.card-label,.status-pill,.creator-status { font-size:12px; letter-spacing:.03em; }
.button,.secondary-action,.compact-field,.toggle-field { font-size:14px; }
.button,.secondary-action { min-height:40px; }
.button-primary { box-shadow:0 2px 6px #1b302014; }
.form-stack label > span,.compact-field > span { color:var(--ink); font-size:13px; font-weight:600; }
.form-stack input::placeholder,.admin-card input::placeholder { color:#747d77; }
.form-stack input:focus-visible,.admin-card input:focus-visible,.admin-card select:focus-visible { outline:none; }
.auth-page { min-height:0; padding:48px 0 64px; align-items:stretch; }
.auth-intro { min-height:500px; padding:40px; border-radius:22px 0 0 22px; }
.auth-intro h1 { font-size:clamp(32px,3vw,44px); line-height:1.25; letter-spacing:-.025em; }
.auth-card { padding:44px 48px; border:1px solid var(--line); border-radius:0 22px 22px 0; }
.auth-heading h2 { font-size:28px; line-height:1.3; letter-spacing:-.02em; }
.auth-switch { line-height:1.6; }
.creator-site-title h2 { font-size:18px; line-height:1.5; overflow-wrap:anywhere; }
.creator-site-title p { font-size:14px; white-space:normal; }
.creator-public-url { font-size:13px; overflow-wrap:anywhere; }
.creator-site-links .button { font-size:13px; min-height:40px; }
.creator-site-more > summary { min-height:44px; font-size:13px; }
.policy-heading p,.policy-help,.policy-footer > span { font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.policy-section-title strong { font-size:14px; }
.policy-section-title small,.access-overview small,.invite-message small { font-size:12px; }
.policy-heading > div,.user-identity > div,.admin-card,.policy-section > div { min-width:0; }
.admin-layout { box-shadow:none; }
.admin-sidebar { min-width:0; background:#f7f9f7; color:var(--ink); border-right:1px solid var(--line); }
.admin-sidebar-head,.admin-sidebar-foot { border-color:var(--line); }
.admin-sidebar-head span,.admin-sidebar-foot { color:var(--muted); }
.admin-menu a { color:var(--muted); font-size:14px; }
.admin-menu a span { background:#e9eeea; color:var(--muted); }
.admin-menu a:hover { background:#e9eeea; color:var(--ink); }
.admin-menu a.is-active { background:var(--wy-forest); color:#fff; }
.admin-menu a.is-active span { background:#ffffff20; color:#fff; }
.admin-main { background:#fff; padding:32px; }
.admin-data-row { font-size:13px; }
.admin-data-row > div > strong,.content-table-identity strong { font-size:14px; }
.user-identity strong,.group-card h2 { overflow-wrap:anywhere; }
.admin-card input,.admin-card select { min-width:0; }
@media (max-width:1100px) {
  .creator-site-core { grid-template-columns:minmax(0,1fr); gap:18px; }
  .creator-site-links { justify-content:flex-start; flex-wrap:wrap; }
}
@media (max-width:1000px) {
  .admin-layout { grid-template-columns:minmax(0,1fr); }
  .admin-sidebar { border-right:0; border-bottom:1px solid var(--line); padding:12px; }
  .admin-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
  .admin-menu a { justify-content:center; padding:0 8px; gap:6px; }
  .admin-menu a span { display:none; }
}
@media (max-width:980px) {
  .auth-page { width:calc(100% - 32px); grid-template-columns:minmax(0,1fr); padding:24px 0 40px; }
  .auth-intro { min-height:0; padding:24px; border-radius:18px 18px 0 0; }
  .auth-intro h1 { margin-top:12px; font-size:28px; }
  .auth-intro > p { margin-top:10px; font-size:14px; }
  .auth-note { display:none; }
  .auth-card { border-radius:0 0 18px 18px; padding:28px 24px; }
  .auth-heading h2 { font-size:26px; }
}
@media (max-width:680px) {
  .page-shell { padding-top:28px; }
  .page-heading { gap:16px; padding-bottom:24px; }
  .page-heading h1 { font-size:28px; }
  .admin-main { padding:24px 16px; }
  .user-row,.create-group { grid-template-columns:minmax(0,1fr); }
  .user-row > * { min-width:0; }
  .creator-site-core { padding:20px; }
  .creator-site-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .creator-site-links .button { padding-inline:8px; }
  .policy-section { padding:20px; gap:16px; }
  .policy-heading { padding:20px; }
  input:not([type=checkbox]):not([type=radio]),select,textarea { font-size:16px !important; }
  .button,.secondary-action,.auth-tab { min-height:44px; }
  .yard-section-heading { align-items:flex-start; gap:12px; }
  .yard-section-heading h2 { font-size:19px; line-height:1.5; }
  .yard-section-heading > span { padding-top:4px; }
}

.form-stack label small { font-size:12px; }
.status-pill,.creator-status { white-space:nowrap; }
.policy-heading { flex-wrap:wrap; }
.policy-statuses { flex-shrink:0; }
.traffic-table .admin-data-row { min-height:52px; padding-block:12px; }
