:root {
  color-scheme: light;
  --forest-950: #102c20;
  --forest-900: #173f2b;
  --forest-800: #1c5035;
  --forest-700: #246b44;
  --leaf-500: #67ba48;
  --leaf-400: #83cf60;
  --cream: #f7f5ea;
  --paper: #fffef8;
  --soil: #8d5b38;
  --soil-dark: #6f432a;
  --ink: #1c2b22;
  --muted: #6d796f;
  --line: #dfe5d9;
  --gold: #f5c34d;
  --shadow: 0 15px 40px rgba(25, 53, 34, .1);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Partner earning providers */
.provider-directory-heading,
.offerwall-page-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 24px 0 18px;
}

.provider-directory-heading h2,
.offerwall-frame-heading h2 {
  margin: 3px 0 5px;
}

.provider-directory-heading p,
.offerwall-frame-heading p {
  margin: 0;
  color: var(--muted);
}

.provider-directory-heading > span {
  flex: 0 0 auto;
  padding: 8px 13px;
  border-radius: 999px;
  background: #e9f5e7;
  color: #25653f;
  font-weight: 800;
}

.offerwall-provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 18px;
}

.offerwall-provider-card {
  display: flex;
  flex-direction: column;
  gap: 17px;
  min-height: 280px;
  background: linear-gradient(145deg, #fff 0%, #f5fbf2 100%);
  border-color: #c9dfc4;
}

.offerwall-provider-card > p { margin: 0; color: var(--muted); line-height: 1.65; }
.offerwall-provider-card .wide-button { margin-top: auto; }
.offerwall-provider-heading,
.offerwall-frame-heading > div {
  display: flex;
  align-items: center;
  gap: 14px;
}

.offerwall-provider-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border-radius: 15px;
  background: linear-gradient(145deg, #1d7045, #113f2a);
  box-shadow: 0 8px 20px rgba(23, 63, 43, .2);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: .05em;
}

.offerwall-provider-heading h2 { margin: 3px 0 0; }
.offerwall-provider-features { display: flex; flex-wrap: wrap; gap: 8px; }
.offerwall-provider-features span {
  padding: 6px 10px;
  border-radius: 999px;
  background: #edf5e9;
  color: #2e6244;
  font-size: .82rem;
  font-weight: 750;
}

.provider-back-link { color: #25653f; font-weight: 800; text-decoration: none; }
.provider-back-link:hover { text-decoration: underline; }
.earn-back-link {
  display: inline-flex;
  align-items: center;
  margin: 0 0 18px;
}
.offerwall-frame-panel { padding: 0; overflow: hidden; }
.offerwall-frame-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 24px;
  border-bottom: 1px solid #dce8d8;
  background: linear-gradient(135deg, #fbfff9, #eef7eb);
}
.offerwall-frame-heading > p { max-width: 520px; text-align: right; }
.offerwall-frame {
  display: block;
  width: 100%;
  height: max(800px, calc(100vh - 250px));
  border: 0;
  background: #fff;
}

.ptc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 18px; }
.ptc-provider-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.ptc-provider-chip { padding: 6px 9px; border-radius: 999px; color: #786328; background: #f5edcf; font-size: .69rem; font-weight: 850; }
.ptc-provider-chip.live { color: #24613b; background: #def0df; }
.ptc-provider-chip.unavailable { color: #7e4c42; background: #f4e1dd; }
.ptc-active-session { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 20px 22px; border-color: #82b46f; background: linear-gradient(135deg,#f7fbed,#eef7e7); box-shadow: 0 10px 28px rgba(43,102,57,.09); }
.ptc-active-session h2 { margin: 3px 0 6px; color: var(--forest-900); font-size: 1.25rem; }
.ptc-active-session p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.5; }
.ptc-active-actions { display: grid; min-width: 220px; gap: 8px; }
.ptc-active-actions .quiet-button { width: 100%; }
.ptc-card { display: flex; flex-direction: column; gap: 16px; min-width: 0; min-height: 330px; overflow: hidden; }
.ptc-card.boosted { border-color: #d4ad55; box-shadow: 0 12px 30px rgba(149, 105, 22, .11); }
.ptc-card-header { display: grid; grid-template-columns: 84px minmax(0, 1fr); align-items: center; gap: 15px; }
.ptc-card-media { position: relative; display: grid; place-items: center; width: 84px; height: 84px; overflow: hidden; border: 1px solid #dce8d8; border-radius: 16px; background: linear-gradient(145deg, #f3f9f0, #e7f1e4); }
.ptc-card-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #edf5e9; }
.ptc-card-media > img.failed { display: none; }
.ptc-card-placeholder { display: grid; place-items: center; font-size: 2.15rem; }
.ptc-card-title { min-width: 0; }
.ptc-card-title h3 { display: -webkit-box; overflow: hidden; margin: 3px 0 0; font-size: 1.05rem; line-height: 1.35; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ptc-card-description { display: -webkit-box; min-height: 4.65em; overflow: hidden; margin: 0; color: var(--muted); line-height: 1.55; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.ptc-card-footer { display: grid; gap: 13px; margin-top: auto; }
.ptc-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ptc-metrics span { min-width: 0; padding: 11px 12px; border-radius: 12px; background: #f3f7f0; }
.ptc-metrics small { display: block; color: var(--muted); }
.ptc-metrics strong { display: block; margin-top: 3px; color: #225b3b; overflow-wrap: anywhere; }

@media (max-width: 1500px) {
  .ptc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .provider-directory-heading,
  .offerwall-frame-heading { align-items: flex-start; flex-direction: column; }
  .offerwall-frame-heading > p { text-align: left; }
  .offerwall-frame { height: 760px; }
  .ptc-grid { grid-template-columns: 1fr; }
  .ptc-active-session { align-items: stretch; flex-direction: column; padding: 18px; }
  .ptc-active-actions { min-width: 0; }
  .ptc-card { min-height: 0; }
  .ptc-card-header { grid-template-columns: 72px minmax(0, 1fr); }
  .ptc-card-media { width: 72px; height: 72px; }
}

.item-art { width: 100%; height: 100%; display: block; object-fit: contain; filter: drop-shadow(0 3px 3px rgba(28,43,34,.16)); }

/* Guild hall and recurring Farm Frenzy events */
.guild-account-gate { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 24px; max-width: 820px; padding: 30px; margin: 24px auto; }
.guild-account-gate > span { display: grid; place-items: center; width: 92px; aspect-ratio: 1; border-radius: 26px; background: linear-gradient(145deg, #f2d584, #c7902d); color: #213b2a; font-size: 2.7rem; box-shadow: inset 0 0 0 5px rgba(255,255,255,.3); }
.guild-account-gate h2, .guild-form h2 { margin: 3px 0 8px; }
.guild-account-gate p, .guild-form p { color: var(--muted); line-height: 1.6; }
.guild-account-gate > div > div { display: flex; gap: 10px; margin-top: 18px; }
.guild-account-gate .wide-button { width: auto; border-color: var(--forest-800); background: var(--forest-800); color: white; text-decoration: none; }
.guild-start-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 18px; margin: 18px 0; }
.guild-form { display: grid; align-content: start; gap: 14px; padding: 24px; }
.guild-form label { display: grid; gap: 7px; color: var(--forest-900); font-size: .83rem; font-weight: 800; letter-spacing: .02em; }
.guild-form input, .guild-form textarea { width: 100%; border: 1px solid #cad8cf; border-radius: 11px; background: #fbfdfb; color: var(--ink); padding: 12px 13px; font: inherit; font-weight: 600; resize: vertical; }
.guild-form input:focus, .guild-form textarea:focus { outline: 3px solid rgba(70, 128, 92, .18); border-color: #4b8b63; }
.guild-join-form { background: linear-gradient(155deg, #fff 45%, #eef8ef); }
.guild-task-preview { display: grid; gap: 9px; margin-top: 8px; padding-top: 16px; border-top: 1px solid #dfe8e1; color: #41604b; font-weight: 700; }
.guild-directory { margin: 18px 0; }
.guild-directory-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 12px; }
.guild-directory-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 16px; border: 1px solid #dbe5dd; border-radius: 15px; background: #fcfdfc; }
.guild-directory-card h3 { margin: 0 0 4px; color: var(--forest-900); }
.guild-directory-card p { margin: 0 0 7px; color: var(--muted); font-size: .83rem; line-height: 1.45; }
.guild-directory-card > div > span { color: #557061; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.guild-directory-card button { border: 0; border-radius: 10px; background: var(--forest-800); color: white; padding: 10px 12px; font-weight: 800; cursor: pointer; }
.guild-mini-crest { display: grid; place-items: center; min-width: 58px; height: 64px; padding: 0 8px; border-radius: 14px 14px 20px 20px; background: linear-gradient(145deg, #27583b, #153824); border: 2px solid #d5b457; color: #fff5c8; font-size: .78rem; font-weight: 900; letter-spacing: .08em; }
.guild-identity-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; padding: 30px; margin-bottom: 18px; border-radius: 22px; background: radial-gradient(circle at 85% 10%, rgba(241,194,83,.22), transparent 31%), linear-gradient(135deg, #133923, #27603d); color: white; box-shadow: 0 14px 34px rgba(18, 57, 35, .2); }
.guild-identity-hero:after { content: ""; position: absolute; inset: auto -4% -62% 35%; height: 150px; border-radius: 50%; border: 24px solid rgba(255,255,255,.035); }
.guild-identity-hero h2 { margin: 3px 0 7px; color: white; font-size: clamp(1.8rem, 4vw, 2.65rem); }
.guild-identity-hero p { margin: 0; color: #c9ddcf; line-height: 1.55; }
.guild-crest { position: relative; z-index: 1; display: grid; place-items: center; width: 92px; height: 106px; clip-path: polygon(50% 0, 93% 18%, 86% 75%, 50% 100%, 14% 75%, 7% 18%); background: linear-gradient(145deg, #f2d073, #a96f19); box-shadow: inset 0 0 0 7px rgba(255,255,255,.25); }
.guild-crest:before { content: ""; position: absolute; inset: 8px; clip-path: inherit; background: linear-gradient(145deg, #2f7750, #163d28); }
.guild-crest span { position: relative; z-index: 1; max-width: 72px; overflow: hidden; color: #fff2ba; font-size: .85rem; font-weight: 950; letter-spacing: .08em; text-overflow: ellipsis; }
.guild-hero-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.guild-hero-meta span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(0,0,0,.12); color: #eff7f0; font-size: .76rem; font-weight: 800; }
.guild-level-ring { --guild-progress: 0%; position: relative; z-index: 1; display: grid; place-items: center; align-content: center; width: 112px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #173c27 58%, transparent 60%), conic-gradient(#f0c85a var(--guild-progress), rgba(255,255,255,.13) 0); }
.guild-level-ring strong { font-size: 2rem; line-height: 1; }
.guild-level-ring small { margin-top: 5px; color: #bed2c3; font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.guild-task-panel { margin: 18px 0; }
.guild-task-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.guild-task-card { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 17px; border: 1px solid #d9e5dc; border-radius: 15px; background: linear-gradient(160deg, #fff, #f5faf6); }
.guild-task-card.complete { border-color: #8fbe9a; background: linear-gradient(160deg, #f8fff9, #e6f5e9); }
.guild-task-icon { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 13px; background: #e6efe7; font-size: 1.5rem; }
.guild-task-card > div:nth-child(2) > span { color: #9b7622; font-size: .65rem; font-weight: 900; letter-spacing: .06em; }
.guild-task-card.complete > div:nth-child(2) > span { color: #297046; }
.guild-task-card h3 { margin: 3px 0 4px; color: var(--forest-900); }
.guild-task-card p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.guild-task-progress { grid-column: 1 / -1; display: grid; gap: 7px; }
.guild-task-progress > div { overflow: hidden; height: 8px; border-radius: 999px; background: #dfe8e1; }
.guild-task-progress > div span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #41895b, #7db66b); }
.guild-task-progress small { color: #4d6756; font-size: .71rem; font-weight: 800; text-align: right; }
.guild-event-stats .event-state-live { color: #247240; }
.guild-event-stats .event-state-upcoming { color: #9a6518; }
.guild-event-stats .event-state-results { color: #6848a8; }
.guild-event-stats .event-state-paused { color: #68716c; }
.guild-event-team { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 16px 0; padding: 18px 21px; }
.guild-event-team h2 { margin: 1px 0 4px; color: var(--forest-900); }
.guild-event-team p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .78rem; }
.guild-event-team .secondary-button { flex: 0 0 auto; text-decoration: none; }
.guild-event-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 16px; }
.guild-event-stats article { position: relative; overflow: hidden; min-height: 88px; align-content: center; border-color: #d7e1d6; background: linear-gradient(145deg, #fff, #f4f8f2); }
.guild-event-stats article:before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(#d6a83e, #4e8a5c); }
.guild-event-stats strong { line-height: 1.2; }
.farm-frenzy { position: relative; overflow: hidden; display: block; padding: 30px; border: 1px solid rgba(246,220,142,.3); border-radius: 24px; background-color: #173323; background-image: linear-gradient(90deg, rgba(7,28,17,.83) 0%, rgba(10,31,18,.58) 37%, rgba(25,25,12,.42) 70%, rgba(25,20,9,.58) 100%), linear-gradient(180deg, rgba(8,25,14,.08) 0%, rgba(7,25,15,.34) 68%, rgba(5,20,12,.72) 100%), url('/assets/guild-events/farm-frenzy-background-v1.jpg?v=1'), linear-gradient(135deg, #173b2a, #6f4a1e); background-position: center, center, center 46%, center; background-repeat: no-repeat; background-size: cover; color: white; box-shadow: 0 18px 42px rgba(23,54,34,.24); }
.farm-frenzy:before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 73% 4%, rgba(255,219,124,.14), transparent 26rem); pointer-events: none; }
.farm-frenzy:after { content: none; }
.farm-frenzy.upcoming { background-image: linear-gradient(90deg, rgba(7,32,22,.86) 0%, rgba(13,50,30,.61) 46%, rgba(42,47,20,.48) 100%), linear-gradient(180deg, rgba(12,43,27,.12), rgba(7,28,18,.7)), url('/assets/guild-events/farm-frenzy-background-v1.jpg?v=1'), linear-gradient(135deg, #163b29, #5e5928); }
.farm-frenzy.results { background-image: linear-gradient(90deg, rgba(19,24,47,.88) 0%, rgba(37,38,55,.62) 46%, rgba(58,47,25,.5) 100%), linear-gradient(180deg, rgba(45,34,77,.1), rgba(13,22,31,.72)), url('/assets/guild-events/farm-frenzy-background-v1.jpg?v=1'), linear-gradient(135deg, #202c48, #755d2a); }
.farm-frenzy.paused { background-image: linear-gradient(90deg, rgba(25,37,33,.9), rgba(39,47,42,.68)), linear-gradient(180deg, rgba(40,48,44,.18), rgba(20,29,25,.78)), url('/assets/guild-events/farm-frenzy-background-v1.jpg?v=1'), linear-gradient(135deg, #303d37, #595b4a); box-shadow: 0 14px 34px rgba(43,51,52,.14); }
.frenzy-hero-head { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(290px, .58fr); align-items: stretch; gap: 24px; }
.farm-frenzy h2 { margin: 4px 0 10px; color: white; font: 800 clamp(2.35rem, 4vw, 3.25rem)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.035em; }
.farm-frenzy p { max-width: 740px; margin: 0; color: rgba(255,255,255,.88); line-height: 1.55; }
.frenzy-copy { min-width: 0; padding: 4px 0; }
.frenzy-intro { max-width: 680px!important; font-size: .9rem; }
.frenzy-status-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px; }
.frenzy-status { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(24,14,10,.2); font-size: .66rem; font-weight: 950; letter-spacing: .09em; }
.frenzy-status i { width: 8px; height: 8px; border-radius: 50%; background: #89e466; box-shadow: 0 0 0 5px rgba(137,228,102,.14); }
.farm-frenzy.upcoming .frenzy-status i { background: #f5cf63; box-shadow: 0 0 0 5px rgba(245,207,99,.14); }
.farm-frenzy.results .frenzy-status i { background: #e8cf74; box-shadow: 0 0 0 5px rgba(232,207,116,.16); }
.farm-frenzy.paused .frenzy-status i { background: #c9cfcc; box-shadow: none; }
.frenzy-details { display: grid; grid-template-columns: minmax(210px, 1.35fr) repeat(2, minmax(150px, .82fr)); gap: 9px; margin-top: 22px; }
.frenzy-details > span { display: grid; align-content: center; gap: 4px; min-height: 67px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; background: rgba(30,15,10,.15); }
.frenzy-details small { color: rgba(255,255,255,.67); font-size: .62rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.frenzy-details strong { color: white; font-size: .74rem; line-height: 1.4; }
.frenzy-live-card { display: grid; align-content: center; gap: 14px; padding: 20px; border: 1px solid rgba(255,255,255,.19); border-radius: 18px; background: linear-gradient(145deg, rgba(27,20,15,.32), rgba(50,25,17,.18)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); backdrop-filter: blur(5px); }
.frenzy-live-label { color: rgba(255,255,255,.66); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.frenzy-countdown { display: block; color: white; font-size: clamp(1.15rem, 2vw, 1.55rem); font-weight: 950; line-height: 1.12; letter-spacing: -.02em; }
.frenzy-live-score { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.frenzy-live-score > span { display: grid; align-content: center; gap: 3px; min-height: 62px; padding: 10px; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; background: rgba(255,255,255,.075); }
.frenzy-live-score small { color: rgba(255,255,255,.64); font-size: .58rem; font-weight: 850; text-transform: uppercase; }
.frenzy-live-score strong { color: #fff0b8; font-size: .78rem; line-height: 1.25; }
.farm-frenzy .frenzy-event-note { color: rgba(255,255,255,.72); font-size: .68rem; font-weight: 700; }
.frenzy-prize-board { position: relative; z-index: 1; margin-top: 24px; padding: 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(29,17,13,.2); }
.frenzy-prize-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.frenzy-prize-heading > div { display: grid; gap: 2px; }
.frenzy-prize-heading span { color: #ffe5a3; font-size: .6rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.frenzy-prize-heading strong { color: white; font-size: 1rem; }
.frenzy-prize-heading > small { max-width: 380px; color: rgba(255,255,255,.68); font-size: .66rem; font-weight: 700; text-align: right; }
.frenzy-rewards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.frenzy-rewards article { min-width: 0; display: grid; grid-template-columns: 64px minmax(0,1fr); align-items: stretch; gap: 11px; min-height: 94px; padding: 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: rgba(255,255,255,.075); }
.frenzy-rewards article.reward-tier-1 { border-color: rgba(255,225,123,.48); background: linear-gradient(115deg, rgba(232,177,49,.25), rgba(255,255,255,.085)); box-shadow: inset 0 2px 0 rgba(255,227,137,.45); }
.frenzy-rewards article.reward-tier-2 { border-color: rgba(224,233,233,.29); }
.frenzy-rewards article.reward-tier-3 { border-color: rgba(222,157,109,.33); }
.frenzy-place { display: grid; place-content: center; gap: 1px; padding: 7px 4px; border-radius: 10px; color: white; background: rgba(12,20,14,.24); text-align: center; }
.frenzy-place small { color: rgba(255,255,255,.6); font-size: .52rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.frenzy-place strong { color: #ffe28a; font-size: .74rem; font-weight: 950; line-height: 1.05; }
.frenzy-reward-copy { min-width: 0; display: grid; align-content: center; gap: 4px; }
.frenzy-reward-copy > strong { color: white; font-size: .82rem; line-height: 1.2; }
.frenzy-reward-copy > span { overflow-wrap: anywhere; color: rgba(255,255,255,.79); font-size: .65rem; font-weight: 750; line-height: 1.38; }
.frenzy-reward-copy > small { color: #ffe59c; font-size: .62rem; font-weight: 900; line-height: 1.3; }
.frenzy-milestones, .frenzy-medal-shop, .frenzy-participation, .frenzy-leaderboard { margin-top: 18px; }
.frenzy-milestones .panel-heading > span, .frenzy-medal-shop .panel-heading > span { padding: 7px 10px; border-radius: 999px; color: #765716; background: #fff1bd; font-size: .72rem; font-weight: 900; white-space: nowrap; }
.frenzy-milestone-overview { display: grid; gap: 8px; margin-bottom: 17px; }
.frenzy-milestone-overview progress { width: 100%; height: 12px; border: 0; border-radius: 999px; overflow: hidden; accent-color: #4d985f; }
.frenzy-milestone-overview progress::-webkit-progress-bar { border-radius: 999px; background: #e2ebe2; }
.frenzy-milestone-overview progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, #34794d, #7ab66c); }
.frenzy-milestone-overview small { color: var(--muted); font-size: .73rem; font-weight: 750; }
.frenzy-milestone-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.frenzy-milestone-grid > article { min-width: 0; display: grid; align-content: space-between; gap: 13px; min-height: 150px; padding: 13px; border: 1px solid #dce5db; border-radius: 14px; background: linear-gradient(155deg, #fff, #f5f8f3); }
.frenzy-milestone-grid > article.complete { border-color: #79a984; background: linear-gradient(155deg, #f7fff7, #e6f5e8); box-shadow: inset 0 3px 0 #5c9c6b; }
.frenzy-milestone-grid article > div:first-child { display: grid; gap: 3px; }
.frenzy-milestone-grid article > div:first-child span { color: #93701e; font-size: .59rem; font-weight: 950; letter-spacing: .06em; }
.frenzy-milestone-grid article.complete > div:first-child span { color: #2c7447; }
.frenzy-milestone-grid article strong { color: var(--forest-900); font-size: .75rem; }
.frenzy-milestone-items { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.frenzy-milestone-items > span { display: grid; justify-items: center; gap: 3px; }
.frenzy-milestone-items img { width: 34px; height: 34px; object-fit: contain; }
.frenzy-milestone-items small { color: var(--muted); font-size: .56rem; font-weight: 800; text-align: center; }
.frenzy-medal-reward b { display: grid; place-items: center; width: 32px; height: 32px; border: 2px solid #ba8d25; border-radius: 50%; color: #684b0e; background: radial-gradient(circle at 35% 30%, #fff1a5, #e2ae34); box-shadow: 0 3px 8px rgba(111,76,9,.2); font-size: .68rem; }
.frenzy-shop-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.frenzy-shop-grid article { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 14px; padding: 16px; border: 1px solid #d9e4da; border-radius: 15px; background: linear-gradient(145deg, #fff, #f1f7ef); }
.frenzy-shop-seed { grid-row: 1 / 3; display: grid; place-items: center; width: 76px; height: 76px; border: 1px solid #d7e2d4; border-radius: 16px; background: radial-gradient(circle at 50% 35%, #fff, #e7f0e3); }
.frenzy-shop-seed img { width: 68px; height: 68px; object-fit: contain; }
.frenzy-shop-grid h3 { margin: 0 0 4px; color: var(--forest-900); }
.frenzy-shop-grid p { margin: 0; color: var(--muted); font-size: .7rem; }
.frenzy-shop-grid button { grid-column: 2; justify-self: start; border: 0; border-radius: 10px; padding: 9px 13px; color: white; background: #2b7548; font-size: .7rem; font-weight: 900; cursor: pointer; }
.frenzy-shop-grid button:disabled { color: #68736b; background: #e2e7e1; cursor: not-allowed; }
.frenzy-participation { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 20px 23px; border-color: #dfd3ab; background: linear-gradient(120deg, #fffdf4, #f4f8ee); }
.frenzy-participation h2 { margin: 2px 0 5px; color: var(--forest-900); }
.frenzy-participation p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .75rem; }
.frenzy-participation > span { max-width: 340px; color: #6d5c31; font-size: .7rem; font-weight: 800; line-height: 1.5; text-align: right; }
.frenzy-leaderboard { margin-bottom: 18px; }
.frenzy-leaderboard .panel-heading p:not(.eyebrow) { margin: 5px 0 0; color: var(--muted); font-size: .75rem; }
.frenzy-top-limit { padding: 6px 9px; border-radius: 999px; color: #785f21; background: #fff0bd; font-size: .66rem; font-weight: 900; white-space: nowrap; }
.frenzy-ranking-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.frenzy-ranking-row { min-width: 0; display: grid; grid-template-columns: 54px minmax(0,1fr) minmax(120px,auto); align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.frenzy-ranking-row:nth-child(-n+3) { border-color: #e1c77a; background: #fffdf4; }
.frenzy-ranking-row.current { border-color: #6ea175; background: #eff8ed; box-shadow: 0 0 0 2px rgba(76,137,84,.12); }
.frenzy-rank { color: #85671b; font-size: 1rem; font-weight: 950; text-align: center; }
.frenzy-ranking-row:nth-child(-n+3) .frenzy-rank { font-size: 1.2rem; }
.frenzy-guild, .frenzy-score { min-width: 0; display: grid; gap: 2px; }
.frenzy-guild strong { overflow: hidden; color: var(--forest-900); font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.frenzy-guild small, .frenzy-score small { color: var(--muted); font-size: .66rem; }
.frenzy-score { justify-items: end; text-align: right; }
.frenzy-score strong { color: #805e12; font-size: .92rem; }
.frenzy-empty { min-height: 185px; }
.frenzy-empty-mark { display: grid; place-items: center; width: 52px; height: 52px; border: 2px solid #d3b15c; border-radius: 14px 14px 20px 20px; color: #fff2bd; background: linear-gradient(145deg,#34704c,#173e29); font-size: .72rem!important; font-weight: 950; letter-spacing: .08em; }
.guild-lower-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(290px, .75fr); gap: 18px; }
.guild-member-list { display: grid; }
.guild-member-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 11px; padding: 12px 4px; border-bottom: 1px solid #e6ece7; }
.guild-member-row:last-child { border-bottom: 0; }
.guild-member-row.current { margin-inline: -8px; padding-inline: 12px; border-radius: 10px; background: #eff8f0; }
.guild-member-row > span:nth-child(2), .guild-member-stats { display: grid; gap: 3px; }
.guild-member-stats { text-align: right; }
.guild-member-row small { color: var(--muted); font-size: .7rem; }
.guild-kick-button { border: 1px solid #dcb8b3; border-radius: 9px; background: #fff8f7; color: #9d342b; padding: 7px 10px; font-size: .7rem; font-weight: 850; cursor: pointer; }
.guild-kick-button:hover { border-color: #c98278; background: #fbe9e7; }
.guild-kick-button:disabled { cursor: wait; opacity: .65; }
.guild-honor-list { display: grid; gap: 9px; }
.guild-honor-list article { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 11px; padding: 11px; border: 1px solid #eadba8; border-radius: 12px; background: #fffaf0; }
.guild-honor-badge { display: grid; place-items: center; width: 44px; height: 44px; border: 2px solid #d9b95b; border-radius: 12px 12px 16px 16px; color: #6b5012; background: linear-gradient(145deg,#fff1b5,#e6bf55); font-size: .72rem; font-weight: 950; }
.guild-honor-badge.rank-three { border-color: #aeb9b5; color: #45504c; background: linear-gradient(145deg,#f2f5f4,#cbd3d0); }
.guild-honor-badge.rank-ten { border-color: #b97b54; color: #6b3b21; background: linear-gradient(145deg,#f1c0a0,#c8895d); }
.guild-honor-list article div { display: grid; gap: 3px; }
.guild-honor-list small { color: var(--muted); font-size: .68rem; }
.guild-honors-empty { display: grid; place-items: center; padding: 25px 15px; color: var(--muted); text-align: center; }
.guild-honors-mark { display: grid; place-items: center; width: 54px; height: 60px; border: 2px solid #d4b35c; border-radius: 15px 15px 21px 21px; color: #fff1ba; background: linear-gradient(145deg,#35744e,#193f2a); font-size: 1rem; font-weight: 950; }
.guild-honors-empty h3 { margin: 8px 0 4px; color: var(--forest-900); }
.guild-honors-empty p { max-width: 340px; margin: 0; font-size: .79rem; line-height: 1.5; }
.guild-danger-zone { display: flex; justify-content: flex-end; margin-top: 18px; padding-top: 14px; border-top: 1px solid #e9dede; }

@media (max-width: 920px) {
  .guild-event-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .guild-task-grid { grid-template-columns: 1fr; }
  .frenzy-hero-head { grid-template-columns: 1fr; }
  .frenzy-rewards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .frenzy-milestone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guild-lower-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .guild-account-gate, .guild-start-grid, .guild-identity-hero { grid-template-columns: 1fr; }
  .guild-account-gate { justify-items: start; }
  .guild-start-grid { gap: 12px; }
  .guild-identity-hero { gap: 15px; padding: 22px; }
  .guild-crest { width: 74px; height: 84px; }
  .guild-level-ring { position: absolute; top: 18px; right: 18px; width: 83px; }
  .guild-level-ring strong { font-size: 1.45rem; }
  .guild-level-ring small { font-size: .52rem; }
  .guild-directory-card { grid-template-columns: auto 1fr; }
  .guild-directory-card button { grid-column: 1 / -1; width: 100%; }
  .guild-event-team { align-items: flex-start; flex-direction: column; }
  .guild-event-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .farm-frenzy { padding: 20px; }
  .farm-frenzy, .farm-frenzy.upcoming, .farm-frenzy.paused { background-position: center, center, 56% top, center; background-size: cover, cover, auto 560px, cover; }
  .farm-frenzy h2 { font-size: 2.35rem; }
  .frenzy-hero-head { gap: 17px; }
  .frenzy-status-row { margin-bottom: 16px; }
  .frenzy-details { grid-template-columns: 1fr; }
  .frenzy-live-card { padding: 15px; }
  .frenzy-prize-board { margin-top: 17px; padding: 13px; }
  .frenzy-prize-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
  .frenzy-prize-heading > small { text-align: left; }
  .frenzy-rewards { grid-template-columns: 1fr; }
  .frenzy-rewards article { min-height: 86px; }
  .frenzy-milestone-grid, .frenzy-shop-grid { grid-template-columns: 1fr; }
  .frenzy-shop-grid article { grid-template-columns: 66px minmax(0, 1fr); }
  .frenzy-shop-seed { width: 66px; height: 66px; }
  .frenzy-shop-seed img { width: 58px; height: 58px; }
  .frenzy-participation { align-items: flex-start; flex-direction: column; gap: 12px; }
  .frenzy-participation > span { max-width: none; text-align: left; }
  .frenzy-ranking-row { grid-template-columns: 45px minmax(0,1fr); }
  .frenzy-score { grid-column: 2; justify-items: start; text-align: left; }
  .guild-member-row { grid-template-columns: auto 1fr; }
  .guild-member-row .guild-member-stats { grid-column: 2; text-align: left; }
  .guild-kick-button { grid-column: 2; justify-self: start; }
}

* { box-sizing: border-box; }
html { background: var(--cream); font-size: 18px; }
body { margin: 0; color: var(--ink); background: var(--cream); min-width: 320px; line-height: 1.45; }
button { font: inherit; }
button:focus-visible, a:focus-visible { outline: 3px solid #84d8ff; outline-offset: 2px; }

.app-shell { min-height: 100vh; display: grid; grid-template: 72px 1fr / 218px 1fr; }
.topbar { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; padding: 0 28px; background: var(--forest-950); color: white; box-shadow: 0 2px 15px rgba(0,0,0,.18); z-index: 2; }
.brand { display: flex; align-items: center; gap: 11px; color: white; text-decoration: none; font-size: 1.28rem; letter-spacing: -.02em; }
.brand-mark { width: 40px; height: 40px; display: block; flex: 0 0 40px; border-radius: 12px; overflow: hidden; box-shadow: 0 5px 14px rgba(0,0,0,.2), inset 0 0 0 1px rgba(255,255,255,.18); }
.brand-mark img { display: block; width: 100%; height: 100%; }
.topbar-actions { display: flex; align-items: center; gap: 14px; }
.wallet-pill { display: flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 999px; color: #ffe8a3; background: rgba(255,255,255,.08); font-size: .78rem; font-variant-numeric: tabular-nums; }
.level-pill { display: flex; align-items: center; gap: 5px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #e0f5d8; background: rgba(103,186,72,.13); font-size: .76rem; font-weight: 750; text-decoration: none; font-variant-numeric: tabular-nums; transition: background .16s ease, border-color .16s ease; }
.level-pill:hover { border-color: rgba(131,207,96,.52); background: rgba(103,186,72,.24); }
.level-pill strong { color: white; }
.status-pill { display: flex; align-items: center; gap: 7px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #cde0d2; font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #7fe95d; box-shadow: 0 0 0 4px rgba(127,233,93,.12); }
.account-button { display: flex; align-items: center; gap: 9px; padding: 0; color: white; background: none; border: 0; cursor: pointer; text-align: left; text-decoration: none; }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: #f2c35b; color: #3f3010; font-size: .75rem; font-weight: 900; }
.account-copy { display: grid; line-height: 1.05; gap: 3px; }
.account-copy small { color: #a9c1af; font-size: .68rem; }
.account-copy strong { font-size: .82rem; }

.sidebar { display: flex; flex-direction: column; justify-content: space-between; padding: 22px 14px 18px; background: var(--forest-900); color: white; }
.sidebar nav { display: grid; gap: 6px; }
.nav-item { width: 100%; display: grid; grid-template-columns: 25px 1fr auto; align-items: center; gap: 9px; padding: 11px 13px; border: 0; border-radius: 10px; color: #c9dbce; background: transparent; cursor: pointer; text-align: left; text-decoration: none; font-weight: 650; font-size: .88rem; }
.nav-item:hover { background: rgba(255,255,255,.07); color: white; }
.nav-item.active { color: #183522; background: var(--leaf-400); box-shadow: inset 0 1px rgba(255,255,255,.42); }
.nav-count { min-width: 22px; padding: 2px 6px; border-radius: 999px; background: rgba(0,0,0,.16); text-align: center; font-size: .67rem; }
.sidebar-foot { display: grid; gap: 4px; padding: 13px; border-top: 1px solid rgba(255,255,255,.09); color: #9cb6a3; font-size: .68rem; }
.sidebar-foot strong { color: white; letter-spacing: .13em; font-size: .72rem; }
.mobile-menu-trigger, .mobile-menu, .farm-focus-button, .mobile-farm-launch { display: none; }
.mobile-menu[hidden] { display: none !important; }

.main-content { min-width: 0; padding: 30px clamp(20px, 3vw, 44px) 50px; overflow: hidden; }
.welcome-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 20px; }
.eyebrow { margin: 0 0 5px; color: var(--forest-700); font-size: .69rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow.light { color: #b9d8c0; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 7px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.75rem, 3vw, 2.6rem); line-height: 1.05; letter-spacing: -.035em; }
h2 { margin-bottom: 0; font-size: 1.12rem; letter-spacing: -.015em; }
.subtle { margin-bottom: 0; color: var(--muted); font-size: .9rem; }
.weather-chip { display: flex; align-items: center; gap: 11px; min-width: 230px; padding: 11px 15px; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); background: rgba(255,255,255,.6); cursor: pointer; font: inherit; text-align: left; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.weather-chip:hover { border-color: #98ba8c; background: #fff; box-shadow: 0 7px 18px rgba(28,74,44,.1); transform: translateY(-1px); }
.weather-chip > span:first-child { font-size: 1.55rem; }
.weather-chip > span:last-child { display: grid; gap: 2px; }
.weather-chip small { color: var(--muted); font-size: .68rem; }
.weather-chip strong { font-size: .84rem; }

.pool-card { display: grid; grid-template-columns: minmax(250px, 1.3fr) repeat(3, minmax(110px, .55fr)) auto; align-items: center; gap: 18px; padding: 20px 22px; border-radius: 18px; color: white; background: linear-gradient(120deg, #173f2b 0%, #246d42 58%, #33854d 100%); box-shadow: var(--shadow); overflow: hidden; position: relative; }
.pool-card::after { content: ""; position: absolute; width: 220px; height: 220px; right: 13%; top: -165px; border: 36px solid rgba(255,255,255,.05); border-radius: 50%; pointer-events: none; }
.pool-intro { display: flex; align-items: center; gap: 13px; }
.pool-icon { width: 47px; height: 47px; display: grid; place-items: center; border-radius: 14px; background: rgba(255,255,255,.13); font-size: 1.45rem; }
.pool-intro h2 { font-size: 1.1rem; }
.pool-intro small { color: #d4ead8; font-size: .72rem; }
.pool-stat { display: grid; gap: 3px; padding-left: 18px; border-left: 1px solid rgba(255,255,255,.14); }
.pool-stat small { color: #b9d8c0; font-size: .68rem; }
.pool-stat strong { font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.pool-details { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; padding: 10px 13px; color: white; background: rgba(255,255,255,.09); cursor: pointer; font-weight: 700; font-size: .78rem; text-decoration: none; }
.pool-details:hover { background: rgba(255,255,255,.16); }

.content-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; margin-top: 20px; }
.right-column { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr; align-content: start; gap: 20px; }
.right-column > .inventory-panel:only-child { grid-column: 1 / -1; }
.right-column > .inventory-panel:only-child .inventory-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)); gap: 10px; }
.panel { border: 1px solid var(--line); border-radius: 18px; background: var(--paper); box-shadow: 0 8px 25px rgba(28,54,36,.055); }
.farm-panel { grid-column: 1 / -1; padding: 22px; overflow: hidden; background: linear-gradient(180deg, #fffef8, #f4f0df); }
.panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 18px; }
.panel-heading.compact { margin-bottom: 14px; }
.farm-heading-actions { display: flex; align-items: center; gap: 9px; }
.farm-heading-actions .secondary-button { min-height: 40px; white-space: nowrap; }
.capacity-label { margin-left: 7px; color: var(--muted); font-size: .74rem; font-weight: 600; }
.secondary-button, .wide-button { border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; color: var(--forest-800); background: white; cursor: pointer; font-size: .75rem; font-weight: 750; }
.card-link { display: block; text-align: center; text-decoration: none; }
.secondary-button:hover, .wide-button:hover { border-color: #adbea9; background: #f7faf4; }

.farm-game-frame { position: relative; border: 9px solid #83502d; border-radius: 24px; background: #5f8e37; box-shadow: inset 0 0 0 4px #d4a15d, 0 12px 24px rgba(54,36,18,.18); overflow: hidden; }
.farm-announcement{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px;padding:16px 18px;border:1px solid #c7dfac;border-radius:16px;color:#173f2b;background:linear-gradient(135deg,#f6ffe9,#edf8d8);box-shadow:0 8px 22px rgba(44,88,38,.1)}.farm-announcement[hidden]{display:none}.farm-announcement-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;color:#fff;background:#39784d;font-size:1rem;font-weight:950}.farm-announcement .eyebrow{margin:0 0 4px}.farm-announcement p:last-child{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-weight:700;line-height:1.55}.farm-announcement a{color:#17643c;font-weight:900;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}.farm-announcement a:hover{color:#0d4729}
.farm-game-frame::before, .farm-game-frame::after { content: ""; position: absolute; z-index: 5; top: 12px; width: 10px; height: 10px; border-radius: 50%; background: #d8a953; box-shadow: inset 0 2px rgba(255,255,255,.45), 0 1px 2px #4c2d19; pointer-events: none; }
.farm-game-frame::before { left: 12px; }.farm-game-frame::after { right: 12px; }
.farm-scene-title, .farm-scene-weather { position: absolute; z-index: 4; top: 21px; display: flex; align-items: center; gap: 9px; pointer-events: none; }
.farm-scene-title { left: 21px; padding: 9px 13px 9px 10px; border: 3px solid #724323; border-radius: 8px; color: #4a2f16; background: linear-gradient(#f4d68d, #dca95d); box-shadow: 0 5px 0 rgba(82,49,24,.75), 0 8px 16px rgba(37,31,16,.24); transform: rotate(-1deg); }
.farm-scene-title > span:first-child { font-size: 1.45rem; }.farm-scene-title > span:last-child, .farm-scene-weather > span:last-child { display: grid; line-height: 1.12; }
.farm-scene-title small, .farm-scene-weather small { font-size: .59rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.farm-scene-title strong { font-family: Georgia, "Times New Roman", serif; font-size: .92rem; }
.farm-scene-weather { right: 21px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.65); border-radius: 12px; color: #20351c; background: rgba(255,254,240,.86); box-shadow: 0 5px 15px rgba(41,65,24,.18); backdrop-filter: blur(6px); }
.farm-scene-weather > span:first-child { font-size: 1.25rem; }.farm-scene-weather small { color: #57704e; }.farm-scene-weather strong { font-size: .72rem; }
.field { min-height: 690px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: end; gap: 20px; padding: clamp(190px, 24vw, 245px) 24px 30px; border: 4px solid #d3a260; border-radius: 14px; background-color: #79a53e; background-image: linear-gradient(to bottom, rgba(255,255,255,.02) 0%, rgba(255,255,255,0) 45%, rgba(76,116,34,.12) 64%, rgba(61,93,31,.38) 100%), url("/assets/farm-world-v1.webp"); background-position: center, top center; background-repeat: no-repeat; background-size: 100% 100%, 100% auto; position: relative; overflow: hidden; }
.field::before { content: ""; position: absolute; z-index: 0; inset: 48% 0 0; background-image: radial-gradient(ellipse at 12% 65%, rgba(255,239,133,.2) 0 1px, transparent 2px), linear-gradient(112deg, transparent 48%, rgba(38,91,27,.25) 49% 51%, transparent 52%); background-size: 31px 29px, 27px 35px; opacity: .7; pointer-events: none; }
.field::after { content: ""; position: absolute; z-index: 1; inset: 0; border-radius: 10px; box-shadow: inset 0 0 38px rgba(30,66,22,.32), inset 0 -28px 35px rgba(35,61,20,.2); pointer-events: none; }
.field > * { position: relative; z-index: 2; }
.plot { min-height: 210px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px 13px 14px; border: 4px solid #704226; border-top-color: #9a6035; border-radius: 26px 26px 17px 17px; color: white; background-color: var(--soil); background-image: radial-gradient(circle at 17% 30%, rgba(255,220,168,.18) 0 2px, transparent 3px), repeating-linear-gradient(0deg, #8d5835 0 13px, #754326 14px 17px, #9d6640 18px 23px); background-size: 47px 43px, 100% 100%; box-shadow: 0 -6px 0 #7d9f3b, 0 -10px 0 #547829, 0 8px 0 #4b2d1c, 0 14px 20px rgba(43,31,15,.38), inset 0 5px 16px rgba(255,255,255,.08); position: relative; overflow: hidden; text-align: center; isolation: isolate; }
.plot::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 50% 112%, rgba(32,15,6,.4), transparent 58%), linear-gradient(90deg, rgba(255,255,255,.035), transparent 30%, rgba(255,255,255,.03) 65%, transparent); pointer-events: none; }
.plot::after { content: ""; position: absolute; z-index: -1; width: 7px; height: 5px; right: 15%; top: 33%; border-radius: 50%; background: #c49a71; box-shadow: -83px 42px 0 #694126, -49px -8px 0 #b48159, 14px 67px 0 #634027; opacity: .65; pointer-events: none; }
.plot-number { position: absolute; top: 7px; left: 9px; padding: 4px 8px; border: 2px solid #5c351e; border-radius: 5px; color: #4b2c17; background: linear-gradient(#e5bd72, #bd8144); box-shadow: 0 3px 0 rgba(55,30,16,.58); font-size: .63rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.empty-plot { width: 100%; min-height: 154px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 18px 8px 9px; border: 2px dashed rgba(255,242,213,.5); border-radius: 18px; color: #fff8e8; background: rgba(74,39,20,.16); cursor: pointer; transition: transform .16s ease, background .16s ease, border-color .16s ease; }
.empty-plot:hover { transform: translateY(-3px); border-color: #fff1ae; background: rgba(255,238,170,.12); }
.empty-plot strong { font-size: .82rem; }.empty-plot small { max-width: 140px; color: #ead7bd; font-size: .64rem; line-height: 1.3; }
.empty-plant-icon { width: 61px; height: 61px; display: grid; place-items: center; margin-bottom: 4px; border: 3px solid rgba(255,255,255,.24); border-radius: 50%; background: radial-gradient(circle at 42% 33%, #b8e97f, #579438 67%, #376a29); box-shadow: 0 6px 0 rgba(53,32,16,.25), inset 0 2px rgba(255,255,255,.35); font-size: 2rem; filter: drop-shadow(0 3px 2px rgba(24,51,20,.3)); }
.crop-plant { width: 88px; height: 72px; display: grid; place-items: end center; margin: 4px 0 2px; position: relative; filter: drop-shadow(0 8px 4px rgba(43,23,10,.33)); transition: transform .35s ease; }
.crop-plant::before { content: ""; position: absolute; left: 14px; right: 14px; bottom: -2px; height: 13px; border-radius: 50%; background: rgba(42,21,8,.35); filter: blur(2px); }
.crop-plant::after { content: "✦"; position: absolute; top: -6px; right: 2px; color: #fff6a4; opacity: 0; text-shadow: -58px 19px #fff6a4, -34px -10px #fff; font-size: 1rem; transform: scale(.5); }
.crop-stalk { width: 7px; height: 32px; position: absolute; bottom: 5px; border-radius: 5px; background: linear-gradient(90deg, #376e24, #79b949, #315f22); transform-origin: bottom; }
.crop-stalk::before, .crop-stalk::after { content: ""; position: absolute; bottom: 7px; width: 25px; height: 13px; background: linear-gradient(135deg, #85c94f, #3d7c2b); }
.crop-stalk::before { right: 4px; border-radius: 100% 0 100% 0; transform: rotate(18deg); transform-origin: right; }.crop-stalk::after { left: 4px; border-radius: 0 100% 0 100%; transform: rotate(-18deg); transform-origin: left; }
.crop-emoji { z-index: 1; margin-bottom: 22px; font-size: 3.55rem; line-height: 1; filter: drop-shadow(0 4px 2px rgba(44,24,12,.25)); animation: crop-sway 3s ease-in-out infinite; transform-origin: bottom center; transition: transform .35s ease, filter .35s ease; }
.stage-sprout .crop-emoji { transform: translateY(14px) scale(.58); filter: saturate(.75) drop-shadow(0 3px 2px rgba(44,24,12,.2)); }.stage-sprout .crop-stalk { transform: scaleY(.48); }
.stage-growing .crop-emoji { transform: translateY(7px) scale(.78); }.stage-growing .crop-stalk { transform: scaleY(.76); }
.stage-mature .crop-emoji { transform: scale(.94); }.stage-ready .crop-plant { transform: translateY(-2px) scale(1.06); }.stage-ready .crop-plant::after { opacity: 1; transform: scale(1); animation: sparkle 1.4s ease-in-out infinite; }
.is-ready { border-color: #d39f30; box-shadow: 0 -6px 0 #9bb743, 0 -10px 0 #668a2e, 0 8px 0 #6d461b, 0 0 26px rgba(255,225,90,.72), inset 0 5px 16px rgba(255,255,255,.12); }.is-overdue { filter: saturate(.76); }.is-overdue .crop-emoji { animation-duration: 5s; filter: sepia(.12) saturate(.65) drop-shadow(0 4px 2px rgba(44,24,12,.25)); }.is-overdue .crop-plant::after { opacity: 0; animation: none; }
@keyframes crop-sway { 0%,100% { rotate: -2deg; } 50% { rotate: 3deg; } }@keyframes sparkle { 50% { opacity: .45; transform: scale(.75) rotate(18deg); } }
.crop-nameplate { width: calc(100% + 10px); display: grid; gap: 1px; margin-top: 2px; padding: 5px 7px; border: 1px solid rgba(255,255,255,.11); border-radius: 8px; background: rgba(61,31,16,.42); backdrop-filter: blur(2px); }
.crop-name { font-size: .87rem; font-weight: 900; line-height: 1.15; }.crop-state { color: #f4d7a8; font-size: .64rem; font-weight: 750; }
.crop-progress { width: 88%; height: 9px; margin: 8px 0 5px; border: 0; border-radius: 999px; background: rgba(37,18,8,.42); box-shadow: inset 0 1px 2px rgba(0,0,0,.25); overflow: hidden; appearance: none; }
.crop-progress::-webkit-progress-bar { border-radius: inherit; background: rgba(37,18,8,.42); }.crop-progress::-webkit-progress-value { border-radius: inherit; background: linear-gradient(90deg, #d6ef6d, #70db4c); }.crop-progress::-moz-progress-bar { border-radius: inherit; background: linear-gradient(90deg, #d6ef6d, #70db4c); }
.is-ready .crop-progress::-webkit-progress-value { background: linear-gradient(90deg, #ffd45c, #fff1a0); }.is-ready .crop-progress::-moz-progress-bar { background: linear-gradient(90deg, #ffd45c, #fff1a0); }
.crop-timer { min-height: 1em; color: #fff5df; font-size: .69rem; font-variant-numeric: tabular-nums; font-weight: 850; text-shadow: 0 1px 1px rgba(46,24,10,.6); }
.harvest-button { margin-top: 8px; padding: 8px 14px; border: 2px solid #7c5314; border-radius: 9px; color: #3a2b08; background: linear-gradient(#fff5a9, #efbd39); box-shadow: 0 4px 0 #9b6717, inset 0 1px rgba(255,255,255,.7); cursor: pointer; font-size: .7rem; font-weight: 950; }
.harvest-button:hover { transform: translateY(-2px); filter: brightness(1.05); }.harvest-button:active { transform: translateY(2px); box-shadow: 0 2px 0 #9b6717; }.harvest-button:disabled { opacity: .55; cursor: wait; }
.field-legend { display: flex; flex-wrap: wrap; gap: 18px; padding-top: 15px; color: var(--muted); font-size: .68rem; }
.legend-dot { width: 8px; height: 8px; display: inline-block; margin-right: 5px; border-radius: 50%; }
.legend-dot.growing { background: #69bc4d; }.legend-dot.perfect { background: #f2bc3d; }.legend-dot.empty { background: #a47751; }
.loading-state { grid-column: 1 / -1; display: grid; place-items: center; align-content: center; color: #436743; }
.loading-sprout { font-size: 2.4rem; animation: pulse 1.5s ease infinite; }
@keyframes pulse { 50% { transform: scale(1.1); } }

.farm-game-frame { height: clamp(620px, 68vh, 780px); min-height: 620px; background-color: #78a947; background-image: linear-gradient(rgba(18,55,30,.04), rgba(18,55,30,.24)), url("/assets/farm-world-v1.webp"); background-position: center; background-size: cover; touch-action: none; }
.farm3d-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: grab; outline: 0; opacity: 0; transition: opacity .35s ease; }
.farm3d-canvas:active { cursor: grabbing; }.farm3d-canvas:focus-visible { outline: 4px solid #fff3a0; outline-offset: -6px; }
.farm3d-ready .farm3d-canvas { opacity: 1; }
.farm3d-loading { position: absolute; z-index: 6; inset: 0; display: grid; place-items: center; align-content: center; gap: 8px; color: white; background: rgba(28,68,37,.54); text-shadow: 0 2px 6px rgba(0,0,0,.4); transition: opacity .25s ease; }
.farm3d-loading > span { font-size: 3rem; animation: pulse 1.2s ease-in-out infinite; }.farm3d-loading strong { font-size: .9rem; }.farm3d-loading small { max-width: 280px; text-align: center; }
.farm3d-loading[hidden] { display: none; }
.farm3d-controls { position: absolute; z-index: 7; right: 22px; bottom: 24px; display: flex; gap: 7px; }
.farm3d-controls button { width: 44px; height: 44px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.72); border-radius: 12px; color: white; background: rgba(21,53,31,.76); box-shadow: 0 5px 14px rgba(14,31,18,.3); backdrop-filter: blur(5px); cursor: pointer; font-size: 1.15rem; font-weight: 900; }
.farm3d-controls button:hover { background: rgba(39,105,58,.92); transform: translateY(-2px); }
.farm-free-control, .farm-free-help { display:none !important; }
.farm-free-camera .farm-free-control { display:grid !important; }
.farm-free-camera .farm-free-help { display:inline !important; }
.farm-free-camera .farm-orbit-help { display:none; }
.farm-free-camera .farm-scene-title { max-width:calc(100% - 28px); }.farm-free-camera .farm-scene-title strong { overflow-wrap:anywhere; }
.farm-free-camera .farm3d-controls { flex-wrap:wrap; justify-content:flex-end; max-width:min(96%,530px); }
.farm3d-controls select { min-width:0; max-width:170px; height:44px; padding:0 9px; border:2px solid #ffffffb8; border-radius:12px; background:#21452c; color:#fff; font-family:inherit;font-weight:600;font-size:.85rem; cursor:pointer; }
.farm3d-controls #farm-camera-mode { width:66px; font-size:.82rem; }
.farm3d-controls #farm-camera-mode[aria-pressed="true"] { background:#b88735; }
@media(max-width:620px){.farm-free-camera .farm3d-controls { top:auto;bottom:50px;right:10px;max-width:calc(100% - 20px); }.farm3d-controls select { width:140px;max-width:140px; }.farm-free-camera .farm3d-help { padding-right:8px; }.farm-free-camera .farm3d-controls button { width:40px;height:42px; }.farm-free-camera .farm3d-controls #farm-camera-mode { width:57px; }}
@media(max-width:620px){.farm-free-camera .farm3d-controls { width:calc(100% - 20px);flex-wrap:nowrap; }.farm-free-camera .farm3d-controls select { flex:1;min-width:60px;width:0;max-width:none;height:42px;font-size:.76rem; }.farm-free-camera .farm3d-controls button { flex:none; }.farm-free-camera .farm3d-controls #farm-camera-mode { width:50px; }.farm-free-camera .farm3d-controls #farm-turn-left,.farm-free-camera .farm3d-controls #farm-turn-right { display:none; }.farm-free-camera:has(.farm3d-selection:not([hidden])) .farm3d-controls { display:none; }}
.farm3d-selection { position: absolute; z-index: 7; left: 22px; bottom: 22px; width: min(430px, calc(100% - 220px)); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px 14px; padding: 13px 14px; border: 2px solid rgba(255,255,255,.74); border-radius: 15px; color: white; background: rgba(16,48,29,.84); box-shadow: 0 8px 22px rgba(11,32,18,.34); backdrop-filter: blur(8px); }
.farm3d-selection[hidden] { display: none; }
.farm3d-selection > div { min-width: 0; display: grid; gap: 1px; }.farm3d-selection small { color: #bfe8a8; font-size: .61rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.farm3d-selection strong { font-size: .95rem; }.farm3d-selection span { color: #dce9d7; font-size: .68rem; line-height: 1.25; overflow: hidden; }
.farm3d-selection progress { grid-column: 1 / -1; width: 100%; height: 7px; border: 0; border-radius: 999px; overflow: hidden; appearance: none; }.farm3d-selection progress::-webkit-progress-bar { background: rgba(255,255,255,.16); }.farm3d-selection progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, #87dc50, #e5ef68); }.farm3d-selection progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg, #87dc50, #e5ef68); }
.farm3d-selection button { min-width: 112px; padding: 9px 12px; border: 2px solid #70511e; border-radius: 10px; color: #352606; background: linear-gradient(#fff2a0, #e9b936); box-shadow: 0 3px 0 #8f6418; cursor: pointer; font-size: .7rem; font-weight: 900; }.farm3d-selection button:disabled { opacity: .62; cursor: default; filter: saturate(.4); }
.farm3d-selection .farm3d-selection-close { position: absolute; top: 8px; right: 8px; width: 34px; height: 34px; min-width: 0; padding: 0; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: white; background: rgba(7,30,17,.66); box-shadow: none; font-size: 1.35rem; font-weight: 500; line-height: 1; }
.farm3d-selection .farm3d-selection-close:hover { background: rgba(112,38,24,.9); transform: scale(1.05); }
.farm3d-selection > div:first-of-type { padding-right: 34px; }
.farm-fertilizer-controls { grid-column: 1 / -1; padding-top: 7px; border-top: 1px solid rgba(255,255,255,.16); }.farm-fertilizer-controls[hidden] { display: none !important; }
.farm-fertilizer-controls summary { min-height: 48px; display: grid; grid-template-columns: 42px minmax(0,1fr) 14px; align-items: center; gap: 9px; padding: 3px 2px; border-radius: 10px; cursor: pointer; list-style: none; user-select: none; }
.farm-fertilizer-controls summary::-webkit-details-marker { display: none; }.farm-fertilizer-controls summary:hover { background: rgba(255,255,255,.08); }.farm-fertilizer-controls summary:focus-visible { outline: 3px solid #fff3a0; outline-offset: 2px; }
.farm-fertilizer-controls summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid #dce9d7; border-bottom: 2px solid #dce9d7; transform: rotate(45deg) translate(-2px,-2px); transition: transform .18s ease; }.farm-fertilizer-controls[open] summary::after { transform: rotate(225deg) translate(-1px,-1px); }
.farm-fertilizer-art { width: 42px; height: 42px; object-fit: contain; filter: drop-shadow(0 3px 3px rgba(0,0,0,.22)); }.farm-fertilizer-controls summary > span { min-width: 0; display: grid; gap: 2px; }.farm-fertilizer-controls summary strong { font-size: .72rem; }.farm-fertilizer-controls summary small { color: #dce9d7; font-size: .61rem; font-weight: 700; letter-spacing: 0; line-height: 1.25; text-transform: none; }
.farm-fertilizer-body { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 7px 9px; padding: 8px 2px 2px 51px; }.farm-fertilizer-body label { min-width: 0; display: grid; gap: 4px; }.farm-fertilizer-body label > span { color: #bfe8a8; font-size: .57rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.farm-fertilizer-body select { width: 100%; min-height: 42px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.38); border-radius: 9px; color: white; background: #244f35; font: inherit; font-size: .7rem; font-weight: 750; }.farm-fertilizer-body > button { min-height: 42px; padding: 7px 11px; }.farm-fertilizer-body > small { grid-column: 1 / -1; color: #dce9d7; font-size: .6rem; font-weight: 700; letter-spacing: 0; line-height: 1.35; text-transform: none; }
.farm3d-selection.is-harvest-ready { border-color: #fff09a; background: rgba(78,58,13,.9); box-shadow: 0 0 0 3px rgba(255,220,72,.22), 0 8px 24px rgba(76,48,4,.42); }.farm3d-selection.is-harvest-late { border-color: #ffc078; background: rgba(91,47,15,.91); box-shadow: 0 0 0 3px rgba(255,145,55,.2), 0 8px 24px rgba(76,35,4,.42); }
.farm3d-help { position: absolute; z-index: 6; left: 50%; bottom: 19px; margin: 0; padding: 6px 10px; border-radius: 999px; color: rgba(255,255,255,.9); background: rgba(17,48,28,.58); transform: translateX(-50%); backdrop-filter: blur(4px); font-size: .61rem; pointer-events: none; }
.farm-a11y-list { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.farm3d-unavailable { touch-action: pan-y; }
.farm3d-unavailable .farm3d-canvas, .farm3d-unavailable .farm3d-controls, .farm3d-unavailable .farm3d-help, .farm3d-unavailable .farm-scene-weather { display: none; }
.farm3d-unavailable .farm3d-loading { inset: 88px 22px auto; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.5); border-radius: 14px; color: #f8fff4; background: rgba(21,67,38,.94); box-shadow: 0 8px 24px rgba(18,48,27,.24); text-shadow: none; }
.graphics-error-copy { min-width: 0; display: grid; gap: 3px; }.graphics-error-copy strong { font-size: .85rem; }.graphics-error-copy small { max-width: 620px; color: #dcebd7; font-size: .66rem; line-height: 1.4; text-align: left; }
.graphics-retry { flex: 0 0 auto; min-height: 42px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.5); border-radius: 10px; color: #194128; background: #f6ffe8; cursor: pointer; font: inherit; font-size: .66rem; font-weight: 850; }.graphics-retry:hover { background: white; transform: translateY(-1px); }
.farm3d-unavailable .farm3d-selection { z-index: 10; }

.inventory-panel, .orders-panel { padding: 19px; }
.text-button { border: 0; color: var(--forest-700); background: none; cursor: pointer; font-size: .7rem; font-weight: 800; }
.empty-copy { margin: 22px 0; color: var(--muted); font-size: .78rem; text-align: center; }
.inventory-list { display: grid; gap: 8px; }
.inventory-dialog-card { display: grid; gap: 14px; }
.inventory-full-list { max-height: min(52dvh, 520px); overflow-y: auto; padding-right: 3px; }
.inventory-dialog-card #sell-all-produce { margin-top: 2px; }
.inventory-item { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 9px; border-radius: 11px; background: #f2f4eb; }
.inventory-icon { width: 44px; height: 44px; display: grid; place-items: center; overflow: hidden; border-radius: 10px; background: white; font-size: 1.25rem; }
.inventory-copy { display: grid; gap: 2px; }
.inventory-copy strong { font-size: .78rem; }.inventory-copy small { color: var(--muted); font-size: .65rem; }
.inventory-actions { display: grid; justify-items: end; gap: 5px; }.inventory-qty { font-weight: 850; font-size: .8rem; }
.sell-button { padding: 5px 9px; border: 0; border-radius: 7px; color: white; background: var(--forest-700); cursor: pointer; font-size: .65rem; font-weight: 800; }
.sell-button:disabled { opacity: .45; cursor: not-allowed; }
.order-slots { padding: 5px 8px; border-radius: 999px; color: var(--forest-700); background: #e8f3df; font-size: .64rem; font-weight: 800; }
.league-strip { display: flex; align-items: center; gap: 9px; margin: -2px 0 8px; padding: 9px 10px; border-radius: 10px; color: #5c4712; background: #fbf1c9; }
.league-strip > span:last-child { display: grid; gap: 1px; }.league-strip small { font-size: .59rem; text-transform: uppercase; letter-spacing: .07em; }.league-strip strong { font-size: .7rem; }
.order-list { display: grid; }
.order-card { width: 100%; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 9px; padding: 11px 0; border: 0; border-top: 1px solid var(--line); color: inherit; background: transparent; text-align: left; }
button.order-card { cursor: pointer; }button.order-card:hover:not(:disabled) { background: #f7faf4; }button.order-card:disabled { cursor: default; }
.order-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #f2ead7; }
.order-copy { display: grid; gap: 2px; min-width: 0; }
.order-copy strong { font-size: .76rem; }.order-copy span { color: var(--muted); font-size: .66rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.order-copy small { color: #b25b45; font-size: .61rem; }
.order-copy .order-xp-rewards { color: #397437; font-weight: 850; }
.order-requirements { display: flex; flex-wrap: wrap; gap: 4px 6px; margin: 2px 0; white-space: normal; overflow: visible; }.order-requirement,.order-fertilizer-reward { display: inline-flex; align-items: center; gap: 4px; min-width: 0; padding: 3px 6px 3px 3px; border: 1px solid #dce6d7; border-radius: 999px; color: #526158; background: #f5f8f2; font-size: .63rem; font-weight: 750; white-space: nowrap; }.order-requirement .item-art,.order-fertilizer-reward .item-art { flex: 0 0 auto; width: 22px; height: 22px; }.order-fertilizer-reward { border-color: #d9c7e4; background: #f7f0fa; }
.order-earned-rewards { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 5px 0; padding: 9px 10px; border: 1px solid #d8e6ca; border-radius: 10px; background: #eff6e8; }
.order-copy .order-section-label { flex-basis: 100%; color: #3d6531; font-size: .64rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; overflow: visible; }
.order-copy .order-coin-reward { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid #e1c66e; border-radius: 999px; color: #77560b; background: #fff7d8; font-weight: 900; white-space: nowrap; overflow: visible; }
.order-coin-reward .ui-art-icon { width: 24px; height: 24px; }
.order-copy .order-fertilizer-reward { padding: 5px 8px 5px 4px; border-color: #c7afd8; color: #643b7b; background: #faf3ff; overflow: visible; }
.order-copy .order-fertilizer-reward span,.order-copy .order-xp-rewards { white-space: normal; overflow: visible; }
.order-fertilizer-reward .item-art { width: 34px; height: 34px; }
.order-ready small { color: #397437; font-weight: 800; }.order-refreshing { opacity: .62; }
.order-card-actions { display: grid; grid-template-columns: auto auto; align-items: center; gap: 7px; }
.order-fulfill-button { min-height: 32px; padding: 6px 11px; border: 1px solid var(--forest-700); border-radius: 8px; color: white; background: var(--forest-700); cursor: pointer; font: inherit; font-size: .64rem; font-weight: 900; }
.order-fulfill-button:hover:not(:disabled) { border-color: var(--forest-900); background: var(--forest-900); }
.order-fulfill-button:disabled { border-color: #d6ddd3; color: #7c867d; background: #edf0eb; cursor: not-allowed; }
.order-reroll-button { min-height: 32px; padding: 5px 8px; border: 1px solid #c7d4c2; border-radius: 8px; color: var(--forest-700); background: white; cursor: pointer; font: inherit; font-size: .62rem; font-weight: 850; }
.order-reroll-button:hover:not(:disabled) { border-color: #86a47d; background: #f2f8ef; }.order-reroll-button:disabled { opacity: .42; cursor: not-allowed; }
.orders-panel .order-card-actions { min-width: 72px; grid-template-columns: 1fr; }
.orders-panel .order-reroll-button span { display: none; }
.order-reset-copy { margin: 4px 0 0; color: var(--muted); font-size: .7rem; }
.premium-order { opacity: .78; }.premium-lock { padding: 5px 7px; border-radius: 7px; color: #674e08; background: #f8df8f; font-size: .61rem; font-weight: 850; }
.wide-button { width: 100%; margin-top: 9px; }

.progression-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.progression-card { min-width: 0; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 13px; align-items: start; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: 0 8px 25px rgba(28,54,36,.045); }
.progression-card .secondary-button { grid-column: 1 / -1; width: 100%; }
.progression-card p:not(.eyebrow) { margin: 7px 0 0; color: var(--muted); font-size: .73rem; line-height: 1.48; }
.progression-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; background: #edf5e6; font-size: 1.7rem; }
.market-card .progression-icon { background: #fff1bc; }.collection-card .progression-icon { background: #e9e6f8; }.capacity-card .progression-icon { background: #e4eef8; }

.seed-dialog { width: min(680px, calc(100vw - 28px)); max-height: min(720px, calc(100vh - 30px)); padding: 0; border: 0; border-radius: 20px; background: transparent; }
.seed-dialog::backdrop { background: rgba(10,30,19,.68); backdrop-filter: blur(3px); }
.dialog-card { padding: 22px; border-radius: 20px; background: var(--paper); box-shadow: 0 28px 90px rgba(0,0,0,.35); }
.weather-dialog { width: min(790px, calc(100vw - 28px)); }.weather-dialog .dialog-card { max-height: min(760px, calc(100vh - 30px)); overflow: auto; }.weather-dialog .dialog-heading { align-items: flex-start; }.weather-dialog .dialog-copy { max-width: 620px; margin: 6px 0 0; line-height: 1.5; }
.weather-crop-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }.weather-crop-card { min-width: 0; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-left: 4px solid #9da99e; border-radius: 13px; background: white; }.weather-crop-card > span:first-child { display: grid; place-items: center; width: 48px; height: 48px; overflow: hidden; border-radius: 11px; background: #eef4e9; font-size: 1.55rem; }.weather-crop-card > div { min-width: 0; display: grid; gap: 2px; }.weather-crop-card > div strong { overflow: hidden; color: var(--forest-900); font-size: .85rem; text-overflow: ellipsis; white-space: nowrap; }.weather-crop-card small { color: var(--muted); font-size: .65rem; }.weather-crop-points { display: grid; justify-items: end; color: #76570d; font-size: .82rem; font-weight: 850; }.weather-crop-card em { grid-column: 2 / -1; color: #4e7257; font-size: .63rem; font-style: normal; font-weight: 750; }.weather-crop-card.rarity-uncommon { border-left-color: #62a557; }.weather-crop-card.rarity-rare { border-left-color: #4b8fca; }.weather-crop-card.rarity-epic { border-left-color: #9b69cf; }.weather-crop-card.rarity-legendary { border-left-color: #d49b27; }.weather-crop-card.rarity-mythical { border-left-color: #cf5d78; }
.seed-dialog.compact-shell { width: min(470px, calc(100vw - 28px)); }
.compact-dialog { width: 100%; max-width: none; margin: 0; }
.dialog-heading { display: flex; justify-content: space-between; align-items: start; margin-bottom: 16px; }
.dialog-copy, .demo-warning { color: var(--muted); font-size: .77rem; line-height: 1.5; }.demo-warning { color: #8b5b21; }
.quantity-field { display: grid; gap: 6px; margin: 15px 0; color: var(--forest-800); font-size: .72rem; font-weight: 800; }.quantity-field input { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: white; font: inherit; }
.confirmation-summary { display: grid; gap: 7px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; color: var(--forest-800); background: #f4f7ee; font-size: .76rem; line-height: 1.45; }
.confirmation-summary strong { font-size: 1rem; }.confirmation-summary .warning { color: #a14a32; }.confirmation-item-reward { display: flex; align-items: center; gap: 8px; }.confirmation-item-reward > .item-art { flex: 0 0 auto; width: 38px; height: 38px; }
.action-button { color: white; border-color: var(--forest-700); background: var(--forest-700); }.action-button:hover { color: white; background: var(--forest-900); }.action-button:disabled { opacity: .5; cursor: wait; }
.close-button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); background: white; cursor: pointer; font-size: 1.35rem; line-height: 1; }
.farm-style-dialog { width: min(760px, calc(100vw - 28px)); }
.farm-style-options { display: grid; gap: 15px; }
.farm-style-dialog .demo-warning { margin: 14px 0; }
.farm-style-group { display: grid; gap: 8px; }
.farm-style-group h3 { margin: 0; color: var(--forest-800); font-size: .78rem; }
.farm-style-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.farm-style-choice { min-width: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 9px; padding: 10px; border: 2px solid var(--line); border-radius: 12px; color: var(--ink); background: white; cursor: pointer; text-align: left; }
.farm-style-choice:hover { border-color: #a9c69b; background: #f8fbf5; }
.farm-style-choice[aria-pressed="true"] { border-color: var(--leaf-500); background: #eef8e8; box-shadow: 0 0 0 2px rgba(126,203,91,.16); }
.farm-style-choice.locked { border-style: dashed; background: #f3f4ef; cursor: not-allowed; opacity: .68; }
.farm-style-choice strong { display: block; font-size: .72rem; }.farm-style-choice small { display: block; margin-top: 2px; color: var(--muted); font-size: .58rem; line-height: 1.3; }
.farm-style-swatch { width: 38px; height: 38px; border: 2px solid rgba(38,55,37,.16); border-radius: 10px; box-shadow: inset 0 1px 0 rgba(255,255,255,.28); }
.farm-style-swatch.meadow { background: #72a447; }.farm-style-swatch.golden { background: #a6a34e; }.farm-style-swatch.clover { background: #4f9350; }
.farm-style-swatch.red { background: #a93d32; }.farm-style-swatch.green { background: #3f704f; }.farm-style-swatch.blue { background: #3f5e82; }
.farm-style-swatch.oak { background: #c49358; }.farm-style-swatch.white { background: #e1dac5; }.farm-style-swatch.walnut { background: #725037; }
.haunted-cosmetic-group { padding-top: 12px; border-top: 1px solid var(--line); }.haunted-cosmetic-group > p { margin: -3px 0 2px; color: var(--muted); font-size: .67rem; }.farm-cosmetic-unlock-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.farm-cosmetic-unlock { min-width: 0; display: grid; grid-template-columns: 40px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px; border: 1px solid #4b3460; border-radius: 10px; background: linear-gradient(145deg,#20132d,#30183f); }.farm-cosmetic-unlock > .haunted-reward-emblem { width: 40px; height: 40px; }.farm-cosmetic-unlock > span:last-child { min-width: 0; display: grid; gap: 2px; }.farm-cosmetic-unlock strong { overflow: hidden; color: #f3edf8; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }.farm-cosmetic-unlock small { color: #a9dc9e; font-size: .56rem; }.farm-cosmetic-empty { grid-column: 1/-1; padding: 14px; border: 1px dashed #cfc3d5; border-radius: 10px; color: var(--muted); font-size: .67rem; text-align: center; }
.seed-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; max-height: 520px; overflow: auto; padding-right: 3px; }
.seed-option { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: white; cursor: pointer; text-align: left; }
.seed-option:hover:not(:disabled) { border-color: var(--leaf-500); background: #f6fbf2; }
.seed-option:disabled { opacity: .48; cursor: not-allowed; }
.seed-icon { width: 52px; height: 52px; display: grid; place-items: center; overflow: hidden; border-radius: 12px; background: #eef5e7; font-size: 1.55rem; }
.seed-copy { display: grid; gap: 3px; min-width: 0; }.seed-copy strong { font-size: .82rem; }.seed-copy span { color: var(--muted); font-size: .66rem; }
.seed-available { color: var(--forest-700); font-size: .67rem; font-weight: 800; }

.seed-hub-dialog { width: min(980px, calc(100vw - 28px)); }
.seed-hub-heading { margin-bottom: 11px; }.seed-hub-heading .dialog-copy { margin: 4px 0 0; }
.seed-tabs { display: flex; gap: 5px; padding: 4px; border-radius: 11px; background: #edf1e8; }
.seed-tabs button { flex: 1; padding: 9px 10px; border: 0; border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font-size: .72rem; font-weight: 800; }
.seed-tabs button.active { color: white; background: var(--forest-700); box-shadow: 0 3px 8px rgba(24,70,43,.18); }
.seed-toolbar { display: grid; grid-template-columns: minmax(170px, 1fr) 150px auto; align-items: end; gap: 10px; margin: 12px 0; }
.seed-toolbar label { display: grid; gap: 4px; color: var(--muted); font-size: .62rem; font-weight: 800; }
.seed-toolbar input, .seed-toolbar select { min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: white; font: inherit; font-size: .72rem; }
.collection-total { padding-bottom: 9px; color: var(--forest-700); font-size: .68rem; font-weight: 850; }
.collection-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-height: min(520px, 58vh); overflow: auto; padding: 2px 4px 4px 2px; }
.collection-seed { min-width: 0; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 9px; padding: 11px; border: 1px solid var(--line); border-top-width: 4px; border-radius: 12px; background: white; }
.collection-seed.rarity-common { border-top-color: #94a39a; }.collection-seed.rarity-uncommon { border-top-color: #58a95a; }.collection-seed.rarity-rare { border-top-color: #4e8bd7; }.collection-seed.rarity-epic { border-top-color: #925cc3; }.collection-seed.rarity-legendary { border-top-color: #e1a72f; }.collection-seed.rarity-mythical { border-top-color: #e65e9b; }
.collection-seed.locked { background: #f4f4ef; }.collection-seed.locked .collection-seed-icon { filter: grayscale(.85); opacity: .63; }
.collection-seed-icon { width: 52px; height: 52px; display: grid; place-items: center; overflow: hidden; border-radius: 11px; background: #f0f5ea; font-size: 1.45rem; }
.collection-seed-copy { min-width: 0; display: grid; gap: 2px; }.collection-seed-copy strong { font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.collection-seed-copy small { color: var(--muted); font-size: .61rem; }
.seed-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 3px; }
.seed-stat { padding: 6px; border-radius: 7px; color: var(--muted); background: #f4f7f0; font-size: .58rem; text-align: center; }.seed-stat strong { display: block; color: var(--ink); font-size: .67rem; }
.seed-card-actions { grid-column: 1 / -1; display: flex; gap: 6px; margin-top: 3px; }
.seed-card-actions button { flex: 1; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--forest-700); background: white; cursor: pointer; font-size: .62rem; font-weight: 850; }
.seed-card-actions button.primary { color: white; border-color: var(--forest-700); background: var(--forest-700); }.seed-card-actions button:disabled { opacity: .45; cursor: not-allowed; }
.acquisition-badge { grid-column: 1 / -1; justify-self: start; margin-top: 3px; padding: 4px 6px; border-radius: 6px; color: #5d4930; background: #eee6d5; font-size: .56rem; font-weight: 800; }
.collection-empty { grid-column: 1 / -1; padding: 50px 20px; color: var(--muted); text-align: center; font-size: .8rem; }

.activity-dialog { width: min(780px, calc(100vw - 28px)); }
.activity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.activity-card { min-width: 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 10px; align-items: start; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.activity-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; background: #edf5e6; font-size: 1.45rem; }
.activity-card strong { font-size: .83rem; }.activity-card p { margin: 4px 0 0; color: var(--muted); font-size: .69rem; line-height: 1.45; }
.activity-card .wide-button, .activity-card > small, .provider-status { grid-column: 1 / -1; }
.activity-reward { align-self: center; justify-self: end; color: #8a6411; font-weight: 900; }
.activity-card > small { color: var(--muted); font-size: .65rem; text-align: center; }
.provider-status { justify-self: start; padding: 5px 7px; border-radius: 7px; color: #68736a; background: #eef1ec; font-size: .61rem; font-weight: 800; }
.faucet-card { border-color: #bad5ae; background: #f8fcf5; }
.league-overview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 13px; }
.league-metric { display: grid; gap: 3px; padding: 11px; border-radius: 10px; background: #f4f7ee; }
.league-metric small { color: var(--muted); font-size: .62rem; }.league-metric strong { color: var(--forest-800); font-size: .88rem; }
.league-progress { grid-column: 1 / -1; width: 100%; height: 8px; border: 0; border-radius: 999px; background: #e2e8dd; overflow: hidden; appearance: none; }.league-progress::-webkit-progress-bar { background: #e2e8dd; }.league-progress::-webkit-progress-value { background: linear-gradient(90deg, var(--leaf-500), var(--gold)); }.league-progress::-moz-progress-bar { background: linear-gradient(90deg, var(--leaf-500), var(--gold)); }
.league-divisions { display: grid; gap: 7px; }
.league-division { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.league-division.current { border-color: #d1a83e; background: #fff9e6; }.league-division.reached .league-rank { background: var(--forest-700); color: white; }
.league-rank { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: #edf1e8; font-size: .78rem; font-weight: 900; }
.league-division-copy { display: grid; gap: 2px; }.league-division-copy strong { font-size: .76rem; }.league-division-copy small { color: var(--muted); font-size: .62rem; }
.league-bonus { color: var(--forest-700); font-size: .7rem; font-weight: 850; }

.page-main { overflow: visible; font-size: 1rem; line-height: 1.5; }
.route-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 20px; }
.route-heading .subtle { max-width: 760px; line-height: 1.55; }
.page-loading, .page-error { min-height: 330px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 30px; text-align: center; }
.page-loading p, .page-error p { color: var(--muted); }
.page-error > span { font-size: 2.2rem; }
.page-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.page-stat-grid article { display: grid; gap: 5px; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: 0 7px 20px rgba(28,54,36,.04); }
.page-stat-grid small { color: var(--muted); font-size: .66rem; }.page-stat-grid strong { color: var(--forest-800); font-size: 1.12rem; }
.page-panel { padding: 21px; }
.orders-page-panel { padding: 24px; }
.order-board-heading { align-items: flex-start; gap: 20px; margin-bottom: 14px; }
.order-board-heading h2 { margin-top: 2px; }
.order-board-heading .order-reset-copy { max-width: 720px; margin-top: 6px; font-size: .74rem; line-height: 1.5; }
.order-board-summary { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.order-reroll-summary { padding: 5px 9px; border: 1px solid #d8e3d2; border-radius: 999px; color: #4f6354; background: #f7faf4; font-size: .64rem; font-weight: 800; white-space: nowrap; }
.order-board-notes { display: flex; flex-wrap: wrap; gap: 7px 18px; margin-bottom: 18px; padding: 10px 12px; border: 1px solid #e0e6da; border-radius: 10px; color: var(--muted); background: #f7f8f2; font-size: .66rem; }
.order-board-notes span { display: inline-flex; align-items: center; gap: 4px; }
.order-board-notes span::before { content: ""; width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: var(--leaf-500); }
.order-board-notes strong { color: var(--forest-700); }
.page-order-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.page-order { min-width: 0; grid-template-columns: 52px minmax(0, 1fr); grid-template-rows: 1fr auto; align-items: start; gap: 12px 14px; padding: 18px; border: 1px solid #dce4d7; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(28,54,36,.045); }
.page-order.order-ready { border-color: #8ebf78; box-shadow: 0 0 0 2px rgba(112,171,84,.12), 0 9px 24px rgba(28,75,43,.08); }
.page-order .order-avatar { width: 52px; height: 52px; border: 1px solid #e4dfcd; border-radius: 14px; background: #faf5e7; font-size: 1.35rem; }
.page-order .order-copy { height: 100%; gap: 10px; }
.order-title-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.page-order .order-title-row > strong { color: var(--forest-900); font-size: .94rem; line-height: 1.25; }
.order-copy .order-type-badge { flex: 0 0 auto; padding: 4px 7px; border-radius: 999px; color: #53645a; background: #edf1ea; font-size: .57rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; overflow: visible; }
.page-order .order-requirements { gap: 6px; margin: 0; padding: 10px; border: 1px solid #e3e8df; border-radius: 11px; background: #f8faf6; }
.page-order .order-earned-rewards { align-content: flex-start; gap: 7px; min-height: 86px; margin: 0; padding: 11px; border-radius: 11px; }
.page-order .order-xp-rewards { display: block; flex-basis: 100%; padding-top: 2px; font-size: .68rem; }
.order-status-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 1px; }
.order-copy .order-status,.order-copy .order-expiry { color: #9a513e; font-size: .64rem; font-weight: 750; white-space: normal; overflow: visible; }
.order-copy .order-expiry { flex: 0 0 auto; color: var(--muted); font-weight: 650; white-space: nowrap; }
.order-copy .order-expiry strong { color: var(--forest-700); font-size: inherit; }
.page-order.order-ready .order-status { color: #397437; }
.page-order .order-card-actions { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) 118px; min-width: 0; padding-top: 12px; border-top: 1px solid #e5e9e1; }
.page-order .order-fulfill-button,.page-order .order-reroll-button { min-height: 40px; border-radius: 9px; font-size: .69rem; }
.orders-page-panel > .premium-order { margin-top: 16px; padding: 14px 16px; border: 1px dashed #d1b65f; border-radius: 13px; background: #fffaf0; }
.page-toolbar { grid-template-columns: minmax(200px, 1fr) 180px; }
.page-collection-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); max-height: none; overflow: visible; }
.collection-summary { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 4px 12px; margin-bottom: 16px; padding: 18px 20px; border-radius: 15px; color: white; background: linear-gradient(120deg, var(--forest-900), var(--forest-700)); }
.collection-summary > strong { font-size: 1.65rem; }.collection-summary > span { color: #c9dfce; font-size: .76rem; }.collection-summary > progress { grid-column: 1 / -1; width: 100%; height: 8px; border: 0; border-radius: 999px; background: rgba(255,255,255,.16); overflow: hidden; appearance: none; }.collection-summary > progress::-webkit-progress-bar { background: rgba(255,255,255,.16); }.collection-summary > progress::-webkit-progress-value { background: var(--gold); }.collection-summary > progress::-moz-progress-bar { background: var(--gold); }
.collection-rarity-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.collection-rarity-card { display: grid; gap: 6px; padding: 14px; border: 1px solid var(--line); border-top: 4px solid #94a39a; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(28,54,36,.04); }
.collection-rarity-card.rarity-uncommon { border-top-color: #58a95a; }.collection-rarity-card.rarity-rare { border-top-color: #4e8bd7; }.collection-rarity-card.rarity-epic { border-top-color: #925cc3; }.collection-rarity-card.rarity-legendary { border-top-color: #e1a72f; }.collection-rarity-card.rarity-mythical { border-top-color: #e65e9b; }
.collection-rarity-card > span { color: var(--muted); font-size: .65rem; font-weight: 850; }.collection-rarity-card > strong { color: var(--forest-800); font-size: 1.05rem; }.collection-rarity-card > small { color: var(--muted); font-size: .64rem; }
.collection-rarity-card > progress { width: 100%; height: 7px; border: 0; border-radius: 999px; background: #e4e8df; overflow: hidden; appearance: none; }.collection-rarity-card > progress::-webkit-progress-bar { background: #e4e8df; }.collection-rarity-card > progress::-webkit-progress-value { background: linear-gradient(90deg, var(--leaf-500), var(--gold)); }.collection-rarity-card > progress::-moz-progress-bar { background: linear-gradient(90deg, var(--leaf-500), var(--gold)); }
.collection-milestone-panel { margin-bottom: 16px; }.collection-milestone-panel .panel-heading p:not(.eyebrow) { margin-top: 5px; color: var(--muted); font-size: .72rem; }
.collection-milestone-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.collection-milestone-card { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 10px 12px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.collection-milestone-card.ready { border-color: #cba536; background: #fffaf0; box-shadow: 0 0 0 2px rgba(217,169,46,.12); }.collection-milestone-card.claimed { background: #f1f7ed; }
.collection-milestone-card h3 { margin-top: 3px; font-size: .9rem; }.collection-milestone-card p { margin-top: 3px; color: var(--muted); font-size: .69rem; line-height: 1.4; }
.collection-milestone-card progress { grid-column: 1 / -1; width: 100%; height: 9px; border: 0; border-radius: 999px; overflow: hidden; appearance: none; }.collection-milestone-card progress::-webkit-progress-bar { background: #e4e8df; }.collection-milestone-card progress::-webkit-progress-value { background: linear-gradient(90deg, var(--leaf-500), var(--gold)); }.collection-milestone-card progress::-moz-progress-bar { background: linear-gradient(90deg, var(--leaf-500), var(--gold)); }
.collection-milestone-reward { grid-column: 1 / -1; color: #876215; font-size: .7rem; font-weight: 850; }
.collection-milestone-card > button { grid-column: 1 / -1; min-height: 38px; border: 1px solid var(--forest-700); border-radius: 9px; color: white; background: var(--forest-700); cursor: pointer; font: inherit; font-size: .74rem; font-weight: 850; }.collection-milestone-card > button:disabled { border-color: #d9ddd3; color: #7b857d; background: #eef1eb; cursor: default; }.collection-milestone-card.claimed > button:disabled { border-color: #bcd5b3; color: #3f704f; background: #e3f0de; }
.shop-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
.shop-feature { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: start; gap: 13px; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); }
.shop-feature > span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; background: #fff1bc; font-size: 1.65rem; }.shop-feature p:not(.eyebrow) { margin: 7px 0 0; color: var(--muted); font-size: .73rem; line-height: 1.5; }.shop-feature .secondary-button { grid-column: 1 / -1; }
.capacity-shop-feature { border-color: #a7c99b; background: linear-gradient(145deg, #f7fbf2, #edf6e9); box-shadow: 0 9px 24px rgba(42, 86, 52, .08); }
.capacity-shop-feature > span { background: #dcefd6; }
.league-hero { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px 20px; margin-bottom: 16px; padding: 22px; border-radius: 17px; color: white; background: linear-gradient(120deg, #4d3910, #876215 56%, #b18424); box-shadow: var(--shadow); }
.league-hero h2 { font-size: 1.6rem; }.league-hero p { margin: 4px 0 0; color: #f2dfac; }.league-hero .eyebrow { color: #f2dfac; }.league-hero-bonus { display: grid; gap: 2px; text-align: right; }.league-hero-bonus small { color: #f2dfac; font-size: .65rem; }.league-hero-bonus strong { font-size: 1.6rem; }.league-hero .league-progress, .league-hero .league-progress::-webkit-progress-bar { background: rgba(255,255,255,.18); }.league-hero > small { grid-column: 1 / -1; color: #f2dfac; }
.page-activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-boundary { margin: 14px 2px 0; }
.earning-link { color: var(--forest-900); text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.earning-link:hover { border-color: var(--forest-700); box-shadow: 0 4px 16px rgba(23,63,43,.1); }
.earning-link .earning-link-action { grid-column: 1 / -1; color: var(--forest-700); font-weight: 800; }
.faucet-page-card { width: 100%; max-width: none; padding: 26px; gap: 18px; }
.faucet-page-card .activity-reward { grid-column: 1 / -1; justify-self: center; font-size: 2rem; }
.faucet-verification { grid-column: 1 / -1; display: grid; justify-items: center; gap: 12px; width: 100%; padding: 18px; border: 1px solid #bdd6b4; border-radius: 14px; background: #f4f9f1; text-align: center; }
.faucet-verification > div:first-child { display: grid; gap: 3px; }.faucet-verification strong { color: var(--forest-900); font-size: .92rem; }.faucet-verification small { color: var(--muted); line-height: 1.45; }
.faucet-turnstile { min-height: 65px; display: grid; place-items: center; }
.cryptocrops-altcha { display: block; width: 100%; max-width: 360px; color-scheme: light;
  --altcha-max-width: 100%; --altcha-border-radius: 12px; --altcha-padding: 16px;
  --altcha-color-base: #fffef8; --altcha-color-base-content: #254936;
  --altcha-color-primary: #267447; --altcha-border-color: #c9d7c0; }
.farm-checkpoint-widget, .faucet-turnstile { width: 100%; min-width: 0; }
.faucet-protection-note { grid-column: 1 / -1; padding-top: 2px; color: #4f7258 !important; font-weight: 750; }
.earning-empty { display: grid; justify-items: center; gap: 12px; padding: 50px 24px; text-align: center; }
.earning-empty > span { font-size: 3rem; }
.earning-empty h2, .earning-empty p { margin: 0; }
.earning-empty p { max-width: 500px; color: var(--muted); line-height: 1.6; }
.shortlink-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 20px 0 15px; padding: 23px 25px; border: 1px solid #c9d9c3; border-radius: 17px; background: linear-gradient(120deg, #f8fbf5, #edf5e8); box-shadow: 0 8px 22px rgba(28,54,36,.045); }
.shortlink-toolbar h2 { margin: 3px 0 5px; color: var(--forest-900); font-size: 1.35rem; }.shortlink-toolbar p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }.shortlink-toolbar > span { flex: 0 0 auto; padding: 8px 11px; border-radius: 999px; color: var(--forest-700); background: #dfeeda; font-size: .72rem; font-weight: 850; }
.shortlink-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.shortlink-card { min-width: 0; display: grid; align-content: start; gap: 16px; padding: 20px; }.shortlink-card.available { border-color: #a9c99e; background: linear-gradient(150deg, #fff, #f4faf0); }.shortlink-card.cooling { background: #f5f6f2; }
.shortlink-brand { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 12px; }.shortlink-brand > span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; color: white; background: linear-gradient(145deg, #1f5037, #41945a); box-shadow: 0 7px 16px rgba(29,83,50,.18); font-size: 1.35rem; font-weight: 950; }.shortlink-brand small { color: #4c7a5c; font-size: .65rem; font-weight: 900; letter-spacing: .1em; }.shortlink-brand h3 { margin: 2px 0 0; color: var(--forest-900); font-size: .98rem; line-height: 1.2; }
.shortlink-reward { display: grid; gap: 3px; padding: 13px; border-radius: 12px; background: #edf4e9; }.shortlink-reward small, .shortlink-reward span { color: var(--muted); font-size: .66rem; }.shortlink-reward strong { color: #815e12; font-size: 1.25rem; }.shortlink-card > small { color: var(--muted); font-size: .67rem; text-align: center; }
.shortlink-notice { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 12px; margin: 16px 0; padding: 15px 18px; border: 1px solid #b8d4ae; border-radius: 14px; color: #255a38; background: #edf7e9; }.shortlink-notice > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: white; background: #3b8452; font-weight: 950; }.shortlink-notice strong { font-size: .9rem; }.shortlink-notice p { margin: 3px 0 0; font-size: .74rem; }.shortlink-notice.neutral { color: #6c571d; border-color: #dec985; background: #fff9e5; }.shortlink-notice.neutral > span { background: #a98623; }.shortlink-notice.error { color: #7c3434; border-color: #e0b4b4; background: #fff1f1; }.shortlink-notice.error > span { background: #a94d4d; }
.shortlink-disclosure { display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 14px; margin-top: 16px; padding: 19px 22px; }.shortlink-disclosure > span { font-size: 1.8rem; }.shortlink-disclosure h3 { margin: 0 0 4px; color: var(--forest-900); font-size: .95rem; }.shortlink-disclosure p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.collection-ready-count { padding: 6px 10px; border-radius: 999px; color: #876215; background: #fbf0c4; font-size: .72rem; font-weight: 850; }
.collection-milestone-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 13px; background: #edf5e7; font-size: 1.55rem; }.collection-milestone-card.ready .collection-milestone-icon { background: #fbefbf; }.collection-milestone-card.claimed .collection-milestone-icon { background: #dcebd5; }

.pass-hero { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px 22px; margin-bottom: 16px; padding: 24px; border-radius: 18px; color: white; background: linear-gradient(120deg, #3b2469, #7045a0 57%, #b672c1); box-shadow: var(--shadow); overflow: hidden; position: relative; }
.pass-hero::after { content: ""; position: absolute; width: 180px; height: 180px; right: 12%; top: -132px; border: 30px solid rgba(255,255,255,.07); border-radius: 50%; pointer-events: none; }
.pass-hero h2 { font-size: 1.6rem; }.pass-hero p { margin: 4px 0 0; color: #eddff6; }.pass-hero .eyebrow { color: #eddff6; }
.pass-season { display: grid; gap: 3px; min-width: 170px; text-align: right; }.pass-season small { color: #eddff6; }.pass-season strong { font-size: .94rem; }
.pass-progress { grid-column: 1 / -1; width: 100%; height: 10px; border: 0; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; appearance: none; }.pass-progress::-webkit-progress-bar { border-radius: inherit; background: rgba(255,255,255,.18); }.pass-progress::-webkit-progress-value { border-radius: inherit; background: linear-gradient(90deg, #f8d968, #fff0ac); }.pass-progress::-moz-progress-bar { border-radius: inherit; background: linear-gradient(90deg, #f8d968, #fff0ac); }
.pass-hero > small { grid-column: 1 / -1; color: #eddff6; }
.pass-bonus { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 280px); align-items: center; gap: 22px; margin-bottom: 16px; padding: 22px; }
.pass-bonus-copy { min-width: 0; }.pass-bonus h2 { margin: 0 0 8px; }.pass-bonus p { margin: 0 0 12px; }.pass-bonus small { display: block; color: var(--muted); line-height: 1.5; }.pass-bonus progress { width: 100%; height: 10px; margin-bottom: 8px; accent-color: #397749; }
.pass-bonus-claim { display: grid; gap: 8px; padding: 18px; border-radius: 14px; background: #edf4e8; text-align: center; }.pass-bonus-claim > strong { color: #24513b; font-size: 1.3rem; }.pass-bonus-claim button { width: 100%; min-height: 44px; padding: 10px 12px; border: 0; border-radius: 10px; color: white; background: var(--forest-700); font-weight: 800; white-space: normal; }.pass-bonus-claim button:hover:not(:disabled) { background: var(--forest-800); }.pass-bonus-claim button:disabled { color: #65745f; background: #dce5d5; }
@media (max-width: 700px) { .pass-bonus { grid-template-columns: minmax(0, 1fr); padding: 18px; gap: 14px; } }
.pass-xp-sources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.pass-xp-sources article { display: flex; align-items: center; gap: 12px; padding: 15px; border: 1px solid #d8cbe4; border-radius: 14px; background: #fdfaff; }
.pass-xp-sources article > span { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: #f1e7f6; font-size: 1.3rem; }
.pass-xp-sources article div { display: grid; gap: 2px; }.pass-xp-sources strong { font-size: .86rem; }.pass-xp-sources small { color: var(--muted); }
.pass-seed-showcase { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(0, 1.2fr); align-items: center; gap: 20px; margin-bottom: 16px; padding: 20px; border: 1px solid #d7c58a; border-radius: 16px; background: linear-gradient(120deg, #fffdf3, #f7efd4); }
.pass-seed-showcase h2 { font-size: 1.18rem; }.pass-seed-showcase p:not(.eyebrow) { margin: 6px 0 0; color: var(--muted); font-size: .76rem; }
.pass-seed-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pass-seed-row > span { min-width: 0; display: grid; place-items: center; gap: 2px; padding: 13px 8px; border: 1px solid rgba(127,92,25,.14); border-radius: 11px; background: rgba(255,255,255,.7); font-size: 1.35rem; text-align: center; }.pass-showcase-art { width: 68px; height: 68px; object-fit: contain; filter: drop-shadow(0 5px 5px rgba(75,51,13,.18)); }.pass-seed-row strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: .72rem; white-space: nowrap; }.pass-seed-row small { color: #7b6434; font-size: .61rem; }
.pass-premium-status { display: inline-flex; width: fit-content; margin-top: 8px; padding: 7px 10px; border-radius: 999px; color: #654579; background: #f0e5f5; font-size: .69rem; font-weight: 800; text-align: center; }
.pass-track-controls { display: flex; align-items: center; gap: 9px; }.pass-track-controls > span { color: var(--muted); font-size: .69rem; font-weight: 750; white-space: nowrap; }
.pass-track-arrow { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid #cdb7da; border-radius: 12px; color: #56366b; background: #f7effa; box-shadow: 0 3px 8px rgba(66,38,82,.09); cursor: pointer; font: inherit; font-size: 1.25rem; font-weight: 900; transition: transform .16s ease, background .16s ease; }.pass-track-arrow:hover { background: #eddef3; transform: translateY(-1px); }.pass-track-arrow:active { transform: translateY(1px); }
.pass-tier-list { position: relative; display: flex; gap: 15px; padding: 10px 3px 19px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-color: #b79ac7 #eee6f1; scrollbar-width: thin; }
.pass-tier-list:focus-visible { outline: 3px solid rgba(112,69,160,.24); outline-offset: 4px; border-radius: 10px; }
.pass-tier-list::-webkit-scrollbar { height: 9px; }.pass-tier-list::-webkit-scrollbar-track { border-radius: 999px; background: #eee6f1; }.pass-tier-list::-webkit-scrollbar-thumb { border: 2px solid #eee6f1; border-radius: 999px; background: #a982bc; }
.pass-tier { position: relative; flex: 0 0 clamp(260px, 28vw, 315px); display: grid; grid-template-rows: auto minmax(104px, 1fr) minmax(104px, 1fr); gap: 10px; align-items: stretch; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: #fafbf8; scroll-snap-align: start; }
.pass-tier::after { content: ""; position: absolute; top: 35px; left: calc(100% + 1px); width: 15px; height: 4px; background: #ded8e1; }.pass-tier:last-child::after { display: none; }
.pass-tier.unlocked { border-color: #c7b154; background: #fffdf4; box-shadow: 0 0 0 2px rgba(219,184,55,.09); }.pass-tier.claimed { border-color: #bed6b6; background: #f4f9f1; }.pass-tier.active { border-color: #8757a2; box-shadow: 0 0 0 3px rgba(112,69,160,.13), 0 10px 24px rgba(68,42,81,.1); }.pass-tier.seed-milestone { background: linear-gradient(145deg, #fffdf0, #f7ecff); }
.pass-tier-number { min-height: 45px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 11px; border-radius: 11px; color: #625d65; background: #eceeeb; }
.pass-tier-number span { font-size: 1.16rem; font-weight: 900; }.pass-tier-number small { font-size: .68rem; font-weight: 850; text-transform: uppercase; }.pass-tier.unlocked .pass-tier-number { color: #6b4d0b; background: #f8e9aa; }.pass-tier.claimed .pass-tier-number { color: #2d6a3d; background: #dcebd7; }.pass-tier.active .pass-tier-number { color: white; background: linear-gradient(120deg, #5e3978, #8d5aaa); }
.pass-reward { min-width: 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); align-content: center; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.pass-reward > span:first-child { width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border-radius: 11px; background: #f4f5ef; font-size: 1.35rem; }.pass-reward-visual .item-art { width: 46px; height: 46px; }.pass-reward div { min-width: 0; display: grid; gap: 3px; }.pass-reward small { color: var(--muted); font-size: .68rem; }.pass-reward strong { overflow: hidden; text-overflow: ellipsis; font-size: .86rem; white-space: nowrap; }
.pass-reward button { grid-column: 1 / -1; min-height: 38px; padding: 8px 10px; border: 1px solid var(--forest-700); border-radius: 9px; color: white; background: var(--forest-700); cursor: pointer; font: inherit; font-size: .72rem; font-weight: 850; }.pass-reward button:disabled { border-color: #d9ddd3; color: #7b857d; background: #eef1eb; cursor: default; }
.pass-reward.premium { border-color: #ddcbe7; background: #fdfaff; }.pass-reward.premium.active { border-color: #b68acb; box-shadow: inset 0 0 0 1px rgba(121,76,145,.08); }.pass-reward.premium > span:first-child { background: #f1e5f6; }.pass-lock { grid-column: 1 / -1; justify-self: start; padding: 5px 7px; border-radius: 7px; color: #725482; background: #eee2f3; font-size: .63rem; font-weight: 850; }
.pass-premium-status.active { color: #28633c; background: #e1f0df; }.pass-premium-link { grid-column: 1 / -1; min-height: 38px; display: grid; place-items: center; padding: 8px 10px; border: 1px solid #a67abb; border-radius: 9px; color: #664078; background: #f5eaf9; font-size: .71rem; font-weight: 850; text-decoration: none; }.pass-premium-link:hover { background: #ead8f1; }
.pass-xp-sources a { color: #654579; font-weight: 800; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.pass-source-mark { font-size: .57rem !important; font-weight: 950; letter-spacing: .045em; }
.pass-seed-row em { color: #6d5c79; font-size: .56rem; font-style: normal; font-weight: 750; }
.haunted-reward-emblem { position: relative; width: 100%; height: 100%; display: grid; place-items: center; overflow: hidden; border-radius: inherit; background: radial-gradient(circle at 50% 42%, #a96cff 0 10%, #421d68 11% 34%, #130d24 68%); box-shadow: inset 0 0 0 1px rgba(117,255,104,.42); }
.haunted-reward-emblem::before,.haunted-reward-emblem::after { content: ""; position: absolute; background: #75ff68; box-shadow: 0 0 8px #75ff68; }.haunted-reward-emblem::before { width: 70%; height: 2px; transform: rotate(-34deg); }.haunted-reward-emblem::after { width: 2px; height: 66%; transform: rotate(24deg); }.haunted-reward-emblem i { width: 12px; height: 12px; z-index: 1; border: 2px solid #c1ff98; border-radius: 50%; background: #1b192b; box-shadow: 0 0 9px #75ff68; }
.reward-farm-xp { color: #eaffdf; background: linear-gradient(145deg,#14251b,#38642e) !important; font-size: .78rem !important; font-weight: 950; letter-spacing: .03em; }
.pass-reward-bundle { background: radial-gradient(circle,#592483,#120b22) !important; }.pass-reward-bundle .item-art { filter: drop-shadow(0 0 6px #73ff62); }
.haunted-circuit-pass { --haunted-green: #78ff65; --haunted-violet: #a96dff; position: relative; }
.haunted-circuit-pass .pass-hero { min-height: 255px; border: 1px solid rgba(120,255,101,.38); background-image: linear-gradient(90deg,rgba(7,5,15,.94),rgba(14,8,25,.78) 55%,rgba(20,9,32,.45)),url('/assets/harvest-pass-haunted-circuit.jpg?v=1'); background-position: center; background-size: cover; box-shadow: 0 14px 38px rgba(24,8,42,.32); }
.haunted-circuit-pass .pass-hero::after { width: 220px; height: 220px; top: -125px; border-color: rgba(120,255,101,.12); box-shadow: 0 0 38px rgba(120,255,101,.12); }
.haunted-circuit-pass .pass-hero h2,.haunted-circuit-pass .pass-hero strong { color: #f5fff2; text-shadow: 0 2px 14px #000; }.haunted-circuit-pass .pass-hero p,.haunted-circuit-pass .pass-hero small,.haunted-circuit-pass .pass-hero .eyebrow { color: #d9fdd2; text-shadow: 0 1px 8px #000; }
.haunted-circuit-pass .pass-progress::-webkit-progress-value { background: linear-gradient(90deg,#72ff61,#b276ff); box-shadow: 0 0 12px #78ff65; }.haunted-circuit-pass .pass-progress::-moz-progress-bar { background: linear-gradient(90deg,#72ff61,#b276ff); }
.haunted-circuit-pass .pass-xp-sources article { border-color: #483260; background: linear-gradient(145deg,#171020,#251435); }.haunted-circuit-pass .pass-xp-sources article > span { color: #bfffac; background: #302043; box-shadow: inset 0 0 0 1px rgba(120,255,101,.22); }.haunted-circuit-pass .pass-xp-sources strong { color: #f3edf9; }.haunted-circuit-pass .pass-xp-sources small { color: #bdb0c9; }.haunted-circuit-pass .pass-xp-sources a { color: #9cff8e; }
.haunted-circuit-pass .pass-seed-showcase { border-color: #573b72; background: radial-gradient(circle at 85% 15%,rgba(117,255,104,.13),transparent 30%),linear-gradient(120deg,#130d20,#251335 58%,#171020); box-shadow: 0 10px 30px rgba(29,12,44,.18); }.haunted-circuit-pass .pass-seed-showcase h2 { color: #f6effc; }.haunted-circuit-pass .pass-seed-showcase p:not(.eyebrow) { color: #bfb2c8; }.haunted-circuit-pass .pass-seed-showcase .eyebrow { color: #83ff73; }.haunted-circuit-pass .pass-seed-row > span { border-color: rgba(132,255,113,.22); background: linear-gradient(145deg,rgba(55,29,75,.84),rgba(17,12,27,.9)); box-shadow: inset 0 0 18px rgba(133,79,177,.12); }.haunted-circuit-pass .pass-showcase-art { filter: drop-shadow(0 0 9px rgba(120,255,101,.34)); }.haunted-circuit-pass .pass-seed-row strong { color: #f4eef8; }.haunted-circuit-pass .pass-seed-row small { color: #c39ae0; }.haunted-circuit-pass .pass-seed-row em { color: #aee6a6; }
.haunted-circuit-pass .pass-panel { border-color: #433254; background: linear-gradient(#fdfbff,#f7f2fa); }.haunted-circuit-pass .pass-track-arrow { border-color: #4b3067; color: #d8ffc9; background: #241432; }.haunted-circuit-pass .pass-track-arrow:hover { background: #36204a; }.haunted-circuit-pass .pass-tier-list { scrollbar-color: #765294 #1c1129; }.haunted-circuit-pass .pass-tier-list::-webkit-scrollbar-track { background: #1c1129; }.haunted-circuit-pass .pass-tier-list::-webkit-scrollbar-thumb { border-color: #1c1129; background: #765294; }
.haunted-circuit-pass .pass-tier.seed-milestone { border-color: #6c4c83; background: radial-gradient(circle at 90% 8%,rgba(119,255,102,.12),transparent 34%),linear-gradient(145deg,#fff,#f3e8fb); }.haunted-circuit-pass .pass-tier.active { border-color: #63c85a; box-shadow: 0 0 0 3px rgba(103,255,88,.16),0 10px 24px rgba(57,22,78,.16); }.haunted-circuit-pass .pass-tier.active .pass-tier-number { background: linear-gradient(120deg,#27123d,#66398b 65%,#2f7d36); }.haunted-circuit-pass .pass-reward.premium { border-color: #c9a9d8; background: linear-gradient(145deg,#fdfaff,#f5edf9); }
@media (max-width: 700px) { .haunted-circuit-pass .pass-hero { min-height: 285px; background-position: 62% center; }.pass-seed-row em { grid-column: 2; } }

.premium-hero { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 310px; align-items: center; gap: 28px; margin-bottom: 16px; padding: 34px; overflow: hidden; border-radius: 22px; color: white; background: radial-gradient(circle at 84% 18%, rgba(249,215,111,.33), transparent 18rem), linear-gradient(125deg, #2d174d, #69418b 58%, #9b6b36); box-shadow: 0 18px 45px rgba(48,27,65,.2); }.premium-hero::before,.premium-hero::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; pointer-events: none; }.premium-hero::before { width: 240px; height: 240px; right: -95px; bottom: -145px; }.premium-hero::after { width: 120px; height: 120px; right: 31%; top: -82px; }.premium-hero-copy,.premium-status-card { position: relative; z-index: 1; }.premium-kicker { color: #f4d978; font-size: .69rem; font-weight: 900; letter-spacing: .13em; }.premium-hero h2 { max-width: 760px; margin: 7px 0 10px; color: white; font: 850 clamp(1.75rem,3vw,2.65rem)/1.05 Georgia,serif; }.premium-hero-copy > p { max-width: 720px; margin: 0; color: #eee5f1; font-size: .84rem; line-height: 1.62; }.premium-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }.premium-primary-action,.premium-secondary-action { min-height: 43px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: 10px; font-size: .75rem; font-weight: 900; text-decoration: none; }.premium-primary-action { color: #3d2c06; background: linear-gradient(135deg,#f8dc72,#e6b941); box-shadow: 0 5px 14px rgba(43,25,4,.24); }.premium-primary-action:hover { background: linear-gradient(135deg,#ffe58b,#efc650); }.premium-secondary-action { border: 1px solid rgba(255,255,255,.42); color: white; background: rgba(255,255,255,.08); }.premium-secondary-action:hover { background: rgba(255,255,255,.15); }.premium-status-card { min-height: 238px; display: grid; align-content: center; justify-items: center; gap: 5px; padding: 24px; border: 1px solid rgba(255,255,255,.26); border-radius: 18px; background: rgba(29,14,47,.34); box-shadow: inset 0 1px rgba(255,255,255,.12); backdrop-filter: blur(8px); text-align: center; }.premium-status-icon { width: 66px; height: 66px; display: grid; place-items: center; margin-bottom: 5px; border: 1px solid rgba(255,255,255,.3); border-radius: 18px; background: rgba(255,255,255,.1); font-size: 2rem; }.premium-status-card small { color: #e7d7ee; font-size: .63rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.premium-status-card > strong { color: #f8dc72; font-size: 1.25rem; }.premium-status-card p { margin: 1px 0 6px; color: #f0e9f1; font-size: .71rem; line-height: 1.45; }.premium-status-card > span:last-child { padding: 6px 9px; border-radius: 999px; color: #f2e8c6; background: rgba(17,9,28,.25); font-size: .62rem; font-weight: 800; }
.premium-benefit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; margin-bottom: 16px; }.premium-benefit-card { min-width: 0; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 20px; border: 1px solid #dfd3e5; border-radius: 16px; background: linear-gradient(135deg,#fff,#fdf9ff); box-shadow: 0 8px 24px rgba(49,28,61,.045); }.premium-benefit-card > span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 15px; background: linear-gradient(145deg,#f2e7f6,#fff8d8); font-size: 1.7rem; }.premium-benefit-card > div { min-width: 0; }.premium-benefit-card small { color: #805b8e; font-size: .6rem; font-weight: 900; letter-spacing: .09em; }.premium-benefit-card h3 { margin: 3px 0 5px; color: var(--forest-900); font-size: .96rem; }.premium-benefit-card p { margin: 0; color: var(--muted); font-size: .71rem; line-height: 1.5; }.premium-benefit-card > strong { min-width: 82px; padding: 7px 9px; border-radius: 999px; color: #67460b; background: #fff1b9; font-size: .68rem; text-align: center; white-space: nowrap; }
.premium-benefit-card.feature-wide { grid-column: 1 / -1; }
.premium-benefit-card.auto-cropper-feature { border-color: #d5b958; background: linear-gradient(120deg,#fffef6,#fbf1c7 55%,#f5eaf8); box-shadow: 0 12px 30px rgba(84,58,11,.09); }.premium-benefit-card.auto-cropper-feature > span { background: linear-gradient(145deg,#f7d85e,#fff3bd); }
.auto-cropper-panel { margin-bottom: 16px; padding: 25px; overflow: hidden; border-color: #d6c36d; background: linear-gradient(145deg,#fffdf5,#fff 45%,#f8f1fb); }.auto-cropper-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 18px; }.auto-cropper-heading h2 { margin: 3px 0 6px; color: var(--forest-900); font-size: 1.35rem; }.auto-cropper-heading p:not(.eyebrow) { max-width: 780px; margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }.auto-cropper-status { flex: 0 0 auto; padding: 8px 11px; border-radius: 999px; color: #765f20; background: #f4e9bc; font-size: .68rem; font-weight: 900; }.auto-cropper-status.running { color: #24683b; background: #dff2df; box-shadow: 0 0 0 4px rgba(91,176,101,.1); }.auto-cropper-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 18px; overflow: hidden; border: 1px solid #e0dfd3; border-radius: 13px; background: rgba(255,255,255,.78); }.auto-cropper-metrics > span { min-width: 0; display: grid; gap: 4px; padding: 13px 15px; border-left: 1px solid #e7e4da; }.auto-cropper-metrics > span:first-child { border-left: 0; }.auto-cropper-metrics small { color: var(--muted); font-size: .61rem; font-weight: 800; text-transform: uppercase; }.auto-cropper-metrics strong { overflow: hidden; color: var(--forest-900); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }.auto-cropper-form { display: grid; gap: 13px; }.auto-cropper-toggle { display: flex; align-items: center; gap: 11px; width: fit-content; cursor: pointer; }.auto-cropper-toggle input { width: 20px; height: 20px; accent-color: #277446; }.auto-cropper-toggle > span { display: grid; gap: 2px; }.auto-cropper-toggle strong { color: var(--forest-900); font-size: .78rem; }.auto-cropper-toggle small { color: var(--muted); font-size: .65rem; }.auto-cropper-queue { display: grid; gap: 8px; }.auto-cropper-queue-row { display: grid; grid-template-columns: 36px minmax(220px,1fr) minmax(150px,.65fr) 34px; align-items: center; gap: 11px; padding: 10px; border: 1px solid #e1e4da; border-radius: 11px; background: rgba(255,255,255,.82); }.auto-cropper-queue-row > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: #654679; background: #eee2f3; font-size: .7rem; font-weight: 900; }.auto-cropper-queue-row label { min-width: 0; display: grid; gap: 3px; }.auto-cropper-queue-row label small { color: var(--muted); font-size: .57rem; font-weight: 850; text-transform: uppercase; }.auto-cropper-queue-row select { width: 100%; min-width: 0; padding: 8px 10px; border: 1px solid #cbd4c7; border-radius: 8px; color: var(--forest-900); background: white; font: 750 .72rem/1.2 inherit; }.auto-cropper-queue-row em { color: #607066; font-size: .66rem; font-style: normal; }.auto-cropper-queue-row > button { width: 32px; height: 32px; border: 1px solid #e0d7d5; border-radius: 9px; color: #8a5149; background: #fff8f5; font-size: 1rem; cursor: pointer; }.auto-cropper-empty { margin: 0; padding: 20px; border: 1px dashed #cdd5c8; border-radius: 11px; color: var(--muted); background: rgba(255,255,255,.55); font-size: .72rem; text-align: center; }.auto-cropper-actions { display: flex; justify-content: flex-end; gap: 9px; }.auto-cropper-actions .wide-button { width: auto; }.auto-cropper-lock { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 16px; border: 1px solid #ded7bd; border-radius: 13px; background: rgba(255,255,255,.68); }.auto-cropper-lock > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; background: #f1ead4; font-size: 1.35rem; }.auto-cropper-lock strong { color: var(--forest-900); }.auto-cropper-lock p { margin: 3px 0 0; color: var(--muted); font-size: .69rem; line-height: 1.45; }.auto-cropper-shop { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 18px -25px -25px; padding: 15px 25px; border-top: 1px solid #e4ddc4; background: rgba(244,237,210,.46); }.auto-cropper-shop > div { display: grid; gap: 2px; }.auto-cropper-shop strong { color: var(--forest-900); font-size: .75rem; }.auto-cropper-shop small,.auto-cropper-locked-shop,.auto-cropper-maxed { color: var(--muted); font-size: .64rem; }.auto-cropper-maxed { color: #2f7044; font-weight: 850; }
.auto-cropper-energy { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 13px 15px; border: 1px solid #decf93; border-radius: 13px; background: linear-gradient(135deg,#fff8d8,#fffdf5); }.auto-cropper-energy > div { display: grid; gap: 2px; }.auto-cropper-energy small { color: #786226; font-size: .59rem; font-weight: 900; text-transform: uppercase; }.auto-cropper-energy strong { color: var(--forest-900); font-size: .86rem; }.auto-cropper-energy span { color: var(--muted); font-size: .64rem; }.auto-cropper-energy.empty { border-color: #e0b6a9; background: linear-gradient(135deg,#fff0ea,#fffaf7); }.auto-cropper-energy .action-button { flex: 0 0 auto; }
@media (max-width: 620px) { .auto-cropper-energy { align-items: stretch; flex-direction: column; }.auto-cropper-energy .action-button { width: 100%; } }
.farm-auto-cropper-panel { margin-top: 16px; scroll-margin-top: 20px; }
.farm-auto-cropper-lock .premium-lock-mark { color: #56366b; background: linear-gradient(145deg,#efe2f4,#fff0ad); font-size: .65rem; font-weight: 950; letter-spacing: .04em; }
.farm-premium-perk-preview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-top: 13px; }.farm-premium-perk-preview article { min-width: 0; display: grid; gap: 4px; padding: 12px 13px; border: 1px solid #e3deca; border-radius: 11px; background: rgba(255,255,255,.72); }.farm-premium-perk-preview small { color: #805b8e; font-size: .58rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }.farm-premium-perk-preview strong { color: var(--forest-900); font-size: .72rem; line-height: 1.35; }
.right-column .farm-auto-cropper-panel { margin: 0; padding: 21px; }
.right-column .farm-auto-cropper-panel .auto-cropper-heading { align-items: stretch; flex-direction: column; gap: 10px; }
.right-column .farm-auto-cropper-panel .auto-cropper-status { align-self: flex-start; }
.right-column .farm-auto-cropper-panel .auto-cropper-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
.right-column .farm-auto-cropper-panel .auto-cropper-metrics > span:nth-child(3) { border-left: 0; border-top: 1px solid #e7e4da; }
.right-column .farm-auto-cropper-panel .auto-cropper-metrics > span:nth-child(4) { border-top: 1px solid #e7e4da; }
.right-column .farm-auto-cropper-panel .auto-cropper-queue-row { grid-template-columns: 34px minmax(0,1fr) 34px; }
.right-column .farm-auto-cropper-panel .auto-cropper-queue-row > em { grid-column: 2; }
.right-column .farm-auto-cropper-panel .auto-cropper-queue-row > button { grid-column: 3; grid-row: 1 / span 2; }
.right-column .farm-auto-cropper-panel .auto-cropper-actions { display: grid; }
.right-column .farm-auto-cropper-panel .auto-cropper-actions .wide-button { width: 100%; }
.right-column .farm-auto-cropper-panel .auto-cropper-lock { grid-template-columns: 46px minmax(0,1fr); }
.right-column .farm-auto-cropper-panel .auto-cropper-lock .premium-primary-action { grid-column: 1 / -1; width: 100%; }
.right-column .farm-auto-cropper-panel .auto-cropper-shop { align-items: flex-start; flex-direction: column; margin: 18px -21px -21px; padding: 15px 21px; }
.right-column .farm-auto-cropper-panel .farm-premium-perk-preview { grid-template-columns: repeat(2,minmax(0,1fr)); }
.premium-comparison { margin-bottom: 16px; padding: 24px; }.premium-live-badge { padding: 7px 10px; border-radius: 999px; color: #3e6848; background: #e7f1e2; font-size: .67rem; font-weight: 850; }.premium-comparison-table { overflow: hidden; border: 1px solid #e1e5dc; border-radius: 13px; }.premium-comparison-row { display: grid; grid-template-columns: 1.25fr 1fr 1fr; align-items: center; min-height: 52px; border-top: 1px solid #e4e8df; }.premium-comparison-row:first-child { border-top: 0; }.premium-comparison-row > * { min-width: 0; padding: 12px 15px; font-size: .73rem; }.premium-comparison-row > span:first-child { color: var(--forest-900); font-weight: 800; }.premium-comparison-row > span:nth-child(2) { color: var(--muted); }.premium-comparison-row > strong:last-child { align-self: stretch; display: flex; align-items: center; color: #59366e; background: #faf3fd; }.premium-comparison-row.heading { min-height: 42px; color: #68736a; background: #f5f7f2; }.premium-comparison-row.heading > * { font-size: .63rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }.premium-comparison-row.heading > strong:last-child { color: #67467a; background: #efe4f4; }
.premium-pass-showcase { display: grid; grid-template-columns: minmax(250px,.7fr) minmax(0,1.3fr); align-items: center; gap: 22px; margin-bottom: 16px; padding: 24px; border: 1px solid #d8c68d; border-radius: 18px; background: linear-gradient(125deg,#fffdf3,#f7efd3 58%,#f1e5f5); }.premium-pass-showcase h2 { margin: 4px 0 7px; color: var(--forest-900); }.premium-pass-showcase p:not(.eyebrow) { margin: 0 0 14px; color: var(--muted); font-size: .76rem; line-height: 1.55; }.premium-pass-reward-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }.premium-pass-reward { min-width: 0; display: grid; grid-template-columns: 52px minmax(0,1fr); align-items: center; gap: 10px; padding: 12px; border: 1px solid rgba(109,76,32,.16); border-radius: 12px; background: rgba(255,255,255,.76); }.premium-pass-reward > span { width: 52px; height: 52px; display: grid; place-items: center; overflow: hidden; border-radius: 11px; background: #f5ecf7; }.premium-pass-reward .item-art { width: 50px; height: 50px; }.premium-pass-reward div { min-width: 0; display: grid; gap: 2px; }.premium-pass-reward small { color: #7a6080; font-size: .62rem; font-weight: 800; }.premium-pass-reward strong { overflow: hidden; color: var(--forest-900); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.premium-expiry { display: grid; grid-template-columns: 58px minmax(0,1fr); align-items: center; gap: 17px; margin-bottom: 16px; padding: 22px; border-color: #c9d9c3; background: #f7fbf5; }.premium-expiry > span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 15px; background: #e4f0df; font-size: 1.7rem; }.premium-expiry h2 { margin: 3px 0 5px; font-size: 1.06rem; }.premium-expiry p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.58; }.premium-activation { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 22px; padding: 25px 28px; border-radius: 17px; color: white; background: linear-gradient(120deg,#173f2b,#285f3f); box-shadow: var(--shadow); }.premium-activation h2 { margin: 4px 0 6px; color: white; }.premium-activation p:not(.eyebrow) { max-width: 760px; margin: 0; color: #d7e9d8; font-size: .77rem; line-height: 1.55; }.premium-activation .premium-primary-action { min-width: 180px; }

.farm-level-hero { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 22px; margin-bottom: 16px; padding: 24px; border-radius: 18px; color: white; background: linear-gradient(120deg, #163e2a, #2c754a 58%, #8da935); box-shadow: var(--shadow); overflow: hidden; position: relative; }
.farm-level-hero::after { content: ""; position: absolute; width: 210px; height: 210px; right: -78px; top: -110px; border: 34px solid rgba(255,255,255,.06); border-radius: 50%; pointer-events: none; }
.farm-level-hero h2 { font-size: 1.62rem; }.farm-level-hero p:not(.eyebrow) { margin: 5px 0 13px; color: #dcebd8; }.farm-level-hero .eyebrow { color: #e1f0dd; }
.farm-level-medal { width: 108px; height: 108px; display: grid; place-items: center; align-content: center; border: 3px solid rgba(255,255,255,.72); border-radius: 50%; background: linear-gradient(145deg, #f6d76a, #bc8420); color: #332608; box-shadow: inset 0 0 0 6px rgba(255,255,255,.2), 0 10px 24px rgba(0,0,0,.18); }
.farm-level-medal span { font-size: 2.25rem; font-weight: 950; line-height: 1; }.farm-level-medal small { margin-top: 4px; color: #4e3b10; font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.farm-level-progress { width: 100%; height: 12px; border: 0; border-radius: 999px; background: rgba(255,255,255,.19); overflow: hidden; appearance: none; }.farm-level-progress::-webkit-progress-bar { border-radius: inherit; background: rgba(255,255,255,.19); }.farm-level-progress::-webkit-progress-value { border-radius: inherit; background: linear-gradient(90deg, #f0c945, #fff0a1); }.farm-level-progress::-moz-progress-bar { border-radius: inherit; background: linear-gradient(90deg, #f0c945, #fff0a1); }
.farm-level-hero > div:last-child > small { display: block; margin-top: 6px; color: #dcebd8; }
.farm-xp-sources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.farm-xp-sources article { display: flex; align-items: center; gap: 12px; padding: 16px; border: 1px solid #cfdcc6; border-radius: 14px; background: #f8fbf5; }
.farm-xp-sources article > span { width: 46px; height: 46px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 12px; background: #e6f0df; font-size: 1.35rem; }
.farm-xp-sources article div { display: grid; gap: 2px; }.farm-xp-sources strong { font-size: .88rem; }.farm-xp-sources small { color: var(--muted); }
.farm-level-total { padding: 7px 10px; border-radius: 999px; color: #356344; background: #e4f0df; font-size: .72rem; font-weight: 850; }
.farm-level-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.farm-level-card { min-width: 0; display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fafbf8; }
.farm-level-number { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: #5e685f; background: #e8ece5; font-size: .92rem; font-weight: 950; }
.farm-level-card div { min-width: 0; display: grid; gap: 2px; }.farm-level-card small { color: var(--muted); }.farm-level-card strong { color: var(--forest-800); font-size: .9rem; }.farm-level-card p { color: var(--muted); font-size: .72rem; line-height: 1.45; }
.farm-level-card.reached { border-color: #bed6b5; background: #f0f7ed; }.farm-level-card.reached .farm-level-number { color: white; background: var(--forest-700); }
.farm-level-card.current { border-color: #c79d28; background: #fff9e8; box-shadow: 0 0 0 2px rgba(211,166,42,.13); }.farm-level-card.current .farm-level-number { color: #3f300a; background: #f3d66f; }
.farm-level-card.next { border-color: #90b47e; background: #f7fbf4; }.farm-level-card.next .farm-level-number { color: white; background: #5d8a4b; }

.community-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; margin-bottom: 16px; padding: 23px 25px; border-radius: 18px; color: white; background: linear-gradient(120deg, #243e5f, #386b7f 58%, #6aa873); box-shadow: var(--shadow); }
.community-hero h2 { font-size: 1.5rem; }.community-hero p:not(.eyebrow) { max-width: 780px; margin: 5px 0 0; color: #dcecf0; line-height: 1.5; }.community-hero .eyebrow { color: #d9edf0; }.community-hero > span { font-size: 3rem; }
.community-publish-status { padding: 7px 10px; border-radius: 999px; color: #356344; background: #e4f0df; font-size: .72rem; font-weight: 850; }
.community-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.community-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: 0 8px 22px rgba(28,54,36,.055); }
.community-card-scene { height: 116px; position: relative; overflow: hidden; background: linear-gradient(#9fd2e0 0 48%, #79a951 49%); }
.community-card-scene.ground-golden { background: linear-gradient(#a9d4df 0 48%, #aaa253 49%); }.community-card-scene.ground-clover { background: linear-gradient(#95cadb 0 48%, #4f9250 49%); }
.mini-sun { position: absolute; width: 25px; height: 25px; right: 24px; top: 18px; border-radius: 50%; background: #f7d872; box-shadow: 0 0 0 8px rgba(255,235,149,.22); }
.mini-barn { position: absolute; left: 22px; bottom: 23px; width: 72px; height: 46px; display: grid; place-items: center; border-radius: 4px 4px 1px 1px; color: #ecd9ad; background: #a83d34; font-size: 1.7rem; box-shadow: inset 0 -5px rgba(84,45,30,.18); }.barn-green .mini-barn { background: #3f704f; }.barn-blue .mini-barn { background: #3f5e82; }
.mini-barn::before { content: ""; position: absolute; left: -7px; right: -7px; top: -12px; height: 18px; background: #57402d; clip-path: polygon(8% 100%, 18% 0, 82% 0, 92% 100%); }
.mini-field { position: absolute; left: 116px; right: 16px; bottom: 13px; height: 48px; border-radius: 6px; background: repeating-linear-gradient(90deg, #745038 0 13px, #916444 14px 24px); transform: skewX(-9deg); box-shadow: 0 -3px #b98a55; }
.community-card-heading { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 10px; padding: 14px 14px 8px; }.community-card-heading .avatar { width: 38px; height: 38px; }.community-card-heading h3 { margin: 0; overflow: hidden; text-overflow: ellipsis; font-size: .9rem; white-space: nowrap; }.community-card-heading p { margin: 2px 0 0; color: var(--muted); font-size: .7rem; }
.community-card-stats { display: flex; gap: 7px; padding: 0 14px 11px; color: #52645a; font-size: .69rem; }.community-card-stats span { padding: 4px 7px; border-radius: 7px; background: #f0f4ed; }
.community-card-actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 11px 14px 14px; border-top: 1px solid var(--line); }.community-card-actions button { min-width: 86px; border: 1px solid #bfd0ba; border-radius: 10px; color: var(--forest-800); background: #f4f8f1; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; }
.community-empty { min-height: 230px; display: grid; place-items: center; align-content: center; gap: 6px; padding: 30px; text-align: center; }.community-empty > span { font-size: 2.6rem; }.community-empty h3 { margin: 0; }.community-empty p { max-width: 520px; margin: 0; color: var(--muted); }
.community-visit { margin-bottom: 16px; padding: 20px; overflow: hidden; }
.community-visit-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin-bottom: 15px; }.community-visit-heading a { display: inline-block; margin-bottom: 7px; color: var(--forest-700); font-size: .72rem; font-weight: 800; text-decoration: none; }.community-visit-heading h2 { font-size: 1.4rem; }.community-visit-heading p:not(.eyebrow) { margin: 4px 0 0; color: var(--muted); }
.community-visit-actions { display: flex; gap: 8px; }.community-visit-actions button { min-height: 42px; padding: 9px 13px; border: 1px solid #b8cbb4; border-radius: 10px; color: var(--forest-800); background: white; cursor: pointer; font: inherit; font-size: .77rem; font-weight: 850; }.community-visit-actions button.primary { border-color: #b24655; color: white; background: #b24655; }.community-visit-actions button:disabled { border-color: #d8ddd5; color: #7a847c; background: #edf0eb; cursor: default; }
.community-farm-frame { height: 540px; position: relative; overflow: hidden; border: 7px solid #e7dfc8; border-radius: 18px; background: #91cbdc; box-shadow: inset 0 0 0 1px rgba(67,54,35,.2); }.community-farm-frame canvas { width: 100%; height: 100%; display: block; touch-action: none; }
#community-farm-loading { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; align-content: center; gap: 8px; color: #284337; background: linear-gradient(160deg, #d9eee0, #f4edd2); }#community-farm-loading[hidden] { display: none; }#community-farm-loading span { font-size: 2.2rem; }#community-farm-loading small { color: var(--muted); }
.community-farm-badge { position: absolute; left: 14px; top: 14px; z-index: 1; display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.55); border-radius: 11px; color: #173f2b; background: rgba(255,255,255,.82); backdrop-filter: blur(8px); font-size: .72rem; }
.community-visit-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }.community-visit-stats span { display: grid; gap: 2px; padding: 10px; border-radius: 10px; background: #f2f5ef; }.community-visit-stats small { color: var(--muted); }.community-visit-stats strong { color: var(--forest-800); }
.community-visit-error .secondary-button { text-decoration: none; }

.leaderboard-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; margin-bottom: 16px; padding: 25px; border-radius: 18px; color: white; background: linear-gradient(120deg, #3f3310, #8a6618 55%, #d1a530); box-shadow: var(--shadow); }
.leaderboard-hero .eyebrow { color: #fff0b8; }.leaderboard-hero h2 { font-size: 1.55rem; }.leaderboard-hero p:not(.eyebrow) { margin: 6px 0 0; color: #fff2c5; }
.leaderboard-share { min-width: 210px; display: grid; justify-items: end; gap: 2px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.35); border-radius: 14px; background: rgba(48,31,5,.22); }.leaderboard-share small, .leaderboard-share span { color: #fff2c5; }.leaderboard-share strong { font-family: Georgia, serif; font-size: 2rem; line-height: 1; }
.leaderboard-panel { margin-top: 16px; }.leaderboard-heading { align-items: flex-end; }.leaderboard-heading p:not(.eyebrow) { margin: 5px 0 0; color: var(--muted); }
.leaderboard-live { padding: 7px 10px; border-radius: 999px; color: #276239; background: #e2f1df; font-size: .72rem; font-weight: 850; white-space: nowrap; }
.leaderboard-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-bottom: 24px; padding: 6px; border-radius: 13px; background: #edf1e9; }
.leaderboard-tabs button { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 9px; border: 0; border-radius: 9px; color: #56645b; background: transparent; cursor: pointer; font: inherit; font-size: .74rem; font-weight: 850; }.leaderboard-tabs button:hover { color: var(--forest-800); background: rgba(255,255,255,.65); }.leaderboard-tabs button.active { color: white; background: var(--forest-700); box-shadow: 0 4px 12px rgba(25,70,43,.18); }
.leaderboard-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.leaderboard-entry { min-width: 0; display: grid; grid-template-columns: 58px 42px minmax(0, 1fr) minmax(130px, auto); align-items: center; gap: 12px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 5px 16px rgba(28,54,36,.035); }.leaderboard-entry:nth-child(-n+3) { border-color: #dec783; background: #fffdf5; }.leaderboard-entry.current { border-color: #72a66c; background: #eef7ea; box-shadow: 0 0 0 2px rgba(89,148,80,.13); }
.leaderboard-rank { color: #6c5d2d; font-weight: 900; text-align: center; }.leaderboard-entry:nth-child(-n+3) .leaderboard-rank { font-size: 1.35rem; }.leaderboard-entry .avatar { width: 42px; height: 42px; }
.leaderboard-farm { min-width: 0; display: grid; gap: 2px; }.leaderboard-farm strong { overflow: hidden; color: var(--forest-900); font-size: .88rem; text-overflow: ellipsis; white-space: nowrap; }.leaderboard-farm small, .leaderboard-score small { color: var(--muted); }.leaderboard-farm em { display: inline-block; margin-left: 5px; padding: 2px 6px; border-radius: 999px; color: #276239; background: #d9ecd4; font-size: .6rem; font-style: normal; vertical-align: 1px; }
.leaderboard-score { display: grid; justify-items: end; gap: 1px; text-align: right; }.leaderboard-score strong { color: #7a5a0c; font-size: 1rem; }.leaderboard-empty { min-height: 240px; display: grid; place-items: center; align-content: center; gap: 6px; text-align: center; }.leaderboard-empty > span { font-size: 2.7rem; }.leaderboard-empty h3 { margin: 0; }.leaderboard-empty p { margin: 0; color: var(--muted); }
.pool-page-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; margin-bottom: 16px; padding: 28px; border-radius: 20px; color: white; background: linear-gradient(125deg, #174e32, #397e43 56%, #89ad46); box-shadow: var(--shadow); }.pool-page-hero h2 { margin: 3px 0 5px; color: white; font: 800 1.9rem/1.1 Georgia, serif; }.pool-page-hero p:not(.eyebrow) { margin: 0; color: #e7f5d9; }.pool-page-share { min-width: 220px; display: grid; justify-items: end; gap: 3px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.34); border-radius: 15px; background: rgba(9,51,29,.25); }.pool-page-share small, .pool-page-share span { color: #e8f6d9; }.pool-page-share strong { font: 800 2.15rem/1 Georgia, serif; }
.pool-rules { display: grid; grid-template-columns: minmax(250px,.8fr) minmax(0,1.2fr); gap: 24px; align-items: center; margin-top: 16px; padding: 20px 22px; }.pool-rules > div { display: flex; align-items: center; gap: 12px; }.pool-rules > div > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: white; background: var(--forest-700); font-weight: 900; }.pool-rules p { display: grid; gap: 3px; margin: 0; }.pool-rules p small { color: var(--muted); line-height: 1.45; }.pool-rules ul { display: grid; gap: 7px; margin: 0; padding-left: 20px; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.pool-history { margin-top: 16px; }.pool-history .panel-heading p:not(.eyebrow) { margin: 5px 0 0; color: var(--muted); }.pool-history-list { display: grid; gap: 8px; margin-top: 18px; }.pool-history-row { display: grid; grid-template-columns: 44px minmax(0,1fr) minmax(90px,auto) auto; align-items: center; gap: 13px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }.pool-history-weather { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #eef4e9; font-size: 1.3rem; }.pool-history-row > span { display: grid; gap: 2px; }.pool-history-row small { color: var(--muted); }.pool-history-row > span:nth-child(3) { justify-items: end; }.pool-history-row em { padding: 6px 9px; border-radius: 999px; color: #77601d; background: #fff3c9; font-size: .67rem; font-style: normal; font-weight: 850; }.pool-history-row em.paid { color: #236038; background: #ddf0de; }.pool-history-row em.needs-review { color: #8a382d; background: #f9ded9; }
.withdraw-hero { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 28px; margin-bottom: 18px; padding: 28px; border-radius: 20px; color: white; background: linear-gradient(125deg, #183f31, #29654a 58%, #4d9160); box-shadow: var(--shadow); }.withdraw-hero h2 { margin: 2px 0 7px; color: white; font: 800 1.8rem/1.12 Georgia, serif; }.withdraw-hero p:not(.eyebrow) { max-width: 720px; margin: 0; color: #d8ebde; }.withdraw-hero > div:last-child { min-width: 205px; display: grid; justify-items: end; gap: 2px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.3); border-radius: 14px; background: rgba(12,45,29,.26); }.withdraw-hero > div:last-child small,.withdraw-hero > div:last-child span { color: #d8ebde; }.withdraw-hero > div:last-child strong { font: 800 1.8rem Georgia, serif; }
.withdraw-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }.withdrawal-method { display: grid; align-content: start; gap: 13px; padding: 21px; }.withdrawal-method.featured { border-color: #8ebb7d; background: linear-gradient(180deg,#fffef8,#f0f7eb); }.withdraw-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: #17452e; background: #dcefd3; font-size: 1.25rem; font-weight: 900; }.withdrawal-method h3 { margin: 0 0 5px; color: var(--forest-900); font-size: 1.08rem; }.withdrawal-method p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }.withdrawal-method .provider-status { align-self: end; }.withdrawal-method .wide-button { align-self: end; text-align: center; text-decoration: none; }.withdrawal-method button:disabled { cursor: not-allowed; opacity: .55; }.withdrawal-safety { display: grid; grid-template-columns: 48px minmax(0,1fr); align-items: center; gap: 14px; margin-top: 16px; padding: 20px 22px; }.withdrawal-safety > span { font-size: 1.8rem; }.withdrawal-safety h3 { margin: 0 0 3px; }.withdrawal-safety p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.withdraw-method-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-bottom: 16px; }.withdraw-method-choice { min-width: 0; display: grid; grid-template-columns: 48px minmax(0,1fr); grid-template-rows: auto auto auto; gap: 10px 13px; padding: 18px; border: 1px solid #cad8c7; border-radius: 16px; color: inherit; background: #fff; box-shadow: 0 7px 20px rgba(28,54,36,.05); cursor: pointer; font: inherit; text-align: left; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }.withdraw-method-choice:hover { border-color: #83aa7b; box-shadow: 0 10px 25px rgba(28,74,43,.1); transform: translateY(-1px); }.withdraw-method-choice:focus-visible { outline: 3px solid rgba(65,135,76,.23); outline-offset: 2px; }.withdraw-method-choice.active { border-color: #3c8050; background: linear-gradient(145deg,#fbfef9,#edf7e9); box-shadow: 0 0 0 2px rgba(60,128,80,.12),0 10px 25px rgba(28,74,43,.09); }.withdraw-method-choice .withdraw-icon { grid-row: 1 / span 2; }.withdraw-method-copy { min-width: 0; display: grid; gap: 3px; }.withdraw-method-copy small { color: #4c815f; font-size: .63rem; font-weight: 900; letter-spacing: .08em; }.withdraw-method-copy strong { color: var(--forest-900); font-size: 1rem; }.withdraw-method-copy > span { color: var(--muted); font-size: .72rem; line-height: 1.42; }.withdraw-method-choice .provider-status { grid-column: 2; }.withdraw-method-action { grid-column: 2; grid-row: 3; align-self: center; justify-self: end; color: #2f7848; font-size: .7rem; font-weight: 900; }.withdraw-method-choice.active .withdraw-method-action { color: #17452e; }.payout-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,.75fr); gap: 16px; align-items: start; }.payout-method-panel { min-width: 0; padding: 24px; }.payout-method-panel.featured { border-color: #8ebb7d; background: linear-gradient(180deg,#fffef8,#f5faef); }.payout-card-heading { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 14px; align-items: start; }.payout-card-heading h2 { margin: 1px 0 5px; font: 800 1.45rem Georgia,serif; color: var(--forest-900); }.payout-card-heading p:not(.eyebrow) { max-width: 650px; margin: 0; color: var(--muted); line-height: 1.5; }.provider-status { display: inline-flex; width: fit-content; padding: 7px 10px; border-radius: 999px; color: #765d18; background: #fff0bf; font-size: .7rem; font-weight: 850; white-space: nowrap; }.provider-status.live { color: #24613b; background: #def0df; }
.payout-form { display: grid; gap: 14px; margin-top: 22px; padding-top: 21px; border-top: 1px solid var(--line); }.payout-form-grid { display: grid; grid-template-columns: minmax(130px,.34fr) minmax(240px,1fr); gap: 12px; }.payout-form label { display: grid; gap: 6px; color: #345342; font-size: .75rem; font-weight: 800; }.payout-form input,.payout-form select { width: 100%; min-height: 45px; box-sizing: border-box; padding: 10px 12px; border: 1px solid #ccd8c8; border-radius: 10px; color: #183e2b; background: #fff; font: inherit; }.payout-form input:focus,.payout-form select:focus { outline: 3px solid rgba(66,134,75,.16); border-color: #55905b; }.payout-form input:disabled,.payout-form select:disabled { color: #7f8b82; background: #eff2ed; }.payout-toggle { grid-template-columns: auto minmax(0,1fr); align-items: start; padding: 13px; border: 1px solid #d6e1d2; border-radius: 11px; background: #f5f9f2; cursor: pointer; }.payout-toggle input { width: 18px; min-height: 18px; margin-top: 2px; }.payout-toggle > span { display: grid; gap: 3px; }.payout-toggle small { color: var(--muted); font-weight: 500; }.payout-form .form-message { margin: -5px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.payout-manual { grid-template-columns: minmax(0,1fr) minmax(150px,.35fr) auto; align-items: end; }.payout-manual h3 { margin: 1px 0 4px; }.payout-manual p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.45; }.payout-manual .form-message { grid-column: 1 / -1; }.payout-details { padding: 22px; }.payout-details h3 { margin: 2px 0 13px; }.payout-details ul { display: grid; gap: 10px; margin: 0; padding-left: 19px; color: var(--muted); font-size: .78rem; line-height: 1.5; }.payout-supported { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }.payout-supported span { padding: 6px 8px; border-radius: 8px; color: #26583a; background: #e4f1df; font-size: .68rem; font-weight: 900; }.payout-note { margin: 18px 0 0; padding-top: 15px; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; line-height: 1.5; }
.payout-history { margin-top: 16px; padding: 22px; }.payout-history .panel-heading p:not(.eyebrow) { margin: 5px 0 0; color: var(--muted); }.payout-history-list { display: grid; gap: 8px; }.payout-history-row { display: grid; grid-template-columns: 48px minmax(0,1fr) minmax(145px,auto) auto; gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }.payout-history-row > span { display: grid; gap: 2px; }.payout-history-row > span:nth-child(3) { justify-items: end; }.payout-history-row small { color: var(--muted); }.payout-coin { display: grid!important; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: #1f5938; background: #e4f1df; font-size: .68rem; font-weight: 950; }.payout-status { padding: 6px 9px; border-radius: 999px; color: #735e25; background: #fff0c4; font-size: .67rem; font-style: normal; font-weight: 850; }.payout-status.paid { color: #24613b; background: #dcf0df; }.payout-status.failed { color: #893a31; background: #f7ded9; }.payout-status.retry { color: #744f16; background: #f8e6bc; }.payout-empty { min-height: 180px; }
.linked-wallet-summary{display:grid;gap:3px;margin-top:20px;padding:13px;border:1px solid #d6e1d2;border-radius:11px;background:#f5f9f2}.linked-wallet-summary small{color:var(--muted)}.linked-wallet-summary a{margin-top:5px;color:#287447;font-size:.74rem;font-weight:800;text-decoration:none}.payout-status.pending_review{color:#765b17;background:#fff0bf}.payout-status.rejected{color:#893a31;background:#f7ded9}

.mission-hero { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; margin-bottom: 16px; padding: 24px; border-radius: 18px; color: white; background: linear-gradient(120deg, #1c4f38, #2f7950 58%, #55a965); box-shadow: var(--shadow); }
.mission-hero h2 { font-size: 1.55rem; }.mission-hero p:not(.eyebrow) { max-width: 760px; margin: 5px 0 0; color: #dbf1df; line-height: 1.5; }.mission-hero .eyebrow { color: #d8f0dd; }.mission-hero .secondary-button { border-color: rgba(255,255,255,.72); color: #173f2b; background: #fff; text-decoration: none; white-space: nowrap; }
.mission-panel + .mission-panel { margin-top: 16px; }
.mission-reset { padding: 7px 10px; border-radius: 999px; color: #356344; background: #e4f0df; font-size: .72rem; font-weight: 850; white-space: nowrap; }
.mission-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.mission-card { min-width: 0; display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 11px 12px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 7px 20px rgba(28,54,36,.04); }
.mission-card.ready { border-color: #cba536; background: #fffaf0; box-shadow: 0 0 0 2px rgba(217,169,46,.12); }.mission-card.claimed { border-color: #bdd4b4; background: #f2f8ef; }
.mission-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: #e8f2e3; font-size: 1.45rem; }.mission-card.ready .mission-icon { background: #faedb8; }.mission-card.claimed .mission-icon { background: #d9ead3; }
.mission-copy { min-width: 0; }.mission-copy > span { color: #4f7b5d; font-size: .62rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }.mission-copy h3 { margin-top: 2px; font-size: .96rem; }.mission-copy p { margin-top: 4px; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.mission-xp { padding: 5px 7px; border-radius: 8px; color: #654579; background: #f0e5f5; font-size: .72rem; white-space: nowrap; }.reward-with-art { display: inline-flex; align-items: center; gap: 5px; }.reward-with-art .item-art { width: 28px; height: 28px; }
.mission-progress { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; color: var(--muted); font-size: .68rem; font-weight: 750; }.mission-progress progress { width: 100%; height: 10px; border: 0; border-radius: 999px; background: #e3e8df; overflow: hidden; appearance: none; }.mission-progress progress::-webkit-progress-bar { border-radius: inherit; background: #e3e8df; }.mission-progress progress::-webkit-progress-value { border-radius: inherit; background: linear-gradient(90deg, #4c9a59, #d5aa32); }.mission-progress progress::-moz-progress-bar { border-radius: inherit; background: linear-gradient(90deg, #4c9a59, #d5aa32); }
.mission-card > button { grid-column: 1 / -1; min-height: 40px; border: 1px solid var(--forest-700); border-radius: 9px; color: white; background: var(--forest-700); cursor: pointer; font: inherit; font-size: .76rem; font-weight: 850; }.mission-card > button:hover:not(:disabled) { background: var(--forest-900); }.mission-card > button:disabled { border-color: #d9ddd3; color: #7b857d; background: #eef1eb; cursor: default; }.mission-card.claimed > button:disabled { border-color: #bcd5b3; color: #3f704f; background: #e3f0de; }

/* Dedicated pages prioritize comfortable reading over dashboard density. */
.page-main small { font-size: .74rem; line-height: 1.45; }
.page-main .eyebrow { font-size: .76rem; }
.page-main .subtle { font-size: .96rem; }
.page-main .panel-heading { margin-bottom: 21px; }
.page-main .order-copy strong,
.page-main .collection-seed-copy strong,
.page-main .activity-card strong,
.page-main .league-division-copy strong { font-size: .88rem; }
.page-main .order-copy span,
.page-main .collection-seed-copy small,
.page-main .activity-card p,
.page-main .league-division-copy small { font-size: .76rem; line-height: 1.5; }
.page-main .league-bonus { font-size: .8rem; }
.page-main .seed-stat { font-size: .7rem; }
.page-main .seed-stat strong { font-size: .78rem; }
body[data-page="seeds"] .page-collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.seed-mastery { grid-column: 1 / -1; display: grid; gap: 7px; margin-top: 4px; padding: 10px; border: 1px solid #e4d9af; border-radius: 9px; background: #fbf7e8; }
.seed-mastery-heading, .seed-mastery-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.seed-mastery-heading strong { color: #5c4712; font-size: .8rem; white-space: nowrap; }
.seed-mastery-heading span { color: #876215; font-size: .68rem; font-weight: 800; text-align: right; }
.seed-mastery-track { width: 100%; height: 9px; border: 0; border-radius: 999px; background: #e2dcc5; box-shadow: inset 0 1px 2px rgba(61,48,17,.12); overflow: hidden; appearance: none; }
.seed-mastery-track::-webkit-progress-bar { border-radius: inherit; background: #e2dcc5; }
.seed-mastery-track::-webkit-progress-value { border-radius: inherit; background: linear-gradient(90deg, #d9a92e, var(--gold)); }
.seed-mastery-track::-moz-progress-bar { border-radius: inherit; background: linear-gradient(90deg, #d9a92e, var(--gold)); }
.seed-mastery-meta { color: var(--muted); font-size: .66rem; }
.seed-mastery-meta span:last-child { color: #876215; font-weight: 750; text-align: right; }
.page-main .acquisition-badge,
.page-main .provider-status,
.page-main .premium-lock { font-size: .7rem; }
.page-main .secondary-button,
.page-main .wide-button,
.page-main .text-button { min-height: 40px; font-size: .8rem; }
.page-main input,
.page-main select { min-height: 42px; font-size: .88rem; }
.page-main .page-stat-grid article { padding: 18px; }
.page-main .page-panel { padding: 24px; }

.survey-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 20px 0 15px; padding: 23px 25px; border: 1px solid #c9d9c3; border-radius: 17px; background: linear-gradient(120deg, #f8fbf5, #edf5e8); box-shadow: 0 8px 22px rgba(28,54,36,.045); }
.survey-toolbar h2 { margin: 3px 0 5px; color: var(--forest-900); font-size: 1.35rem; }
.survey-toolbar p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.survey-toolbar button { flex: 0 0 auto; }
.survey-provider-status { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.survey-provider-status span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid #d4dfcf; border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.72); font-size: .68rem; }
.survey-provider-status span::before { width: 7px; height: 7px; border-radius: 50%; background: #9aa594; content: ""; }
.survey-provider-status span.live::before { background: #3a9a59; box-shadow: 0 0 0 3px rgba(58,154,89,.13); }
.survey-provider-status span.unavailable::before { background: #c58a35; }
.survey-provider-status span.setup::before { background: #8c98a7; }
.survey-provider-status strong { color: var(--forest-800); }
.survey-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.survey-card { min-width: 0; display: grid; align-content: start; gap: 17px; padding: 22px; }
.survey-card.featured { border-color: #d2af46; background: linear-gradient(155deg, #fffdf5, #f2f8ed); box-shadow: 0 10px 28px rgba(89,69,17,.09); }
.survey-card-top { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; gap: 13px; }
.survey-provider-mark { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; color: white; background: linear-gradient(145deg, #22583b, #41945a); box-shadow: 0 7px 16px rgba(29,83,50,.18); font-size: .8rem; font-weight: 950; letter-spacing: .04em; }
.survey-card h3 { margin: 3px 0 0; color: var(--forest-900); font-size: 1.08rem; }
.survey-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.survey-metrics > span { min-width: 0; display: grid; gap: 4px; padding: 12px; border-radius: 11px; background: #f1f5ee; }
.survey-metrics small { color: var(--muted); font-size: .68rem; }
.survey-metrics strong { overflow-wrap: anywhere; color: var(--forest-800); font-size: .84rem; }
.survey-badges { display: flex; flex-wrap: wrap; gap: 7px; }
.survey-badges span { padding: 6px 9px; border-radius: 999px; color: #52622c; background: #f3ebc6; font-size: .68rem; font-weight: 850; }
.survey-card .wide-button { display: inline-flex; align-items: center; justify-content: center; margin: 0; text-decoration: none; }
.survey-provider-note { color: var(--muted); text-align: center; }
.survey-disclosure { display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 14px; margin-top: 16px; padding: 19px 22px; }
.survey-disclosure > span { font-size: 1.8rem; }
.survey-disclosure h3 { margin: 0 0 4px; color: var(--forest-900); font-size: .95rem; }
.survey-disclosure p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.survey-refresh-warning { margin: 0 0 14px; padding: 11px 14px; border: 1px solid #e5c97b; border-radius: 10px; color: #74581b; background: #fff8df; font-size: .78rem; }
.earning-empty.compact { min-height: 240px; }
.survey-signin .wide-button { width: min(260px, 100%); text-align: center; text-decoration: none; }

.account-hero { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; padding: 30px; border: 1px solid rgba(255,255,255,.24); border-radius: 18px; color: white; background: linear-gradient(135deg, #174f32, #277246 65%, #94711d); box-shadow: var(--shadow); }
.account-hero > div { display: flex; align-items: center; gap: 20px; }.account-hero h2 { margin: 4px 0 8px; font-size: clamp(1.35rem, 2.7vw, 2rem); }.account-hero p { max-width: 730px; margin: 0; color: #e1efe5; line-height: 1.55; }.account-hero .eyebrow { color: #e8cf80; }
.account-hero-icon { flex: 0 0 auto; display: grid; place-items: center; width: 74px; height: 74px; border: 2px solid rgba(255,255,255,.55); border-radius: 20px; color: #173f2b; background: #f3d66e; box-shadow: 0 10px 25px rgba(0,0,0,.18); font-size: 1.3rem; font-weight: 950; }.account-hero.connected .account-hero-icon { color: white; background: #4e9c58; }
.farm-account-gate { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 20px; margin-bottom: 18px; padding: 22px 24px; border-color: #d9c47d; background: linear-gradient(120deg,#fffdf5,#f4f8ed); }
.farm-account-gate > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 15px; background: #e2efd8; font-size: 1.6rem; }
.farm-account-gate h2 { margin: 2px 0 5px; color: var(--forest-900); font-size: 1.2rem; }.farm-account-gate p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.5; }.farm-account-gate > div:last-child { display: flex; align-items: center; gap: 9px; }.farm-account-gate a { text-align: center; text-decoration: none; white-space: nowrap; }
.farm-account-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 16px; }
.farm-account-card { display: grid; align-content: start; gap: 17px; padding: 24px; }.farm-account-card h2,.farm-account-card h3 { margin: 2px 0 4px; color: var(--forest-900); }.farm-account-card > p { margin: 0; }.account-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }.account-card-heading p:not(.eyebrow) { margin: 4px 0 0; color: var(--muted); }
.secure-badge { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: #28643e; background: #e0f0dc; font-size: .65rem; font-weight: 900; letter-spacing: .06em; }
.settings-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 11px; }.settings-form.stacked { grid-template-columns: 1fr; }.settings-form label { display: grid; gap: 6px; color: #395545; font-size: .75rem; font-weight: 800; }.settings-form input { width: 100%; min-height: 45px; padding: 10px 12px; border: 1px solid #bfd0bd; border-radius: 10px; color: var(--ink); background: white; font: inherit; font-size: .85rem; outline: none; }.settings-form input:focus { border-color: #4f8a5a; box-shadow: 0 0 0 3px rgba(79,138,90,.14); }.settings-form button { min-height: 45px; }
.account-session-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }.account-session-actions a { text-decoration: none; text-align: center; }.danger-link,.text-action { border: 0; color: #99453b; background: transparent; cursor: pointer; font: inherit; font-size: .76rem; font-weight: 850; }.danger-link:hover,.text-action:hover { text-decoration: underline; }.text-action { justify-self: start; color: var(--forest-700); padding: 0; }.settings-message,.account-muted { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.active-sessions-card { display: grid; grid-template-columns: minmax(190px,.38fr) minmax(0,1fr); gap: 28px; padding: 24px; }.active-sessions-card h3 { margin: 3px 0 0; color: var(--forest-900); }.account-session-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 11px 0; border-bottom: 1px solid var(--line); }.account-session-row:first-child { padding-top: 0; }.account-session-row:last-child { padding-bottom: 0; border-bottom: 0; }.account-session-row > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: #edf4e8; }.account-session-row > div { min-width: 0; display: grid; gap: 3px; }.account-session-row strong { color: var(--forest-900); font-size: .8rem; }.account-session-row small { overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }.account-session-row em { padding: 5px 7px; border-radius: 999px; color: #28643e; background: #e0f0dc; font-size: .6rem; font-style: normal; font-weight: 900; }.account-session-row button { border: 0; color: #99453b; background: transparent; cursor: pointer; font: inherit; font-size: .7rem; font-weight: 850; }
.account-recovery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 15px 0; }.account-recovery-grid code { display: block; padding: 9px; border: 1px solid #d3ddce; border-radius: 8px; color: #244832; background: #f4f8f0; font-size: .8rem; text-align: center; user-select: all; }
.account-state-badge { padding: 8px 12px; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; color: white; background: rgba(255,255,255,.12); font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.account-link-layout, .account-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(290px, .8fr); gap: 20px; margin-bottom: 20px; }.account-link-layout > .panel, .account-grid > .panel { padding: 25px; }
.account-link-steps h3, .account-benefits h3, .account-status-card h3 { margin: 5px 0 20px; font-size: 1.2rem; }.account-link-steps ol { display: grid; gap: 20px; margin: 0; padding: 0; list-style: none; }.account-link-steps li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; }.account-link-steps li > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: white; background: var(--forest-700); font-weight: 900; }.account-link-steps li strong { font-size: .96rem; }.account-link-steps li p, .account-muted { margin: 5px 0 12px; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.account-external-link { display: inline-flex; align-items: center; justify-content: center; width: fit-content; text-decoration: none; }.account-code-form { display: grid; gap: 7px; margin-top: 12px; }.account-code-form label { color: var(--forest-900); font-size: .76rem; font-weight: 850; }.account-code-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }.account-code-form input { width: 100%; padding: 10px 12px; border: 1px solid #b8c8b8; border-radius: 9px; color: var(--ink); background: white; font: inherit; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.account-code-form .wide-button { width: auto; margin: 0; }.form-message { min-height: 20px; margin: 0; color: #a24836; font-size: .75rem; font-weight: 700; }
.account-benefit-list { display: grid; gap: 10px; }.account-benefit-list > div { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 11px; padding: 12px; border: 1px solid #dde7d9; border-radius: 12px; background: #f7faf4; }.account-benefit-list > div > span { font-size: 1.55rem; }.account-benefit-list p { display: grid; gap: 3px; margin: 0; }.account-benefit-list strong { font-size: .86rem; }.account-benefit-list small { color: var(--muted); }.account-capacity-readout { display: block; margin-top: 14px; color: #31683f; font-size: .8rem; }
.account-status-card dl { display: grid; gap: 2px; margin: 0 0 20px; }.account-status-card dl div { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--line); }.account-status-card dt { color: var(--muted); }.account-status-card dd { margin: 0; color: var(--forest-900); font-weight: 800; text-align: right; }
.account-safety { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 13px; align-items: center; margin-bottom: 12px; padding: 18px 22px; }.account-safety > span { font-size: 1.8rem; }.account-safety h3 { margin: 0 0 3px; font-size: .94rem; }.account-safety p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }.account-prealpha-note { margin: 0; padding: 12px 15px; border: 1px solid #ead79a; border-radius: 10px; color: #735b19; background: #fff9e5; font-size: .75rem; line-height: 1.5; }

.referral-hero { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 28px; margin-bottom: 16px; padding: 29px; border-radius: 20px; color: white; background: radial-gradient(circle at 85% 25%, rgba(247,210,101,.28), transparent 16rem), linear-gradient(125deg,#163e2b,#267347 62%,#8c7021); box-shadow: var(--shadow); }.referral-hero h2 { margin: 4px 0 8px; color: white; font: 800 clamp(1.55rem,3vw,2.2rem)/1.08 Georgia,serif; }.referral-hero p:not(.eyebrow) { max-width: 760px; margin: 0; color: #e3f1e4; line-height: 1.55; }.referral-rate { min-width: 180px; display: grid; justify-items: end; gap: 3px; padding: 17px 19px; border: 1px solid rgba(255,255,255,.36); border-radius: 16px; background: rgba(10,48,29,.27); }.referral-rate strong { color: #f5d76c; font: 900 2.7rem/1 Georgia,serif; }.referral-rate span { color: #eef5e7; font-size: .72rem; font-weight: 800; }
.referral-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }.referral-link-panel { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr); align-items: start; gap: 22px; margin-bottom: 16px; padding: 23px; }.referral-link-panel h3 { margin: 3px 0 5px; color: var(--forest-900); }.referral-link-panel p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .78rem; }.referral-link-options { display: grid; gap: 12px; }.referral-link-option { display: grid; gap: 7px; padding: 12px; border: 1px solid #d7e3d4; border-radius: 12px; background: #fbfcf8; }.referral-link-option > span { display: grid; gap: 2px; }.referral-link-option > span strong { color: var(--forest-900); }.referral-link-option > span small { color: var(--muted); }.referral-link-box { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px; }.referral-link-box input { min-width: 0; padding: 12px 13px; border: 1px solid #b9cbb8; border-radius: 10px; color: #294b37; background: #f8faf6; font: 750 .78rem/1.2 inherit; }.referral-link-box .wide-button { width: auto; margin: 0; white-space: nowrap; }.referred-by { grid-column: 2; color: var(--muted); }
.referral-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }.referral-list-panel { min-width: 0; padding: 23px; }.referral-list-panel .panel-heading > span { padding: 6px 9px; border-radius: 999px; color: #2b633e; background: #e2f0de; font-size: .68rem; font-weight: 850; }.referral-person-list,.referral-reward-list { display: grid; }.referral-person-row,.referral-reward-row { min-width: 0; display: grid; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--line); }.referral-person-row:last-child,.referral-reward-row:last-child { border-bottom: 0; }.referral-person-row { grid-template-columns: 40px minmax(0,1fr) auto; }.referral-person-row .avatar { width: 40px; height: 40px; }.referral-person-row > div,.referral-person-row > span:last-child,.referral-reward-row > div { min-width: 0; display: grid; gap: 2px; }.referral-person-row > span:last-child { justify-items: end; text-align: right; }.referral-person-row strong,.referral-reward-row strong { overflow: hidden; color: var(--forest-900); font-size: .8rem; text-overflow: ellipsis; white-space: nowrap; }.referral-person-row small,.referral-reward-row small,.referral-reward-row time { color: var(--muted); font-size: .66rem; }.referral-reward-row { grid-template-columns: 38px minmax(0,1fr) auto; }.referral-reward-row > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #fff1c1; }.referral-reward-row time { white-space: nowrap; }.referral-empty { min-height: 220px; display: grid; place-items: center; align-content: center; gap: 6px; color: var(--muted); text-align: center; }.referral-empty.compact { min-height: 160px; }.referral-empty > span { font-size: 2.2rem; }.referral-empty strong { color: var(--forest-900); }.referral-empty p { max-width: 360px; margin: 0; font-size: .75rem; line-height: 1.5; }.referral-rules { display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: 14px; margin-top: 16px; padding: 19px 22px; }.referral-rules > span { font-size: 1.8rem; }.referral-rules h3 { margin: 0 0 4px; }.referral-rules p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }.referral-signin { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 30px; text-align: center; }.referral-signin > span { font-size: 2.5rem; }.referral-signin p { max-width: 500px; margin: 0; color: var(--muted); }.referral-signin .wide-button { width: min(260px,100%); text-decoration: none; }

.toast { position: fixed; left: 50%; bottom: 24px; z-index: 10; max-width: calc(100vw - 30px); padding: 11px 16px; border-radius: 10px; color: white; background: #173f2b; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translate(-50%, 15px); transition: .2s ease; font-size: .78rem; font-weight: 700; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1050px) {
  .content-grid { grid-template-columns: 1fr; }
  .right-column { grid-template-columns: 1fr 1fr; }
  .pool-card { grid-template-columns: 1.3fr repeat(2, .6fr) auto; }
  .pool-stat:nth-of-type(3) { display: none; }
  .progression-grid { grid-template-columns: 1fr 1fr; }
  .collection-grid, .page-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection-rarity-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.collection-milestone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="seeds"] .page-collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-order-list { grid-template-columns: 1fr; }.page-stat-grid { grid-template-columns: 1fr 1fr; }
  .mission-grid { grid-template-columns: 1fr; }
  .pass-xp-sources { grid-template-columns: 1fr 1fr; }
  .farm-xp-sources { grid-template-columns: 1fr; }
  .community-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.community-visit-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .leaderboard-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .withdraw-grid { grid-template-columns: 1fr; }
  .withdraw-method-picker { grid-template-columns: 1fr; }.withdraw-method-choice { grid-template-columns: 48px minmax(0,1fr) auto; }.withdraw-method-choice .provider-status { grid-column: 2; }.withdraw-method-action { grid-column: 3; grid-row: 1 / span 2; }.payout-layout { grid-template-columns: 1fr; }.payout-manual { grid-template-columns: 1fr 1fr; }.payout-manual > div { grid-column: 1 / -1; }
  .pass-seed-showcase { grid-template-columns: 1fr; }
  .survey-grid { grid-template-columns: 1fr; }
  .shortlink-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .referral-columns { grid-template-columns: 1fr; }
  .premium-hero { grid-template-columns: minmax(0,1fr) 270px; }
  .premium-pass-showcase { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (min-width: 761px) and (max-width: 1050px) {
  .farm3d-controls { top: 12px; right: 12px; bottom: auto; }
  .farm3d-selection { left: 14px; right: 14px; bottom: 14px; width: auto; max-height: min(52%,390px); overflow-y: auto; overscroll-behavior: contain; }
}

@media (max-width: 760px) {
  html { font-size: 17px; }
  body { min-width: 0; }
  .app-shell { display: block; }
  .topbar { height: 60px; padding: 0 12px; position: relative; z-index: 2; }
  .brand { gap: 8px; font-size: 1.08rem; }.brand-mark { width: 38px; height: 38px; flex-basis: 38px; }
  .topbar-actions { gap: 5px; }
  .wallet-pill, .level-pill { min-height: 42px; padding: 6px 9px; font-size: .76rem; }
  .level-pill > span:nth-child(2) { display: none; }
  .status-pill, .account-copy { display: none; }
  .account-button { width: 42px; height: 42px; justify-content: center; }.avatar { width: 36px; height: 36px; }
  .sidebar { position: fixed; z-index: 30; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); display: block; width: auto; padding: 0; background: transparent; box-shadow: none; }
  .sidebar > nav { display: none; }
  .mobile-menu-trigger { width: 56px; height: 56px; display: grid; align-content: center; justify-items: center; gap: 5px; padding: 0; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; color: white; background: rgba(17,61,40,.97); box-shadow: 0 8px 24px rgba(4,25,14,.3); backdrop-filter: blur(12px); cursor: pointer; }
  .mobile-menu-trigger span { width: 25px; height: 3px; display: block; border-radius: 4px; background: currentColor; }
  .mobile-menu-trigger[aria-expanded="true"] { background: var(--leaf-700); }
  .nav-count, .sidebar-foot { display: none; }
  body.mobile-menu-open, body.farm-focus-mode { overflow: hidden; }
  .mobile-menu { position: fixed; z-index: 55; inset: 0; display: grid; align-items: end; }
  .mobile-menu-backdrop { position: absolute; inset: 0; border: 0; background: rgba(6,24,15,.66); backdrop-filter: blur(3px); }
  .mobile-menu-sheet { position: relative; max-height: min(72dvh, 640px); overflow: auto; padding: 18px 14px calc(18px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; background: #fbfaf2; box-shadow: 0 -20px 60px rgba(0,0,0,.32); }
  .mobile-menu-heading { position: sticky; z-index: 2; top: -18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -18px -14px 14px; padding: 17px 16px 13px; border-bottom: 1px solid var(--line); background: rgba(251,250,242,.96); backdrop-filter: blur(12px); }
  .mobile-menu-heading > div { display: grid; gap: 1px; }.mobile-menu-heading small { color: var(--forest-700); font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }.mobile-menu-heading strong { font: 800 1.08rem/1.2 Georgia, serif; }
  .mobile-menu-close { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; color: var(--forest-800); background: white; cursor: pointer; font-size: 1.45rem; }
  .mobile-menu-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .mobile-menu-link { min-width: 0; min-height: 54px; display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid #dce4d7; border-radius: 13px; color: var(--forest-900); background: white; text-decoration: none; font-size: .77rem; font-weight: 750; }
  .mobile-menu-link > span:first-child { display: grid; place-items: center; }.mobile-menu-link .ui-art-icon { width: 28px; height: 28px; }.mobile-menu-link.active { border-color: #89bb72; background: #e9f6df; box-shadow: inset 0 0 0 1px #a6cc92; }
  .main-content { padding: 14px 12px 102px; }
  .welcome-row { align-items: start; flex-direction: column; gap: 12px; margin-bottom: 14px; }.welcome-row h1 { font-size: clamp(1.72rem, 9vw, 2.22rem); }.welcome-row .subtle { display: none; }
  .weather-chip { width: 100%; min-width: 0; min-height: 52px; padding: 9px 12px; }
  .mobile-farm-launch { width: 100%; min-height: 50px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 13px; color: white; background: linear-gradient(135deg, #215f3b, #348750); box-shadow: 0 7px 18px rgba(32,94,58,.2); cursor: pointer; font-weight: 850; }
  .pool-card { grid-template-columns: 1fr 1fr; gap: 12px; padding: 15px; }
  .pool-intro { grid-column: 1 / -1; }.pool-stat { padding-left: 0; border-left: 0; }.pool-details { display: none; }
  .right-column { grid-template-columns: 1fr; }
  .panel { border-radius: 16px; }.page-panel, .page-main .page-panel { padding: 18px; }
  .farm-panel { margin-inline: -12px; padding: 13px 8px 9px; border-right: 0; border-left: 0; border-radius: 0; }
  .farm-game-frame { height: min(72svh, 650px); min-height: 570px; border-width: 4px; border-radius: 15px; }
  .farm-scene-title { top: 13px; left: 13px; padding: 7px 9px; }.farm-scene-title > span:first-child { font-size: 1.15rem; }.farm-scene-title small { display: none; }.farm-scene-title strong { font-size: .8rem; }
  .farm-scene-weather { display: none; }
  .farm3d-controls { top: 10px; right: 10px; bottom: auto; gap: 5px; }.farm3d-controls button { width: 44px; height: 44px; border-radius: 11px; }
  .farm3d-selection { left: 9px; right: 9px; bottom: calc(9px + env(safe-area-inset-bottom)); width: auto; max-height: min(52dvh,390px); overflow-y: auto; overscroll-behavior: contain; padding: 13px; gap: 9px 10px; border-radius: 18px; }.farm3d-selection small { font-size: .66rem; }.farm3d-selection strong { font-size: .94rem; }.farm3d-selection span { font-size: .72rem; }.farm3d-selection button { min-width: 112px; min-height: 46px; padding: 9px; font-size: .74rem; }.farm3d-selection .farm3d-selection-close { width: 46px; height: 46px; min-width: 46px; padding: 0; }.farm3d-selection > div:first-of-type { padding-right: 46px; }.farm3d-selection #farm-primary-action { grid-column: 1 / -1; width: 100%; }
  .farm-fertilizer-controls summary { min-height: 52px; grid-template-columns: 46px minmax(0,1fr) 14px; }.farm-fertilizer-art { width: 46px; height: 46px; }.farm-fertilizer-controls summary strong { font-size: .78rem; }.farm-fertilizer-controls summary small { font-size: .68rem; }.farm-fertilizer-body { grid-template-columns: 1fr; padding: 9px 2px 2px; }.farm-fertilizer-body select { min-height: 48px; font-size: .82rem; }.farm-fertilizer-body > button { width: 100%; min-height: 48px; }.farm-fertilizer-body > small { grid-column: 1; font-size: .66rem; }
  .farm3d-help { display: none; }
  .farm3d-unavailable .farm3d-loading { inset: 68px 10px auto; min-height: 94px; align-items: stretch; gap: 9px; padding: 11px; }.graphics-error-copy strong { font-size: .8rem; }.graphics-error-copy small { font-size: .63rem; }.graphics-retry { min-height: 48px; padding-inline: 11px; }
  .field { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 790px; padding: 145px 11px 24px; gap: 15px 12px; border-width: 3px; background-size: 100% 100%, 100% auto; }
  .plot { min-height: 198px; padding: 24px 8px 12px; border-width: 3px; border-radius: 20px 20px 14px 14px; box-shadow: 0 -5px 0 #7d9f3b, 0 -8px 0 #547829, 0 6px 0 #4b2d1c, 0 11px 16px rgba(43,31,15,.35), inset 0 5px 16px rgba(255,255,255,.08); }
  .empty-plot { min-height: 142px; }.empty-plot small { display: none; }.empty-plant-icon { width: 52px; height: 52px; font-size: 1.7rem; }
  .crop-plant { width: 76px; height: 64px; }.crop-emoji { font-size: 3.05rem; }.crop-name { font-size: .78rem; }.crop-nameplate { width: 100%; }.harvest-button { padding: 7px 8px; font-size: .64rem; }
  .panel-heading { align-items: start; }.panel-heading > .secondary-button { display: none; }
  .farm-panel .panel-heading { flex-direction: column; }
  .orders-page-panel { padding: 16px; }.order-board-heading { flex-direction: column; }.order-board-summary { justify-content: flex-start; }.order-board-notes { display: grid; gap: 7px; }.page-order { padding: 16px; }.page-order .order-earned-rewards { min-height: 0; }
  .farm-heading-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .farm-focus-button { grid-column: 1 / -1; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; }
  .farm-heading-actions .secondary-button, .farm-panel .panel-heading #customize-farm { display: inline-flex; justify-content: center; flex: 0 0 auto; }
  .farm-style-choice-grid { grid-template-columns: 1fr; }
  .seed-list { grid-template-columns: 1fr; }
  .progression-grid { grid-template-columns: 1fr; }
  .seed-toolbar { grid-template-columns: 1fr 120px; }.collection-total { grid-column: 1 / -1; padding: 0; }
  .collection-grid { grid-template-columns: 1fr; }
  .collection-rarity-grid, .collection-milestone-grid { grid-template-columns: 1fr; }
  body[data-page="seeds"] .page-collection-grid { grid-template-columns: 1fr; }
  .seed-tabs { overflow-x: auto; }.seed-tabs button { min-width: 105px; }
  .activity-grid { grid-template-columns: 1fr; }.league-overview { grid-template-columns: 1fr 1fr; }.league-metric:last-of-type { grid-column: 1 / -1; }
  .route-heading { align-items: start; flex-direction: column; }.route-heading .weather-chip { width: 100%; }.page-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }.shop-feature-grid, .page-activity-grid { grid-template-columns: 1fr; }.page-collection-grid { grid-template-columns: 1fr; }.page-toolbar { grid-template-columns: 1fr 120px; }.league-hero { grid-template-columns: 1fr; }.league-hero-bonus { text-align: left; }
  .weather-crop-grid { grid-template-columns: 1fr; }
  .pass-hero { grid-template-columns: 1fr; }.pass-season { min-width: 0; text-align: left; }.pass-xp-sources { grid-template-columns: 1fr; }.pass-seed-row { grid-template-columns: 1fr; }.pass-seed-row > span { grid-template-columns: 54px 1fr; justify-items: start; text-align: left; }.pass-seed-row .pass-showcase-art { width: 54px; height: 54px; grid-row: 1 / 3; }.pass-seed-row small { grid-column: 2; }.pass-panel .panel-heading { align-items: flex-start; flex-direction: column; }.pass-track-controls { width: 100%; justify-content: space-between; }.pass-track-controls > span { order: 2; }.pass-track-arrow:first-child { order: 1; }.pass-track-arrow:last-child { order: 3; }.pass-tier { flex-basis: min(82vw, 285px); padding: 11px; }.pass-reward { grid-template-columns: 42px minmax(0, 1fr); }.pass-lock { display: none; }
  .mission-hero { grid-template-columns: 1fr; }.mission-hero .secondary-button { width: 100%; text-align: center; }.mission-panel .panel-heading { align-items: flex-start; flex-direction: column; }.mission-reset { white-space: normal; }
  .farm-level-hero { grid-template-columns: 1fr; }.farm-level-medal { width: 92px; height: 92px; }.farm-level-grid { grid-template-columns: 1fr; }.farm-level-panel .panel-heading { align-items: flex-start; flex-direction: column; }
  .community-hero { grid-template-columns: 1fr; }.community-hero > span { display: none; }.community-grid { grid-template-columns: 1fr; }.community-directory .panel-heading, .community-visit-heading { align-items: flex-start; flex-direction: column; }.community-visit-actions { width: 100%; }.community-visit-actions button { flex: 1; }.community-farm-frame { height: 430px; }.community-visit-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leaderboard-hero { grid-template-columns: 1fr; }.leaderboard-share { min-width: 0; justify-items: start; }.leaderboard-tabs { display: flex; overflow-x: auto; }.leaderboard-tabs button { flex: 0 0 auto; min-width: 120px; }.leaderboard-heading { align-items: flex-start; flex-direction: column; }.leaderboard-entry { grid-template-columns: 42px 38px minmax(0, 1fr) auto; gap: 9px; padding: 11px; }.leaderboard-entry .avatar { width: 38px; height: 38px; }.leaderboard-score strong { font-size: .88rem; }.leaderboard-score small { max-width: 80px; }
  .pool-page-hero, .pool-rules { grid-template-columns: 1fr; }.pool-page-share { min-width: 0; justify-items: start; }.pool-history-row { grid-template-columns: 38px minmax(0,1fr) auto; }.pool-history-row > span:nth-child(3) { justify-items: start; grid-column: 2; }.pool-history-row em { grid-column: 3; grid-row: 1 / span 2; }
  .withdraw-hero { grid-template-columns: 1fr; }.withdraw-hero > div:last-child { min-width: 0; justify-items: start; }.withdrawal-safety { align-items: flex-start; }
  .withdraw-method-choice { grid-template-columns: 44px minmax(0,1fr); padding: 15px; }.withdraw-method-choice .withdraw-icon { width: 44px; height: 44px; }.withdraw-method-choice .provider-status { grid-column: 2; }.withdraw-method-action { display: none; }.payout-card-heading { grid-template-columns: 48px minmax(0,1fr); }.payout-card-heading .provider-status { grid-column: 1 / -1; }.payout-form-grid,.payout-manual { grid-template-columns: 1fr; }.payout-manual > div,.payout-manual .form-message { grid-column: auto; }.payout-history-row { grid-template-columns: 42px minmax(0,1fr) auto; }.payout-history-row > span:nth-child(3) { grid-column: 2 / -1; justify-items: start; }.payout-history-row .payout-status { grid-column: 3; grid-row: 1; }
  .account-hero { align-items: flex-start; padding: 22px; }.account-hero > div { align-items: flex-start; }.account-hero-icon { width: 58px; height: 58px; border-radius: 16px; }.account-state-badge { display: none; }.account-link-layout, .account-grid { grid-template-columns: 1fr; }.account-code-form > div { grid-template-columns: 1fr; }.account-code-form .wide-button { width: 100%; }.account-safety { align-items: flex-start; }
  .farm-account-gate { grid-template-columns: auto minmax(0,1fr); padding: 19px; }.farm-account-gate > div:last-child { grid-column: 1 / -1; width: 100%; }.farm-account-gate > div:last-child a { flex: 1; }
  .farm-account-grid { grid-template-columns: 1fr; }.active-sessions-card { grid-template-columns: 1fr; gap: 20px; }.account-recovery-grid { grid-template-columns: 1fr; }
  .survey-toolbar { align-items: stretch; flex-direction: column; padding: 20px; }.survey-toolbar button { width: 100%; }.survey-metrics { grid-template-columns: 1fr; }.survey-card { padding: 19px; }.survey-disclosure { align-items: flex-start; }
  .shortlink-toolbar { align-items: stretch; flex-direction: column; padding: 20px; }.shortlink-toolbar > span { width: fit-content; }.shortlink-grid { grid-template-columns: 1fr; }.shortlink-disclosure { align-items: flex-start; }
  .referral-hero { grid-template-columns: 1fr; }.referral-rate { min-width: 0; justify-items: start; }.referral-stats { grid-template-columns: 1fr 1fr; }.referral-link-panel { grid-template-columns: 1fr; }.referral-link-box { grid-template-columns: 1fr; }.referral-link-box .wide-button { width: 100%; }.referred-by { grid-column: 1; }.referral-person-row { grid-template-columns: 40px minmax(0,1fr); }.referral-person-row > span:last-child { grid-column: 2; justify-items: start; text-align: left; }.referral-rules { align-items: flex-start; }
  .premium-hero { grid-template-columns: 1fr; padding: 25px; }.premium-status-card { min-height: 0; }.premium-benefit-grid { grid-template-columns: 1fr; }.premium-comparison { padding: 18px; }.premium-comparison-table { overflow-x: auto; }.premium-comparison-row { min-width: 610px; }.premium-pass-showcase { grid-template-columns: 1fr; }.premium-activation { grid-template-columns: 1fr; }.premium-activation .premium-primary-action { width: 100%; }.auto-cropper-heading { flex-direction: column; }.auto-cropper-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.auto-cropper-metrics > span:nth-child(3) { border-left: 0; border-top: 1px solid #e7e4da; }.auto-cropper-metrics > span:nth-child(4) { border-top: 1px solid #e7e4da; }.auto-cropper-queue-row { grid-template-columns: 34px minmax(0,1fr) 34px; }.auto-cropper-queue-row > em { grid-column: 2; }.auto-cropper-queue-row > button { grid-column: 3; grid-row: 1 / span 2; }.auto-cropper-lock { grid-template-columns: 46px minmax(0,1fr); }.auto-cropper-lock .premium-primary-action { grid-column: 1 / -1; }.auto-cropper-shop { align-items: flex-start; flex-direction: column; }.farm-premium-perk-preview { grid-template-columns: 1fr 1fr; }
  .page-main .secondary-button, .page-main .wide-button, .page-main .text-button, .action-button { min-height: 46px; }
  .page-main input, .page-main select, .page-main textarea { min-height: 48px; font-size: 1rem; }
  .seed-dialog { width: 100%; max-width: none; max-height: 94dvh; margin: auto 0 0; border-radius: 24px 24px 0 0; }
  .seed-dialog .dialog-card { max-height: 94dvh; overflow-y: auto; padding: 20px 17px calc(20px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
  .close-button { width: 44px; height: 44px; flex: 0 0 44px; }
  body.farm-focus-mode .farm-panel { position: fixed; z-index: 70; inset: 0; width: 100%; height: 100dvh; margin: 0; padding: 0; display: flex; flex-direction: column; border: 0; background: #f7f3e6; }
  body.farm-focus-mode .farm-panel > .panel-heading { flex: 0 0 auto; margin: 0; padding: calc(9px + env(safe-area-inset-top)) 12px 9px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; background: #f7f3e6; }
  body.farm-focus-mode .farm-panel > .panel-heading .eyebrow, body.farm-focus-mode .farm-panel > .panel-heading .capacity-label { display: none; }
  body.farm-focus-mode .farm-panel > .panel-heading h2 { font-size: 1rem; }
  body.farm-focus-mode .farm-heading-actions { width: auto; display: block; }
  body.farm-focus-mode .farm-heading-actions > :not(.farm-focus-button) { display: none !important; }
  body.farm-focus-mode .farm-focus-button { min-height: 42px; padding: 8px 13px; }
  body.farm-focus-mode .farm-game-frame { flex: 1 1 auto; width: 100%; height: auto; min-height: 0; border: 0; border-radius: 0; }
  body.farm-focus-mode .farm3d-selection { bottom: calc(10px + env(safe-area-inset-bottom)); }
  body.farm-focus-mode .field-legend { display: none; }
}

.farm-checkpoint-dialog { width: min(520px, calc(100vw - 28px)); padding: 0; border: 0; border-radius: 26px; color: #183324; background: transparent; box-shadow: 0 28px 90px rgba(5,31,18,.42); }
.farm-checkpoint-dialog::backdrop { background: rgba(8,31,18,.84); backdrop-filter: blur(5px); }
.farm-checkpoint-card { display: grid; justify-items: center; padding: 34px 34px 30px; border: 1px solid #d4e0d3; border-radius: 26px; background: #fffdf8; text-align: center; }
.farm-checkpoint-mark { width: 72px; height: 72px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 22px; background: linear-gradient(145deg,#e8f3e4,#d5e8d1); box-shadow: inset 0 0 0 1px rgba(45,105,62,.12); }
.farm-checkpoint-mark img { width: 50px; height: 50px; object-fit: contain; }
.farm-checkpoint-card .eyebrow { margin: 0 0 7px; color: #2d7547; }
.farm-checkpoint-card h2 { margin: 0; color: #173d28; font-size: clamp(1.55rem,4vw,2rem); line-height: 1.12; }
.farm-checkpoint-card > p:not(.eyebrow):not(.farm-checkpoint-status) { max-width: 420px; margin: 15px 0 22px; color: #647168; font-size: .95rem; line-height: 1.6; }
.farm-checkpoint-widget { min-height: 70px; display: grid; place-items: center; }
#farm-hold-progress { width: 100%; height: 12px; margin: 14px 0; accent-color: #4b924c; }
#farm-hold-button { min-height: 58px; touch-action: none; user-select: none; -webkit-user-select: none; }
#farm-hold-button.release-ready { background: #92df71; color: #153b24; box-shadow: 0 0 0 4px #d9f2c9; }
.farm-checkpoint-card > small { margin-top: 14px; color: #5c6b60; line-height: 1.5; }
.farm-checkpoint-status { min-height: 22px; margin: 15px 0 0; color: #4c6354; font-size: .78rem; font-weight: 750; }

@media (max-width: 560px) {
  .farm-checkpoint-card { padding: 28px 18px 24px; }
  .farm-checkpoint-mark { width: 62px; height: 62px; border-radius: 19px; }
  .farm-checkpoint-mark img { width: 43px; height: 43px; }
  .farm-checkpoint-card > p:not(.eyebrow):not(.farm-checkpoint-status) { font-size: .88rem; }
}

@media (max-width: 440px) {
  .brand > span:last-child { display: none; }
  .page-order { grid-template-columns: 44px minmax(0, 1fr); gap: 10px 11px; padding: 14px; }.page-order .order-avatar { width: 44px; height: 44px; }.order-title-row { align-items: flex-start; flex-direction: column; gap: 5px; }.order-status-row { align-items: flex-start; flex-direction: column; gap: 4px; }.page-order .order-card-actions { grid-template-columns: 1fr 1fr; }
  .farm-account-gate { grid-template-columns: 1fr; }.farm-account-gate > span { display: none; }.farm-account-gate > div:last-child { display: grid; }.settings-form { grid-template-columns: 1fr; }.account-session-row { grid-template-columns: auto minmax(0,1fr); }.account-session-row > em,.account-session-row > button { grid-column: 2; justify-self: start; }.account-card-heading { display: grid; }.secure-badge { justify-self: start; }
  .premium-hero { padding: 21px; }.premium-hero-actions { display: grid; }.premium-benefit-card { grid-template-columns: 50px minmax(0,1fr); gap: 11px; padding: 16px; }.premium-benefit-card > span { width: 50px; height: 50px; }.premium-benefit-card > strong { grid-column: 2; justify-self: start; }.premium-status-card { padding: 19px; }.premium-expiry { align-items: flex-start; }.auto-cropper-panel { padding: 18px; }.auto-cropper-metrics { grid-template-columns: 1fr; }.auto-cropper-metrics > span { border-top: 1px solid #e7e4da; border-left: 0; }.auto-cropper-metrics > span:first-child { border-top: 0; }.auto-cropper-actions { display: grid; }.auto-cropper-actions .wide-button { width: 100%; }.auto-cropper-shop { margin: 18px -18px -18px; padding: 15px 18px; }.farm-premium-perk-preview { grid-template-columns: 1fr; }
}

@media (max-width: 390px) {
  .field { padding-left: 8px; padding-right: 8px; gap: 14px 9px; }
  .plot-number { padding: 3px 6px; font-size: .57rem; }
  .crop-progress { width: 94%; }.crop-timer { font-size: .63rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
.ui-art-icon{display:inline-block;width:1.35em;height:1.35em;flex:0 0 auto;object-fit:contain;vertical-align:-.3em}.crop-plant::after{content:"";width:24px;height:24px;color:transparent;text-shadow:none;background:url('/assets/ui-icons/level.png?v=1') center/contain no-repeat;filter:drop-shadow(0 2px 4px rgba(73,47,8,.35))}
.chat-shell { overflow: hidden; max-width: 1040px; margin: 0 auto; padding: 0; border-color: #d4e2d6; box-shadow: 0 20px 55px rgba(26,62,39,.1); }
.chat-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 23px 25px 20px; border-bottom: 1px solid #dce7de; background: linear-gradient(135deg,#f8fbf6,#eef6ed); }
.chat-header h2 { margin: 2px 0 5px; color: var(--forest-900); font-size: 1.55rem; }
.chat-header p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .82rem; }
.chat-status { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 8px 11px; border: 1px solid #d5dfd6; border-radius: 999px; color: #5f6c63; background: rgba(255,255,255,.78); font-size: .72rem; font-weight: 900; }
.chat-status i { width: 8px; height: 8px; border-radius: 50%; background: #c5aa58; box-shadow: 0 0 0 4px rgba(197,170,88,.14); }
.chat-status.connected { color: #236943; border-color: #b9d7c1; }
.chat-status.connected i { background: #36b56b; box-shadow: 0 0 0 4px rgba(54,181,107,.14); }
.chat-status.disconnected i { background: #c47a55; box-shadow: 0 0 0 4px rgba(196,122,85,.13); }
.chat-feed { height: clamp(360px, 52vh, 590px); overflow-y: auto; overscroll-behavior: contain; padding: 18px 24px; background: linear-gradient(180deg,#fbfcf9,#f5f8f3); scrollbar-color: #a9bea9 transparent; }
.chat-message { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: start; gap: 11px; padding: 10px 0; }
.chat-message + .chat-message { border-top: 1px solid rgba(208,221,210,.64); }
.chat-avatar { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: #f5fff5; background: linear-gradient(145deg,#397b50,#1b4f32); font-size: .71rem; font-weight: 950; letter-spacing: .03em; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.chat-message.admin .chat-avatar { color: #fff4bc; background: linear-gradient(145deg,#907123,#4d3b16); }
.chat-message.moderator .chat-avatar { color: #effeff; background: linear-gradient(145deg,#247f88,#174e62); }
.chat-message > div { min-width: 0; }
.chat-message header { display: flex; align-items: center; gap: 7px; min-height: 20px; }
.chat-message header strong { overflow: hidden; color: #1b3f29; font-size: .79rem; text-overflow: ellipsis; white-space: nowrap; }
.chat-message header em { padding: 3px 6px; border-radius: 999px; color: #715513; background: #fff0b8; font-size: .57rem; font-style: normal; font-weight: 950; letter-spacing: .05em; text-transform: uppercase; }
.chat-message header em.chat-mod-badge { color: #155866; background: #d9f5f3; box-shadow: inset 0 0 0 1px rgba(34,126,137,.18); }
.chat-message time { margin-left: auto; color: #879188; font-size: .66rem; white-space: nowrap; }
.chat-message header button { width: 25px; height: 25px; margin-left: 2px; border: 0; border-radius: 7px; color: #8b5850; background: transparent; font-size: 1rem; cursor: pointer; }
.chat-message header button:hover { background: #f5dfda; }
.chat-message p { margin: 3px 0 0; color: #344b3c; font-size: .84rem; line-height: 1.5; overflow-wrap: anywhere; white-space: normal; }
.chat-message-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.chat-message-actions button, .chat-report-queue button { padding: 4px 7px; border: 1px solid #d6e0d7; border-radius: 7px; color: #526158; background: #fff; font: 750 .61rem/1.2 inherit; cursor: pointer; }
.chat-message-actions button:hover, .chat-report-queue button:hover { border-color: #97b69d; color: #205f3b; background: #f0f7ef; }
.chat-message-actions button:last-child, .chat-report-queue button:last-child { color: #8b4039; }
.chat-moderation-notice { padding: 10px 16px; border-bottom: 1px solid #e6c7bd; color: #7c3027; background: #fff2ed; font-size: .72rem; font-weight: 800; line-height: 1.45; }
.chat-moderation-notice[hidden] { display: none; }
.chat-report-queue { flex: 0 0 auto; max-height: 190px; overflow: auto; border-bottom: 1px solid #e0e8e0; background: #fffaf0; }
.chat-report-queue[hidden] { display: none; }
.chat-report-queue summary { padding: 9px 16px; color: #6b4d1d; font-size: .69rem; font-weight: 900; cursor: pointer; }
.chat-report-queue summary strong { display: inline-grid; place-items: center; min-width: 19px; height: 19px; margin-left: 4px; border-radius: 999px; color: #fff; background: #a36d20; font-size: .6rem; }
.chat-report-queue article { display: grid; gap: 7px; padding: 9px 16px; border-top: 1px solid #eadfc9; }
.chat-report-queue article div { display: grid; gap: 2px; }
.chat-report-queue article strong { color: #493b23; font-size: .71rem; }
.chat-report-queue article small { color: #8a5f25; font-size: .63rem; }
.chat-report-queue article p, .chat-report-queue > div > p { margin: 0; color: #675a46; font-size: .68rem; line-height: 1.4; }
.chat-report-queue article span { display: flex; flex-wrap: wrap; gap: 5px; }
.chat-empty { min-height: 100%; display: grid; place-items: center; align-content: center; gap: 6px; color: #7a887e; text-align: center; }
.chat-empty > span { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 5px; border-radius: 18px; background: #e6efe5; font-size: 1.7rem; }
.chat-empty strong { color: #36513f; }
.chat-empty small { font-size: .73rem; }
.chat-composer { display: grid; gap: 8px; padding: 17px 24px 19px; border-top: 1px solid #dce7de; background: #fff; }
.chat-composer label { color: #516057; font-size: .72rem; }
.chat-composer label strong { color: #245d3b; }
.chat-composer textarea { width: 100%; min-height: 66px; max-height: 150px; resize: vertical; padding: 12px 14px; border: 1px solid #cfdacf; border-radius: 12px; color: #1d3124; background: #fbfcfa; font: inherit; line-height: 1.45; outline: none; }
.chat-composer textarea:focus { border-color: #4e9664; box-shadow: 0 0 0 3px rgba(78,150,100,.13); }
.chat-composer textarea:disabled { cursor: wait; opacity: .67; }
.chat-composer > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.chat-composer small { color: #7b867e; font-size: .66rem; }
.chat-composer .wide-button { width: auto; min-width: 112px; padding: 10px 20px; }
.chat-guidelines { display: flex; align-items: center; gap: 10px; padding: 12px 24px; border-top: 1px solid #e3e9e3; color: #69766d; background: #f8faf7; }
.chat-guidelines > span { flex: 0 0 auto; }
.chat-guidelines p { margin: 0; font-size: .67rem; line-height: 1.45; }
.chat-signin { min-height: 340px; display: grid; place-items: center; align-content: center; gap: 15px; padding: 38px; text-align: center; }
.chat-signin > span { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 22px; background: #e7f0e5; font-size: 2rem; }
.chat-signin h2 { margin: 5px 0 7px; color: var(--forest-900); }
.chat-signin p:not(.eyebrow) { max-width: 460px; margin: 0; color: var(--muted); }
.chat-signin .wide-button { width: auto; min-width: 150px; text-decoration: none; }

@media (max-width: 680px) {
  .chat-header { align-items: flex-start; padding: 18px 17px 16px; }
  .chat-header h2 { font-size: 1.3rem; }
  .chat-header p:not(.eyebrow) { display: none; }
  .chat-status { padding: 7px 9px; }
  .chat-feed { height: calc(100dvh - 390px); min-height: 330px; padding: 12px 15px; }
  .chat-message { grid-template-columns: 34px minmax(0,1fr); gap: 9px; padding: 9px 0; }
  .chat-avatar { width: 34px; height: 34px; border-radius: 11px; font-size: .65rem; }
  .chat-message p { font-size: .82rem; }
  .chat-composer { padding: 13px 15px 15px; }
  .chat-composer > div { align-items: flex-end; }
  .chat-composer small { max-width: 190px; line-height: 1.35; }
  .chat-composer .wide-button { min-width: 92px; }
  .chat-guidelines { padding: 10px 15px; }
}

.chat-widget { position: fixed; z-index: 45; right: 24px; bottom: 24px; }
.chat-widget-toggle { position: relative; width: 58px; height: 58px; display: grid; place-items: center; padding: 12px; border: 1px solid rgba(255,255,255,.32); border-radius: 18px; color: white; background: linear-gradient(145deg,#2e8150,#164d31); box-shadow: 0 12px 30px rgba(12,48,29,.3); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease; }
.chat-widget-toggle:hover { transform: translateY(-2px); box-shadow: 0 15px 34px rgba(12,48,29,.36); }
.chat-widget-toggle:focus-visible { outline: 3px solid rgba(107,194,113,.5); outline-offset: 3px; }
.chat-widget-toggle img { width: 34px; height: 34px; object-fit: contain; filter: drop-shadow(0 2px 2px rgba(4,29,16,.3)); }
.chat-widget.open .chat-widget-toggle { opacity: 0; pointer-events: none; }
.chat-widget-unread { position: absolute; top: -7px; right: -7px; min-width: 23px; height: 23px; display: grid; place-items: center; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; color: white; background: #c24736; font-size: .62rem; font-weight: 950; }
.chat-widget-unread[hidden] { display: none; }
.chat-widget-panel { position: fixed; right: 24px; bottom: 24px; width: min(580px, calc(100vw - 48px)); height: min(800px, calc(100dvh - 48px)); overflow: hidden; flex-direction: column; border: 1px solid #ccdbce; border-radius: 21px; background: #fff; box-shadow: 0 24px 70px rgba(12,43,26,.28); }
.chat-widget-panel[hidden] { display: none !important; }
.chat-widget-panel:not([hidden]) { display: flex; }
.chat-widget-panel .chat-header { flex: 0 0 auto; padding: 17px 18px 15px; }
.chat-widget-panel .chat-header h2 { margin: 1px 0 0; font-size: 1.2rem; }
.chat-room-tabs { display: grid; flex: 0 0 auto; grid-template-columns: 1fr 1fr; gap: 6px; padding: 8px 10px; border-bottom: 1px solid #dce7de; background: #f6f9f4; }
.chat-room-tabs button { min-height: 36px; padding: 7px 10px; border: 1px solid transparent; border-radius: 10px; color: #5d6d62; background: transparent; font: 850 .7rem/1.2 inherit; cursor: pointer; }
.chat-room-tabs button[aria-pressed="true"] { color: #f5fff7; border-color: #1f6440; background: linear-gradient(145deg,#2e8150,#195536); box-shadow: 0 5px 12px rgba(25,85,54,.18); }
.chat-room-tabs button:disabled { cursor: not-allowed; opacity: .48; }
.chat-room-tabs button:not([aria-pressed="true"]):not(:disabled):hover { color: #245d3b; border-color: #c5d8c7; background: #edf5eb; }
.chat-widget-heading-actions { display: flex; align-items: center; gap: 8px; }
.chat-widget-close { width: 38px; height: 38px; display: grid; place-items: center; padding: 0 0 2px; border: 1px solid #d4ddd4; border-radius: 12px; color: #506057; background: rgba(255,255,255,.88); font: 400 1.55rem/1 sans-serif; cursor: pointer; }
.chat-widget-close:hover { color: #244c33; background: #eef5ec; }
.chat-widget-panel [data-chat-body] { min-height: 0; display: flex; flex: 1 1 auto; flex-direction: column; }
.chat-widget-panel .chat-feed { flex: 1 1 0; height: auto; min-height: 0; padding: 13px 17px; }
.chat-widget-panel .chat-composer { flex: 0 0 auto; padding: 12px 16px 14px; }
.chat-widget-panel .chat-composer textarea { min-height: 60px; max-height: 100px; resize: none; }
.chat-widget-panel .chat-composer > div { align-items: center; }
.chat-widget-panel .chat-composer small { max-width: 190px; line-height: 1.3; }
.chat-widget-panel .chat-composer .wide-button { min-width: 82px; min-height: 42px; padding: 9px 15px; }
.chat-widget-panel .chat-guidelines { flex: 0 0 auto; padding: 9px 16px; }
.chat-widget-panel .chat-guidelines img { width: 24px; height: 24px; object-fit: contain; }
.chat-widget-panel .chat-guidelines p { font-size: .61rem; }
.chat-widget-panel .chat-empty > img { width: 54px; height: 54px; margin-bottom: 4px; padding: 10px; border-radius: 17px; background: #e6efe5; object-fit: contain; }
.chat-widget-signin { min-height: 330px; display: grid; align-content: center; justify-items: center; gap: 16px; padding: 32px 24px; text-align: center; background: linear-gradient(180deg,#fbfcf9,#f4f8f2); }
.chat-widget-signin > img { width: 66px; height: 66px; padding: 12px; border-radius: 20px; background: #e2eee1; }
.chat-widget-signin > div { display: grid; gap: 6px; }
.chat-widget-signin strong { color: var(--forest-900); font-size: 1rem; }
.chat-widget-signin p { max-width: 310px; margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.chat-widget-signin .wide-button { width: min(210px,100%); text-decoration: none; }

@media (max-width: 760px) {
  .chat-widget { right: 14px; bottom: calc(82px + env(safe-area-inset-bottom)); }
  .chat-widget-toggle { width: 56px; height: 56px; border-radius: 16px; }
  .chat-widget-panel { z-index: 1; inset: calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom)); width: auto; height: auto; border-radius: 20px; }
  .chat-widget-panel .chat-header { padding: 14px 14px 12px; }
  .chat-widget-panel .chat-header p { display: block; }
  .chat-widget-panel .chat-status { padding: 6px 8px; }
  .chat-widget-panel .chat-feed { height: auto; min-height: 0; padding: 10px 13px; }
  .chat-widget-panel .chat-composer { padding: 11px 13px 13px; }
  .chat-widget-panel .chat-composer textarea { min-height: 58px; font-size: 16px; }
  .chat-widget-panel .chat-guidelines { display: none; }
}
@media (max-height: 520px) {
  .chat-widget-panel { right: 8px; bottom: calc(8px + env(safe-area-inset-bottom)); height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .chat-widget-panel .chat-header { padding: 8px 12px; }
  .chat-widget-panel .chat-room-tabs { padding: 4px 10px; }
  .chat-widget-panel .chat-composer { gap: 5px; padding: 8px 12px; }
  .chat-widget-panel .chat-composer textarea { height: 44px; min-height: 44px; max-height: 44px; padding: 8px 12px; }
  .chat-widget-panel .chat-guidelines { display: none; }
}
.farm-graphics-setting { display: flex; gap: 8px; align-items: center; font-size: 14px; }
.farm-graphics-setting select { min-height: 44px; max-width: 180px; padding: 8px; border: 1px solid #cedac7; border-radius: 10px; background: #fffdf5; color: #254a35; font-size: 14px; }
.homestead-orchard { margin-top: 16px; }
.homestead-orchard summary { cursor: pointer; padding: 12px; font-weight: 700; }
.auto-cropper-dialog { width: min(860px, calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); border: 1px solid #d5dfcc; border-radius: 24px; background: #fffdf5; padding: 0; overflow-y: auto; overscroll-behavior: contain; color: #254a35; }
.auto-cropper-dialog::backdrop { background: #10291fbd; }
.auto-cropper-dialog-toolbar { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 16px 20px 0; }
.auto-cropper-dialog-close { width: 44px; height: 44px; border: 1px solid #d5dfcc; background: #fff; border-radius: 50%; font-size: 30px; line-height: 1; color: #254a35; cursor: pointer; flex: none; }
.auto-cropper-dialog .farm-auto-cropper-panel { margin: 0; border: 0; box-shadow: none; padding: 20px 28px 28px; }
.auto-cropper-dialog :is(button,select,a):focus-visible { outline: 3px solid #d5b958; outline-offset: 3px; }
@media(max-width:600px) { .auto-cropper-dialog { border-radius: 18px; } .auto-cropper-dialog .farm-auto-cropper-panel { padding: 16px; } .auto-cropper-dialog .auto-cropper-heading { padding-right: 0; } }
.guild-farm-visit { width:min(1100px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:24px;border:1px solid #c6d5bf;border-radius:24px;background:#fffef7;color:#244736;overflow-y:auto; }
.guild-farm-visit::backdrop { background:rgba(10,24,17,.78); }
.guild-farm-visit>header { display:flex;align-items:start;justify-content:space-between;gap:20px; }
.guild-farm-visit h2 { margin:4px 0;font-size:26px; }
.guild-farm-visit .close-button { position:static;flex-shrink:0; }
.guild-visit-notice,.guild-visit-inspection { font-size:15px;line-height:1.6; }
.guild-visit-scene { position:relative;height:min(62dvh,580px);min-height:300px;border-radius:18px;overflow:hidden;background:#81a895; }
.guild-visit-scene canvas { width:100%;height:100%;display:block;touch-action:none; }
.guild-visit-status { position:absolute;inset:30% 16px auto;text-align:center;background:#fffef7;padding:20px;border-radius:14px; }
.guild-visit-levels { display:flex;flex-wrap:wrap;gap:10px; }
.guild-visit-levels button { min-height:44px; }
@media(max-width:600px){.guild-farm-visit{padding:14px}.guild-farm-visit h2{font-size:22px}.guild-visit-scene{height:55dvh}.guild-visit-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.guild-visit-levels button{font-size:13px}}

.referral-claim-panel { display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:center;gap:24px;margin-bottom:16px;padding:26px;border-color:#bdd3b1;background:linear-gradient(110deg,#f0f6e8,#fffef8); }
.referral-claim-panel h2 { margin:4px 0 12px;color:var(--forest-900); }
.referral-pending-amount { display:block;font-size:clamp(1.7rem,4vw,2.5rem);color:var(--forest-800);overflow-wrap:anywhere; }
.referral-pending-amount small { font-size:.9rem;font-weight:700; }
.referral-claim-panel p:not(.eyebrow) { max-width:650px;margin:10px 0 0;color:var(--muted);line-height:1.6; }
.referral-claim-actions { display:grid;gap:10px; }
.referral-claim-actions button { width:100%;min-height:48px;margin:0;white-space:normal; }
.referral-claim-history { margin-top:16px; }
.tree-shop-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px; }
.tree-shop-card { display:flex;flex-direction:column;min-width:0;border:1px solid #d8e3cc;border-radius:18px;overflow:hidden;background:#fffdf6; }
.tree-shop-art { position:relative;display:grid;place-items:center;min-height:164px;padding:12px;background:linear-gradient(145deg,#eef3e7,#faf7e8); }
.tree-shop-art > img { display:block;width:144px;height:144px;object-fit:contain; }
.tree-shop-fruit { position:absolute;right:12px;bottom:10px;display:grid;place-items:center;width:46px;height:46px;border:1px solid #d9e2cd;border-radius:50%;background:#fffdf8; }
.tree-shop-fruit img { display:block;width:36px;height:36px;object-fit:contain; }
.tree-shop-copy { display:grid;gap:6px;padding:16px; }
.tree-shop-copy small { color:#648257;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase; }
.tree-shop-copy strong { color:#264d38;font-size:19px;line-height:1.25; }
.tree-shop-copy > span { color:#677c60;font-size:14px; }
.tree-shop-copy p { color:#667667;font-size:14px;line-height:1.55;margin:4px 0 0; }
.tree-shop-card > a,.tree-shop-card > button { margin:auto 16px 16px;text-align:center;white-space:normal;line-height:1.45; }
.tree-shop-card.is-cxl-tree { border-color:#c9bfde; }
.tree-shop-card.is-cxl-tree .tree-shop-art { background:linear-gradient(145deg,#f0ebf7,#fbf5e6); }
@media(max-width:700px) { .referral-claim-panel { grid-template-columns:1fr;gap:18px;padding:20px; } }
.faucet-turnstile,.farm-checkpoint-widget { min-width:0;max-width:100%; }
.recaptcha-widget { display:flex;justify-content:center;max-width:100%;min-height:78px; }
.farm-recaptcha-backdrop:not([hidden]) { position:fixed;inset:0;background:rgba(8,31,18,.84);backdrop-filter:blur(5px);z-index:999998; }
.farm-checkpoint-dialog[open] { position:fixed;inset:0;z-index:999999;max-height:calc(100dvh - 24px);overflow:auto; }
