/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[15].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Source_Sans_3","arguments":[{"display":"swap","subsets":["latin","latin-ext"],"variable":"--font-cplace-body","weight":"variable"}],"variableName":"sourceSans"} ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/_next/static/media/084282eba306c257-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/_next/static/media/1e377d93cbdd6b44-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/_next/static/media/ec1d0aa2d2fbc083-s.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/_next/static/media/f1dd23950e6cd390-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/_next/static/media/0c7826ffb3acea36-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/_next/static/media/b6a6f0b43d027304-s.p.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url(/_next/static/media/692df4da22e71021-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: 'Source Sans 3 Fallback';src: local("Arial");ascent-override: 109.21%;descent-override: 42.66%;line-gap-override: 0.00%;size-adjust: 93.76%
}.__className_6fae06 {font-family: 'Source Sans 3', 'Source Sans 3 Fallback';font-style: normal
}.__variable_6fae06 {--font-cplace-body: 'Source Sans 3', 'Source Sans 3 Fallback'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
:root {
  --font-main: var(--font-cplace-body, "Source Sans 3"), "Segoe UI", sans-serif;
  --font-pixel: var(--font-main);
  --font-code: "Cascadia Mono", "SFMono-Regular", "Consolas", "Liberation Mono", monospace;
  --cplace-retro-ink: #141414;
  --cplace-retro-ink-2: #202020;
  --cplace-retro-panel: #2a2927;
  --cplace-retro-outline: #8f877a;
  --cplace-retro-paper: #ece7dc;
  --cplace-retro-muted: #b7afa2;
  --cplace-retro-sky: #9bb7c8;
  --cplace-retro-red: #c45c50;
  --cplace-retro-gold: #d6b56d;
  --cplace-retro-mint: #a7c28f;
  --cplace-retro-blue: #5f7f9f;
  --cplace-retro-plum: #80607a;
  color-scheme: dark;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  font-family: var(--font-main);
  background: #081018;
  color: #eef4fa;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body[data-theme="light"] {
  background: #edf2f7;
  color: #17212b;
}

body[data-theme="retro"] {
  background: var(--cplace-retro-ink);
  color: var(--cplace-retro-paper);
}

button,
input,
textarea,
select {
  font: inherit;
}

.legal-page {
  min-height: 100vh;
  padding: 1rem 1rem 4rem;
  background:
    linear-gradient(rgba(18, 143, 135, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 143, 135, 0.07) 1px, transparent 1px),
    #f6faf5;
  background-size: 18px 18px;
  color: #15262e;
}

/* Reward-first public invite landing with rotating community artwork. */
.invite-landing-page {
  min-height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-items: center;
  overflow: hidden;
  padding: 0.8rem clamp(1rem, 3vw, 2.5rem) 0.7rem;
  background:
    linear-gradient(rgba(18, 143, 135, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 143, 135, 0.055) 1px, transparent 1px),
    radial-gradient(circle at 50% 45%, rgba(255, 250, 235, 0.92) 0 17rem, rgba(248, 243, 232, 0.74) 36rem),
    #f8f3e8;
  background-size: 20px 20px, 20px 20px, auto, auto;
}

.invite-landing-page::before {
  z-index: 5;
}

.invite-landing-nav,
.invite-landing-hero,
.invite-landing-footer {
  position: relative;
  z-index: 3;
}

.invite-landing-nav {
  width: min(1120px, 100%);
  min-height: 46px;
  margin: 0 auto;
}

.invite-artwork-cloud {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.invite-artwork-cloud::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(248, 243, 232, 0.38) 0 24rem, transparent 47rem);
}

.invite-artwork-card {
  position: absolute;
  display: block;
  padding: 0.75rem;
  border: 1px solid rgba(84, 58, 34, 0.3);
  border-radius: 12px;
  background:
    var(--invite-artwork) center / contain no-repeat content-box,
    linear-gradient(rgba(118, 98, 67, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px),
    #fffdf7;
  background-size: contain, 16px 16px, 16px 16px, auto;
  box-shadow:
    8px 10px 0 rgba(73, 49, 29, 0.13),
    0 24px 50px rgba(42, 28, 18, 0.16);
  opacity: 0.78;
  filter: saturate(1.05);
  image-rendering: pixelated;
}

.invite-artwork-card.is-1 {
  top: 11%;
  left: max(1.5rem, calc(50% - 820px));
  width: min(23vw, 320px);
  height: min(36vh, 330px);
  transform: rotate(-7deg);
}

.invite-artwork-card.is-2 {
  top: 8%;
  right: max(1.5rem, calc(50% - 820px));
  width: min(22vw, 300px);
  height: min(34vh, 315px);
  transform: rotate(7deg);
}

.invite-artwork-card.is-3 {
  bottom: -7%;
  left: max(3rem, calc(50% - 760px));
  width: min(25vw, 350px);
  height: min(35vh, 320px);
  transform: rotate(5deg);
}

.invite-artwork-card.is-4 {
  right: max(3rem, calc(50% - 760px));
  bottom: -4%;
  width: min(24vw, 335px);
  height: min(37vh, 340px);
  transform: rotate(-6deg);
}

.invite-artwork-card.is-5 {
  bottom: -10%;
  left: 50%;
  width: min(22vw, 310px);
  height: min(30vh, 270px);
  opacity: 0.5;
  transform: translateX(-50%) rotate(2deg);
}

.invite-landing-hero {
  width: min(680px, calc(100vw - 2rem));
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.72rem;
  margin: clamp(0.3rem, 2vh, 1.2rem) auto;
  padding: clamp(1.4rem, 3vh, 2.2rem) clamp(1.25rem, 4vw, 3rem);
  border: 1px solid rgba(84, 58, 34, 0.38);
  border-radius: 20px;
  background:
    linear-gradient(rgba(118, 98, 67, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px),
    rgba(255, 253, 247, 0.96);
  background-size: 18px 18px, 18px 18px, auto;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.9),
    8px 9px 0 rgba(73, 49, 29, 0.14),
    0 30px 85px rgba(42, 28, 18, 0.2);
  text-align: center;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}

.invite-landing-hero .invite-inviter-chip {
  margin: 0;
  padding: 0.28rem 0.72rem 0.28rem 0.3rem;
  background: rgba(238, 248, 244, 0.96);
}

.invite-landing-hero .invite-inviter-avatar {
  width: 36px;
  height: 36px;
}

.invite-landing-hero .invite-inviter-chip > span:last-child {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
}

.invite-landing-hero .invite-inviter-chip strong {
  font-size: 0.8rem;
}

.invite-landing-hero .invite-inviter-chip small {
  font-size: 0.66rem;
}

.invite-reward-kicker {
  margin: 0.2rem 0 -0.45rem;
  color: #765918;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.invite-main-reward {
  display: grid;
  grid-template-columns: 78px auto auto;
  column-gap: 0.65rem;
  align-items: center;
  justify-content: center;
  color: #5e4310;
}

.invite-main-reward > strong {
  color: #16232d;
  font-family: var(--font-pixel);
  font-size: clamp(5.1rem, 9vw, 7.8rem);
  font-weight: 760;
  letter-spacing: -0.055em;
  line-height: 0.86;
  text-shadow: 3px 3px 0 rgba(240, 189, 52, 0.3);
}

.invite-main-reward > span:not(.game-coin-icon) {
  align-self: center;
  color: #9b721b;
  font-family: var(--font-pixel);
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 900;
  line-height: 1;
  text-align: left;
  text-transform: none;
}

.invite-main-reward > span:not(.game-coin-icon) sup {
  position: relative;
  top: -0.4em;
  margin-left: 0.08em;
  font-family: var(--font-main);
  font-size: 0.48em;
}

.invite-main-reward .game-coin-icon.invite-official-coin {
  width: 78px;
  height: 78px;
  filter: drop-shadow(3px 4px 0 rgba(116, 78, 5, 0.15));
}

.invite-landing-hero h1 {
  margin: -0.1rem 0 0.15rem;
  color: #0d716c;
  font-family: var(--font-pixel);
  font-size: clamp(1.25rem, 3vw, 1.7rem);
  letter-spacing: -0.015em;
  line-height: 1;
}

.invite-compact-goals {
  width: min(520px, 100%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.invite-compact-goals > span {
  min-width: 0;
  display: grid;
  gap: 0.05rem;
  padding: 0.68rem 0.5rem;
  border: 1px solid rgba(18, 143, 135, 0.2);
  border-radius: 9px;
  background: #eef8f4;
}

.invite-compact-goals strong {
  color: #0d716c;
  font-size: 0.9rem;
}

.invite-compact-goals small {
  overflow: hidden;
  color: #65757a;
  font-size: 0.62rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.invite-landing-hero .invite-primary-action {
  width: min(440px, 100%);
  min-height: 56px;
  margin-top: 0.15rem;
  border-radius: 10px;
  font-size: 0.96rem;
  box-shadow: 4px 5px 0 rgba(13, 113, 108, 0.2);
}

.invite-reward-footnote {
  width: min(440px, 100%);
  margin: 0.1rem 0 -0.1rem;
  color: #65757a;
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.4;
  text-align: center;
}

.invite-reward-footnote sup {
  color: #9b721b;
  font-size: 0.8em;
  font-weight: 950;
}

.invite-friend-reward {
  width: min(440px, 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  padding: 0.62rem 0.85rem;
  border: 1px solid rgba(174, 133, 36, 0.34);
  border-radius: 9px;
  background: #fff0ba;
  color: #765918;
  box-shadow: 2px 3px 0 rgba(174, 133, 36, 0.11);
}

.invite-friend-reward > span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f0bd34;
  color: #5e4310;
  font-weight: 950;
}

.invite-friend-reward strong {
  color: #5e4310;
  font-family: var(--font-pixel);
  font-size: 1.1rem;
}

.invite-friend-reward small {
  color: #765918;
  font-size: 0.68rem;
  font-weight: 800;
}

.invite-landing-hero .invite-fine-print {
  margin: 0;
}

.invite-landing-footer {
  width: auto;
  min-height: 30px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 0 auto;
  padding: 0;
}

.invite-landing-footer a {
  color: #526b6d;
  font-size: 0.68rem;
}

.invite-loading-card,
.invite-unavailable-card {
  position: relative;
  z-index: 3;
  margin: auto;
}

@media (max-width: 900px) {
  .invite-artwork-card {
    opacity: 0.57;
  }

  .invite-artwork-card.is-1,
  .invite-artwork-card.is-3 {
    left: -10%;
  }

  .invite-artwork-card.is-2,
  .invite-artwork-card.is-4 {
    right: -10%;
  }
}

@media (max-width: 620px) {
  .invite-landing-page {
    grid-template-rows: auto minmax(0, 1fr) auto;
    padding: 0.55rem 0.7rem 0.35rem;
  }

  .invite-landing-nav {
    min-height: 42px;
    margin-bottom: 0;
  }

  .invite-landing-brand {
    font-size: 0.88rem;
  }

  .invite-canvas-link {
    font-size: 0.68rem;
  }

  .invite-artwork-card {
    width: 62vw !important;
    height: 29vh !important;
    padding: 0.45rem;
    opacity: 0.34;
  }

  .invite-artwork-card.is-1 { top: 7%; left: -31%; }
  .invite-artwork-card.is-2 { top: 9%; right: -32%; }
  .invite-artwork-card.is-3 { bottom: -5%; left: -28%; }
  .invite-artwork-card.is-4 { right: -29%; bottom: -4%; }
  .invite-artwork-card.is-5 { display: none; }

  .invite-landing-hero {
    width: 100%;
    gap: 0.58rem;
    margin: 0.25rem auto;
    padding: 1rem 0.72rem;
    border-radius: 14px;
    box-shadow: 5px 6px 0 rgba(73, 49, 29, 0.13), 0 20px 55px rgba(42, 28, 18, 0.18);
  }

  .invite-landing-hero .invite-inviter-avatar {
    width: 32px;
    height: 32px;
  }

  .invite-reward-kicker {
    margin-bottom: -0.32rem;
    font-size: 0.64rem;
  }

  .invite-main-reward {
    grid-template-columns: 56px auto auto;
    column-gap: 0.4rem;
  }

  .invite-main-reward > strong {
    font-size: clamp(3.9rem, 19vw, 5.2rem);
  }

  .invite-main-reward > span:not(.game-coin-icon) {
    font-size: 1.05rem;
  }

  .invite-main-reward .game-coin-icon.invite-official-coin {
    width: 56px;
    height: 56px;
  }

  .invite-landing-hero h1 {
    font-size: 1.2rem;
  }

  .invite-compact-goals {
    gap: 0.32rem;
  }

  .invite-compact-goals > span {
    padding: 0.52rem 0.25rem;
  }

  .invite-compact-goals strong {
    font-size: 0.78rem;
  }

  .invite-compact-goals small {
    font-size: 0.54rem;
  }

  .invite-landing-hero .invite-primary-action {
    min-height: 50px;
    margin: 0;
  }

  .invite-reward-footnote {
    font-size: 0.61rem;
  }

  .invite-friend-reward {
    gap: 0.28rem;
    padding: 0.52rem 0.45rem;
  }

  .invite-friend-reward strong {
    font-size: 0.92rem;
  }

  .invite-friend-reward small {
    max-width: 105px;
    overflow: hidden;
    font-size: 0.58rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .invite-landing-footer {
    min-height: 24px;
    flex-direction: row;
    align-items: center;
    padding: 0;
  }
}


.referral-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem 1rem;
  background: radial-gradient(circle at top, rgba(32, 203, 168, 0.2), transparent 42%), #101923;
  color: #eef9f7;
}

.referral-card {
  width: min(920px, 100%);
  border: 1px solid rgba(115, 235, 210, 0.28);
  border-radius: 22px;
  padding: clamp(1.25rem, 4vw, 2.5rem);
  background: rgba(15, 28, 38, 0.96);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.4);
}

.referral-landing-card { max-width: 680px; text-align: center; }
.referral-brand, .referral-dashboard-head a { color: #74ead2; font-weight: 900; text-decoration: none; }
.referral-kicker { color: #74ead2; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.referral-inviter-avatar { width: 76px; height: 76px; margin: 1rem auto; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: #21465a; font-weight: 900; }
.referral-inviter-avatar img { width: 100%; height: 100%; object-fit: cover; }
.referral-reward-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1.5rem 0; text-align: left; }
.referral-reward-grid article, .referral-relationship-card, .referral-link-panel, .referral-create-form { border: 1px solid rgba(115, 235, 210, 0.2); border-radius: 14px; padding: 1rem; background: rgba(255,255,255,.035); }
.referral-reward-grid span, .referral-link-panel > span { display: block; color: #a9c5c3; font-size: .8rem; }
.referral-reward-grid strong { display: block; margin-top: .25rem; }
.referral-primary-button, .referral-link-panel button, .referral-create-form button { display: inline-flex; justify-content: center; border: 0; border-radius: 10px; padding: .72rem 1rem; background: #60e3c8; color: #102029; font-weight: 900; text-decoration: none; cursor: pointer; }
.referral-final-url { display: grid; gap: .4rem; padding: .85rem; border: 1px solid rgba(96, 227, 200, .34); border-radius: 10px; background: rgba(96, 227, 200, .08); }
.referral-final-url code { overflow-wrap: anywhere; }
.referral-condition-list { display: grid; gap: .45rem; margin: 0; padding-left: 1.2rem; color: rgba(241, 247, 255, .78); text-align: left; }
.referral-primary-button:disabled { opacity: .5; cursor: not-allowed; }
.referral-error, .referral-message { color: #ffaeae; }
.referral-dashboard-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.referral-dashboard-head h1 { margin-top: 0; }
.referral-link-panel, .referral-create-form { margin: 1.5rem 0; }
.referral-link-panel > strong, .referral-link-panel > code { display: block; margin: .45rem 0; overflow-wrap: anywhere; }
.referral-link-panel > strong { font-size: 1.7rem; color: #74ead2; }
.referral-link-panel > div { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.referral-create-form { display: grid; gap: .8rem; }
.referral-create-form > input { border: 1px solid rgba(115,235,210,.3); border-radius: 9px; padding: .7rem; background: #0d1720; color: white; }
.referral-confirm { padding: .8rem; border-radius: 9px; background: rgba(255, 184, 78, .1); color: #ffd08a; }
.referral-relationship-list { display: grid; gap: .75rem; }
.referral-relationship-head { display: flex; justify-content: space-between; gap: 1rem; }
.referral-relationship-head span, .referral-relationship-head strong { display: block; }
.referral-relationship-head em { font-style: normal; color: #74ead2; }
.referral-relationship-head em.is-rejected, .referral-relationship-head em.is-expired { color: #ffaeae; }
.referral-progress-row { display: grid; grid-template-columns: minmax(150px, .7fr) 1fr; gap: .75rem; align-items: center; margin-top: .7rem; }
.referral-progress-row progress { width: 100%; accent-color: #60e3c8; }
.account-invites-link {
  width: 100%;
  cursor: pointer;
  text-align: left;
}

.account-invites-link > span:first-child {
  font-size: 1.4rem;
  font-weight: 900;
}

.referral-modal {
  width: min(880px, 100%);
}

.referral-modal-scroll {
  padding: 0.05rem 0.3rem 0.2rem 0.05rem;
}

.referral-dashboard {
  display: grid;
  gap: 0.9rem;
}

.referral-state {
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  color: var(--modal-copy);
  font-weight: 800;
}

.referral-loading-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent-turquoise);
  box-shadow: 0 0 0 0 rgba(var(--accent-turquoise-rgb), 0.5);
  animation: referral-loading-pulse 1.2s infinite;
}

@keyframes referral-loading-pulse {
  70% { box-shadow: 0 0 0 9px rgba(var(--accent-turquoise-rgb), 0); }
  100% { box-shadow: 0 0 0 0 rgba(var(--accent-turquoise-rgb), 0); }
}

.referral-intro-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.22);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(var(--accent-turquoise-rgb), 0.12), transparent 62%),
    var(--modal-card);
}

.referral-intro-card > div:first-child > strong {
  display: block;
  margin-bottom: 0.28rem;
  font-size: 1.05rem;
}

.referral-intro-card p,
.referral-section-heading p {
  margin: 0;
  color: var(--modal-copy);
  font-size: 0.84rem;
  line-height: 1.45;
}

.referral-intro-rewards {
  display: grid;
  grid-template-columns: repeat(2, minmax(108px, 1fr));
  gap: 0.5rem;
}

.referral-intro-rewards > span {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
  padding: 0.58rem 0.72rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.2);
  border-radius: 12px;
  background: var(--panel-surface);
}

.referral-intro-rewards small {
  color: var(--modal-copy);
  font-size: 0.67rem;
  font-weight: 800;
}

.referral-intro-rewards strong {
  color: var(--accent-turquoise);
  font-size: 1.02rem;
}

.referral-program-notice,
.referral-message {
  margin: 0;
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(180, 120, 30, 0.3);
  border-radius: 12px;
  background: rgba(180, 120, 30, 0.08);
  color: inherit;
  font-size: 0.8rem;
  line-height: 1.45;
}

.referral-program-notice strong {
  display: block;
  margin-bottom: 0.12rem;
}

.referral-message.is-error {
  border-color: var(--danger-border);
  background: var(--danger-surface);
  color: var(--danger-text);
}

.referral-message.is-success {
  border-color: rgba(var(--accent-turquoise-rgb), 0.32);
  background: rgba(var(--accent-turquoise-rgb), 0.1);
  color: var(--accent-turquoise);
}

.referral-modal :is(.referral-link-panel, .referral-create-form, .referral-relationship-card) {
  margin: 0;
  border-color: rgba(var(--accent-turquoise-rgb), 0.2);
  border-radius: 16px;
  background: var(--modal-card);
}

.referral-link-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
}

.referral-link-heading em,
.referral-relationship-head em {
  flex: 0 0 auto;
  padding: 0.25rem 0.5rem;
  border-radius: 999px;
  background: rgba(var(--accent-turquoise-rgb), 0.12);
  color: var(--accent-turquoise);
  font-size: 0.66rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.referral-link-heading em.is-blocked,
.referral-relationship-head em.is-rejected,
.referral-relationship-head em.is-expired {
  background: var(--danger-surface);
  color: var(--danger-text);
}

.referral-link-panel > span,
.referral-link-heading > span {
  color: var(--modal-copy);
  font-size: 0.72rem;
  font-weight: 800;
}

.referral-modal .referral-link-panel > strong {
  color: var(--accent-turquoise);
  font-size: clamp(1.35rem, 3vw, 1.8rem);
}

.referral-modal .referral-link-panel > code {
  width: 100%;
  display: block;
  padding: 0.64rem 0.72rem;
  border: 1px solid var(--hud-border);
  border-radius: 10px;
  background: var(--panel-surface);
  color: inherit;
  font-size: 0.76rem;
}

.referral-modal .referral-link-panel > small,
.referral-create-form > small {
  display: block;
  color: var(--modal-copy);
  font-size: 0.72rem;
  line-height: 1.4;
}

.referral-link-actions {
  margin-top: 0.8rem !important;
}

.referral-modal :is(.referral-link-actions button, .referral-primary-button, .referral-secondary-button) {
  min-height: 38px;
  align-items: center;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.34);
  border-radius: 10px;
  padding: 0.55rem 0.8rem;
  background: rgba(var(--accent-turquoise-rgb), 0.12);
  color: inherit;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 900;
}

.referral-modal :is(.referral-link-actions button, .referral-primary-button, .referral-secondary-button):is(:hover, :focus-visible) {
  border-color: rgba(var(--accent-turquoise-rgb), 0.58);
  background: rgba(var(--accent-turquoise-rgb), 0.2);
  outline: none;
}

.referral-modal .referral-primary-button {
  justify-self: start;
  border-color: var(--accent-turquoise);
  background: var(--accent-turquoise);
  color: var(--modal-background);
}

.referral-modal :is(button, input):disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.referral-blocked-note {
  margin: 0.75rem 0 0;
  color: var(--danger-text);
  font-size: 0.76rem;
}

.referral-dashboard-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  margin: 0;
}

.referral-modal .referral-dashboard-stats article {
  padding: 0.72rem 0.8rem;
  border-color: var(--hud-border);
  background: var(--panel-surface);
}

.referral-modal .referral-dashboard-stats span {
  color: var(--modal-copy);
  font-size: 0.7rem;
}

.referral-modal .referral-dashboard-stats strong {
  color: inherit;
  font-size: 1.12rem;
}

.referral-create-form {
  gap: 0.75rem;
}

.referral-section-heading > span {
  display: block;
  margin-bottom: 0.18rem;
  color: var(--accent-turquoise);
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.referral-section-heading h3 {
  margin: 0 0 0.28rem;
  font-size: 1rem;
}

.referral-code-mode {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.referral-code-mode label {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 0.7rem;
  border: 1px solid var(--hud-border);
  border-radius: 12px;
  background: var(--panel-surface);
  cursor: pointer;
}

.referral-code-mode label.is-selected {
  border-color: rgba(var(--accent-turquoise-rgb), 0.5);
  background: rgba(var(--accent-turquoise-rgb), 0.12);
}

.referral-code-mode label > span,
.referral-confirm > span {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.referral-code-mode strong,
.referral-confirm strong {
  font-size: 0.78rem;
}

.referral-code-mode small,
.referral-confirm small {
  color: var(--modal-copy);
  font-size: 0.68rem;
  line-height: 1.35;
}

.referral-modal .referral-create-form > input {
  width: 100%;
  min-height: 42px;
  border-color: var(--hud-border);
  border-radius: 10px;
  background: var(--panel-surface);
  color: inherit;
  outline: none;
}

.referral-modal .referral-create-form > input:focus {
  border-color: rgba(var(--accent-turquoise-rgb), 0.62);
  box-shadow: 0 0 0 3px rgba(var(--accent-turquoise-rgb), 0.1);
}

.referral-modal .referral-final-url {
  border-color: rgba(var(--accent-turquoise-rgb), 0.32);
  background: rgba(var(--accent-turquoise-rgb), 0.08);
}

.referral-modal .referral-final-url span {
  color: var(--modal-copy);
  font-size: 0.68rem;
  font-weight: 800;
}

.referral-modal .referral-final-url code {
  color: inherit;
  font-size: 0.76rem;
}

.referral-modal .referral-confirm {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: inherit;
}

.referral-relationships-section {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.25rem;
}

.referral-relationship-meta {
  margin: 0.5rem 0 0;
  color: var(--modal-copy);
  font-size: 0.72rem;
}

.referral-progress-row > span {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  color: var(--modal-copy);
  font-size: 0.72rem;
}

.referral-progress-row > span strong {
  color: inherit;
}

.referral-progress-row progress {
  height: 8px;
}

.referral-relationship-reward {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  margin: 0.75rem 0 0;
  padding-top: 0.7rem;
  border-top: 1px solid var(--panel-divider);
  color: var(--modal-copy);
  font-size: 0.74rem;
}

.referral-relationship-reward strong {
  color: var(--accent-turquoise);
}
.admin-referral-config-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .7rem; margin: 1rem 0; }
.admin-referral-config-grid label { display: grid; gap: .3rem; }
.admin-referral-config-grid input[type="number"] { width: 100%; }
.admin-inline-actions { display: flex; gap: .35rem; }
.admin-table-panel td small { display: block; margin-top: .25rem; opacity: .72; }

@media (max-width: 620px) {
  .referral-reward-grid { grid-template-columns: 1fr; }
  .referral-progress-row { grid-template-columns: 1fr; gap: .25rem; }

  .referral-modal-backdrop {
    align-items: flex-end;
    padding: 0.5rem;
  }

  .referral-modal {
    width: 100%;
    max-height: calc(100dvh - 1rem);
    border-radius: 18px 18px 10px 10px;
    padding: 0.75rem;
  }

  .referral-modal .modal-header {
    margin-bottom: 0.65rem;
  }

  .referral-intro-card {
    grid-template-columns: 1fr;
  }

  .referral-intro-rewards,
  .referral-code-mode {
    grid-template-columns: 1fr 1fr;
  }

  .referral-dashboard-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .referral-modal .referral-dashboard-stats article {
    padding: 0.6rem;
  }

  .referral-modal .referral-dashboard-stats strong {
    font-size: 0.95rem;
  }
}

@media (max-width: 430px) {
  .referral-intro-rewards,
  .referral-code-mode {
    grid-template-columns: 1fr;
  }

  .referral-link-actions > button {
    flex: 1 1 auto;
  }

  .referral-relationship-head,
  .referral-relationship-reward {
    align-items: flex-start;
    flex-direction: column;
  }
}

.legal-shell {
  width: min(1080px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 0.9rem;
}

.legal-topbar {
  position: sticky;
  z-index: 20;
  top: 0.75rem;
  display: flex;
  gap: 0.8rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.56rem;
  border: 1px solid rgba(18, 143, 135, 0.2);
  border-radius: 8px;
  background: rgba(255, 253, 247, 0.92);
  box-shadow: 0 16px 42px rgba(20, 38, 46, 0.08);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
}

.legal-brand-link,
.legal-back-link {
  color: #0b6f6a;
  text-decoration: none;
}

.legal-brand-link {
  min-height: 36px;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  padding: 0.3rem 0.55rem;
  border-radius: 7px;
  font-family: var(--font-pixel);
  font-size: 0.84rem;
  font-weight: 700;
}

.legal-brand-mark {
  image-rendering: pixelated;
}

.legal-back-link {
  justify-self: start;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.legal-nav-links {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}

.legal-nav-links a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.6rem;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #27424a;
  font-size: 0.78rem;
  font-weight: 850;
  text-decoration: none;
}

.legal-brand-link:hover,
.legal-brand-link:focus-visible,
.legal-back-link:hover,
.legal-back-link:focus-visible,
.legal-nav-links a:hover,
.legal-nav-links a:focus-visible {
  border-color: rgba(18, 143, 135, 0.28);
  background: #eaf8f4;
  color: #085f5b;
  outline: none;
}

.legal-header,
.legal-card {
  border: 1px solid rgba(18, 143, 135, 0.2);
  border-radius: 8px;
  background: rgba(255, 253, 247, 0.96);
  box-shadow: 0 18px 44px rgba(20, 38, 46, 0.07);
}

.legal-header {
  padding: clamp(1.25rem, 4vw, 2rem);
}

.legal-header-featured {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.38fr);
  gap: clamp(1rem, 3vw, 1.5rem);
  align-items: end;
}

.legal-eyebrow {
  margin: 0 0 0.42rem;
  color: #0b7771;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.legal-header h1 {
  margin: 0;
  max-width: 760px;
  color: #15262e;
  font-family: var(--font-pixel);
  font-size: clamp(2rem, 6vw, 4.8rem);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.legal-header p {
  max-width: 680px;
  margin: 0.72rem 0 0;
  color: #3e5860;
  font-size: 1rem;
  line-height: 1.6;
}

.legal-status-panel {
  display: grid;
  gap: 0.35rem;
  padding: 0.9rem;
  border: 1px solid rgba(190, 92, 32, 0.26);
  border-radius: 8px;
  background: #fff7e8;
}

.legal-status-panel span,
.legal-summary-grid span,
.legal-section-number {
  color: #9d481f;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.legal-status-panel strong,
.legal-summary-grid strong {
  color: #15262e;
  font-size: 1rem;
}

.legal-status-panel p,
.legal-summary-grid p {
  margin: 0;
  color: #4f6267;
  font-size: 0.9rem;
  line-height: 1.45;
}

.legal-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.legal-summary-grid article {
  display: grid;
  gap: 0.34rem;
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid rgba(18, 143, 135, 0.18);
  border-radius: 8px;
  background: rgba(234, 248, 244, 0.95);
}

.legal-grid {
  display: grid;
  gap: 0.75rem;
}

.legal-card {
  position: relative;
  padding: 1rem 1.15rem;
}

.legal-card-accent {
  border-color: rgba(18, 143, 135, 0.32);
  background: #fafffc;
}

.legal-card h2 {
  margin: 0 0 0.5rem;
  color: #162b33;
  font-size: 1.05rem;
  letter-spacing: 0;
}

.legal-card h3 {
  margin: 0.82rem 0 0.42rem;
  font-size: 0.94rem;
  letter-spacing: 0;
}

.legal-card p,
.legal-card li {
  color: #3e5860;
  line-height: 1.55;
}

.legal-card p {
  margin: 0;
}

.legal-card p + p {
  margin-top: 0.7rem;
}

.legal-card ul {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.35rem;
}

.legal-toc {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.38rem 0.75rem;
  margin: 0;
  padding-left: 1.15rem;
}

.legal-toc li {
  page-break-inside: avoid;
  break-inside: avoid;
  color: #0b7771;
  padding-left: 0.1rem;
}

.legal-card a,
.legal-toc a {
  color: #0b6f6a;
  font-weight: 900;
  text-decoration-color: rgba(18, 143, 135, 0.32);
  text-underline-offset: 0.18em;
}

.legal-card a:hover,
.legal-card a:focus-visible,
.legal-toc a:hover,
.legal-toc a:focus-visible {
  color: #064f4c;
  outline: none;
  text-decoration-color: currentColor;
}

.legal-section-number {
  display: block;
  margin-bottom: 0.26rem;
}

@media (max-width: 760px) {
  .legal-page {
    padding: 0.7rem 0.7rem 3rem;
  }

  .legal-topbar {
    position: static;
    display: grid;
    justify-content: stretch;
  }

  .legal-nav-links {
    justify-content: flex-start;
  }

  .legal-header-featured,
  .legal-summary-grid,
  .legal-toc {
    grid-template-columns: 1fr;
  }

  .legal-header h1 {
    font-size: clamp(1.85rem, 12vw, 3.1rem);
  }
}

.world-shell {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
}

.world-shell.theme-dark {
  --accent-turquoise: #60f7f2;
  --accent-turquoise-rgb: 96, 247, 242;
  --accent-mint: #7dd3a5;
  --viewport-background: linear-gradient(180deg, #121a23, #0a1118);
  --viewport-grid: rgba(214, 228, 240, 0.14);
  --viewport-major-grid: rgba(214, 228, 240, 0.06);
  --viewport-origin-axis: rgba(255, 243, 196, 0.52);
  --hud-background: rgba(10, 16, 24, 0.72);
  --hud-border: rgba(var(--accent-turquoise-rgb), 0.2);
  --hud-text: #f7fbff;
  --modal-background: rgba(10, 16, 24, 0.93);
  --modal-card: rgba(var(--accent-turquoise-rgb), 0.055);
  --modal-copy: rgba(221, 232, 242, 0.82);
  --panel-surface: rgba(255, 255, 255, 0.045);
  --panel-surface-strong: rgba(255, 255, 255, 0.065);
  --panel-divider: rgba(255, 255, 255, 0.08);
  --menu-background: rgba(8, 16, 24, 0.96);
  --menu-shadow: 0 22px 54px rgba(0, 0, 0, 0.34);
  --danger-surface: rgba(127, 29, 29, 0.18);
  --danger-border: rgba(248, 113, 113, 0.42);
  --danger-text: #fca5a5;
  --danger-text-strong: #fecaca;
  --crosshair: rgba(203, 220, 236, 0.28);
  --crosshair-outside: rgba(248, 113, 113, 0.9);
  --backdrop-glow: rgba(var(--accent-turquoise-rgb), 0.16);
  --backdrop-glow-alt: rgba(125, 211, 165, 0.1);
  --world-boundary: rgba(210, 210, 210, 0.92);
  --world-outside-shade: rgba(4, 7, 12, 0.76);
  --world-outside-hatch: rgba(255, 255, 255, 0.055);
  --world-outside-pattern-base: rgba(255, 255, 255, 0.015);
  --claim-outline-keyline: rgba(3, 6, 10, 0.9);
  --claim-outline-owner: rgba(17, 213, 195, 0.98);
  --claim-outline-contributor: rgba(245, 132, 32, 0.98);
  --claim-outline-blocked: rgba(239, 68, 68, 0.96);
  --claim-outline-starter: rgba(234, 179, 8, 0.98);
  --claim-outline-shadow-core: rgba(4, 8, 14, 0.38);
  --claim-outline-shadow-soft: rgba(4, 8, 14, 0.2);
  color-scheme: dark;
}

.world-shell.theme-light {
  --accent-turquoise: #0e7490;
  --accent-turquoise-rgb: 14, 116, 144;
  --accent-mint: #0f9f7a;
  --viewport-background: linear-gradient(180deg, #f8fafc, #e9eff6);
  --viewport-grid: rgba(15, 23, 42, 0.12);
  --viewport-major-grid: rgba(15, 23, 42, 0.05);
  --viewport-origin-axis: rgba(127, 83, 15, 0.34);
  --hud-background: rgba(255, 255, 255, 0.78);
  --hud-border: rgba(var(--accent-turquoise-rgb), 0.18);
  --hud-text: #13202d;
  --modal-background: rgba(255, 255, 255, 0.95);
  --modal-card: rgba(var(--accent-turquoise-rgb), 0.055);
  --modal-copy: rgba(39, 49, 61, 0.84);
  --panel-surface: rgba(15, 23, 42, 0.045);
  --panel-surface-strong: rgba(15, 23, 42, 0.065);
  --panel-divider: rgba(15, 23, 42, 0.1);
  --menu-background: rgba(255, 255, 255, 0.97);
  --menu-shadow: 0 22px 54px rgba(15, 23, 42, 0.16);
  --danger-surface: rgba(254, 226, 226, 0.78);
  --danger-border: rgba(185, 28, 28, 0.28);
  --danger-text: #b91c1c;
  --danger-text-strong: #991b1b;
  --crosshair: rgba(15, 23, 42, 0.16);
  --crosshair-outside: rgba(220, 38, 38, 0.72);
  --backdrop-glow: rgba(var(--accent-turquoise-rgb), 0.11);
  --backdrop-glow-alt: rgba(217, 119, 6, 0.06);
  --world-boundary: rgba(60, 60, 60, 0.94);
  --world-outside-shade: rgba(231, 237, 243, 0.82);
  --world-outside-hatch: rgba(60, 60, 60, 0.06);
  --world-outside-pattern-base: rgba(255, 255, 255, 0.16);
  --claim-outline-keyline: rgba(3, 6, 10, 0.9);
  --claim-outline-owner: rgba(17, 213, 195, 0.98);
  --claim-outline-contributor: rgba(245, 132, 32, 0.98);
  --claim-outline-blocked: rgba(239, 68, 68, 0.96);
  --claim-outline-starter: rgba(234, 179, 8, 0.98);
  --claim-outline-shadow-core: rgba(4, 8, 14, 0.38);
  --claim-outline-shadow-soft: rgba(4, 8, 14, 0.2);
  color-scheme: light;
}

.world-shell.theme-retro {
  --accent-turquoise: var(--cplace-retro-sky);
  --accent-turquoise-rgb: 155, 183, 200;
  --accent-mint: var(--cplace-retro-mint);
  --viewport-background: var(--cplace-retro-ink);
  --viewport-grid: rgba(236, 231, 220, 0.1);
  --viewport-major-grid: rgba(236, 231, 220, 0.045);
  --viewport-origin-axis: rgba(196, 92, 82, 0.72);
  --hud-background: var(--cplace-retro-ink-2);
  --hud-border: var(--cplace-retro-outline);
  --hud-text: var(--cplace-retro-paper);
  --modal-background: #191919;
  --modal-card: var(--cplace-retro-panel);
  --modal-copy: var(--cplace-retro-muted);
  --crosshair: rgba(236, 231, 220, 0.36);
  --crosshair-outside: rgba(196, 92, 82, 0.9);
  --backdrop-glow: rgba(155, 183, 200, 0);
  --backdrop-glow-alt: rgba(196, 92, 82, 0);
  --world-boundary: #d0c7b8;
  --world-outside-shade: rgba(8, 8, 8, 0.84);
  --world-outside-hatch: rgba(143, 135, 122, 0.1);
  --world-outside-pattern-base: rgba(236, 231, 220, 0.025);
  --claim-outline-keyline: rgba(5, 5, 5, 0.94);
  --claim-outline-owner: rgba(95, 127, 159, 0.98);
  --claim-outline-contributor: rgba(188, 137, 101, 0.98);
  --claim-outline-blocked: rgba(196, 92, 82, 0.96);
  --claim-outline-starter: rgba(214, 181, 109, 0.98);
  --claim-outline-shadow-core: rgba(5, 5, 5, 0.58);
  --claim-outline-shadow-soft: rgba(5, 5, 5, 0.18);
  --retro-panel: var(--cplace-retro-ink-2);
  --retro-panel-alt: var(--cplace-retro-panel);
  --retro-panel-dark: var(--cplace-retro-ink);
  --retro-outline: var(--cplace-retro-outline);
  --retro-shadow: #050505;
  --retro-blue: var(--cplace-retro-sky);
  --retro-danger: var(--cplace-retro-red);
  --retro-success: var(--cplace-retro-mint);
  color-scheme: dark;
  font-family: var(--font-pixel);
}

.world-viewport {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, var(--backdrop-glow), transparent 24%),
    radial-gradient(circle at bottom right, var(--backdrop-glow-alt), transparent 28%),
    var(--viewport-background);
  cursor: default;
  touch-action: none;
}

.world-viewport.is-color-picking {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M22 3l7 7-3 3-2-2L11 24l-8 3 3-8L19 6l-2-2 3-3z' fill='%23f8fbff' stroke='%23081220' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M6 19l7 7' stroke='%237dd3a5' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 5 27, pointer;
}

.world-viewport.is-audit-picking {
  cursor: crosshair;
}

.world-viewport.is-touch-paint-locked {
  cursor: crosshair;
}

@supports (height: 100dvh) {
  .world-shell,
  .world-viewport {
    min-height: 100dvh;
  }
}

.world-backdrop-glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 20%, rgba(255, 255, 255, 0.035), transparent 34%),
    radial-gradient(circle at 75% 75%, rgba(255, 255, 255, 0.025), transparent 32%);
  pointer-events: none;
}

.world-shell.is-leaving-realm .world-viewport {
  animation: overworld-realm-exit 760ms steps(7, end) both;
  pointer-events: none;
  transform-origin: center;
}

@keyframes overworld-realm-exit {
  0% {
    filter: brightness(1);
    transform: scale(1) translateY(0);
  }
  36% {
    filter: brightness(0.88) saturate(0.72) hue-rotate(8deg);
  }
  100% {
    filter: brightness(0.34) saturate(0.38) contrast(1.18) hue-rotate(24deg);
    transform: scale(1.035) translateY(7px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .world-shell.is-leaving-realm .world-viewport {
    animation: overworld-realm-exit-reduced 140ms linear both;
  }

  @keyframes overworld-realm-exit-reduced {
    to { opacity: 0; }
  }
}

.world-board-surface {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: none;
  overflow: visible;
  pointer-events: none;
}

.world-board-surface-flow {
  fill: none;
  stroke-linecap: round;
  pointer-events: none;
}

.world-board-landmark-layer {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: none;
  overflow: hidden;
  pointer-events: none;
}

.world-board-landmark {
  position: absolute;
  pointer-events: none;
}

.world-board-landmark > i {
  position: absolute;
  width: 34px;
  height: 34px;
  pointer-events: none;
}

.world-board-landmark > .is-north-west {
  top: 0;
  left: 0;
  border-top: 4px solid currentColor;
  border-left: 4px solid currentColor;
}

.world-board-landmark > .is-north-east {
  top: 0;
  right: 0;
  border-top: 4px solid currentColor;
  border-right: 4px solid currentColor;
}

.world-board-landmark > .is-south-east {
  right: 0;
  bottom: 0;
  border-right: 4px solid currentColor;
  border-bottom: 4px solid currentColor;
}

.world-board-landmark > .is-south-west {
  bottom: 0;
  left: 0;
  border-bottom: 4px solid currentColor;
  border-left: 4px solid currentColor;
}

.world-board-zone-label {
  position: absolute;
  top: 14px;
  left: 18px;
  max-width: calc(100% - 36px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-pixel-grid {
  position: absolute;
  inset: 0;
  contain: strict;
  opacity: 1;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 140ms ease;
}

.world-viewport.grid-hidden .world-pixel-grid {
  opacity: 0;
}

.world-pixel-grid.is-grid-rendered {
  background-image:
    linear-gradient(
      to right,
      var(--viewport-grid) 0 var(--world-grid-major-line-width),
      transparent var(--world-grid-major-line-width) 100%
    ),
    linear-gradient(
      to bottom,
      var(--viewport-grid) 0 var(--world-grid-major-line-width),
      transparent var(--world-grid-major-line-width) 100%
    );
  background-position:
    var(--world-grid-major-offset-x) 0,
    0 var(--world-grid-major-offset-y);
  background-repeat: repeat;
  background-size:
    var(--world-grid-major-size) var(--world-grid-major-size),
    var(--world-grid-major-size) var(--world-grid-major-size);
}

.world-pixel-grid.is-grid-rendered.has-fine-grid {
  background-image:
    linear-gradient(
      to right,
      var(--viewport-grid) 0 1px,
      transparent 1px 100%
    ),
    linear-gradient(
      to bottom,
      var(--viewport-grid) 0 1px,
      transparent 1px 100%
    ),
    linear-gradient(
      to right,
      var(--viewport-major-grid) 0 1px,
      transparent 1px 100%
    ),
    linear-gradient(
      to bottom,
      var(--viewport-major-grid) 0 1px,
      transparent 1px 100%
    );
  background-position:
    var(--world-grid-major-offset-x) 0,
    0 var(--world-grid-major-offset-y),
    var(--world-grid-cell-offset-x) 0,
    0 var(--world-grid-cell-offset-y);
  background-size:
    var(--world-grid-major-size) var(--world-grid-major-size),
    var(--world-grid-major-size) var(--world-grid-major-size),
    var(--world-grid-cell-size) var(--world-grid-cell-size),
    var(--world-grid-cell-size) var(--world-grid-cell-size);
}

.world-outside-pattern {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.world-outside-pattern-base {
  fill: var(--world-outside-pattern-base);
}

.world-visual-layer,
.world-claim-layer,
.world-claim-outline-shadow-layer,
.world-pixel-layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.world-claim-outline-shadow-layer {
  z-index: 1;
}

.world-visual-layer {
  z-index: 2;
}

.world-claim-layer {
  z-index: 3;
}

.world-claim-tile-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.world-claim-outline-layer,
.world-claim-outline-shadow-layer,
.world-pending-claim-outline-layer {
  position: absolute;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  backface-visibility: hidden;
  contain: paint;
  transform: translateZ(0);
}

.world-claim-outline-layer {
  z-index: 1;
}

.world-claim-outline-canvas {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  backface-visibility: hidden;
  contain: paint;
  image-rendering: pixelated;
  transform-origin: top left;
  will-change: transform;
}

.world-claim-outline-keyline {
  fill: var(--claim-outline-keyline);
  stroke: none;
}

.world-claim-outline-path {
  fill: var(--claim-outline-owner);
  stroke: none;
}

.world-claim-outline-path.is-owner {
  fill: var(--claim-outline-owner);
}

.world-claim-outline-path.is-contributor {
  fill: var(--claim-outline-contributor);
}

.world-claim-outline-path.is-blocked {
  fill: var(--claim-outline-blocked);
}

.world-claim-outline-path.is-starter {
  fill: var(--claim-outline-starter);
}

.world-claim-outline-shadow {
  fill: var(--claim-outline-shadow-core);
  fill-rule: nonzero;
}

.world-claim-outline-shadow.is-soft {
  fill: var(--claim-outline-shadow-soft);
}

.world-claim-outline-shadow.is-core {
  fill: var(--claim-outline-shadow-core);
}

.world-pending-claim-outline-layer {
  z-index: 6;
}

.world-pending-claim-outline-path {
  stroke-linecap: butt;
  stroke-linejoin: miter;
}

.world-claim-layer.has-blocked-pending-claims .world-pending-claim-outline-path {
  fill: var(--claim-outline-blocked);
}

.world-pixel-layer {
  z-index: 4;
}

.world-claim-tile-layer .world-tile {
  opacity: 1;
}

.world-tile {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}

.world-tile-image {
  position: absolute;
  display: block;
  image-rendering: pixelated;
  pointer-events: none;
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
}

.world-tile-detail-image {
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 120ms ease-out;
}

.world-tile-detail-image.is-loaded {
  opacity: 1;
}

.world-tile-retained-image {
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
}

.world-tile-parent-image {
  opacity: 0.96;
  transition: opacity 120ms ease-out, filter 120ms ease-out;
}

.world-tile-parent-image.is-softened {
  filter: blur(0.85px);
  transform: scale(1.02);
  transform-origin: center;
}

.world-tile-parent-image.is-hidden {
  opacity: 0;
}

.world-claimed-pixel,
.world-painted-pixel,
.world-pending-claim,
.pending-claim-conflict-overlay,
.world-pending-paint,
.world-pending-paint-canvas,
.world-hovered-pixel,
.world-paint-cursor,
.world-selected-pixel {
  position: absolute;
  pointer-events: none;
}

.world-claimed-pixel {
  border-radius: 2px;
  z-index: 2;
}

.world-claimed-pixel.is-owned {
  background: rgba(70, 208, 164, 0.22);
  box-shadow: inset 0 0 0 1px rgba(70, 208, 164, 0.34);
}

.world-claimed-pixel.is-foreign {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.world-claimed-pixel.is-starter {
  background: rgba(255, 210, 92, 0.22);
  box-shadow: inset 0 0 0 1px rgba(255, 210, 92, 0.48);
}

.world-claimed-pixel.is-selected {
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.28),
    0 0 0 1px rgba(0, 0, 0, 0.18);
}

.world-painted-pixel {
  z-index: 4;
}

.world-pending-claim {
  z-index: 5;
  border-radius: 0;
  background: rgba(62, 152, 129, 0.14);
  animation: pending-claim-pulse 900ms ease-in-out infinite;
}

.world-pending-claim.is-bulk {
  background: rgba(62, 152, 129, 0.08);
  animation: none;
}

.world-claim-layer.has-blocked-pending-claims .world-pending-claim {
  animation-name: pending-claim-blocked-pulse;
}

.world-claim-layer.has-blocked-pending-claims .world-pending-claim.is-bulk {
  background: rgba(255, 29, 60, 0.12);
  animation: none;
}

.world-pending-paint {
  z-index: 5;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.78);
  opacity: 1;
  box-shadow: inset 0 0 0 1px rgba(6, 12, 18, 0.38);
}

.world-pending-paint.is-high-zoom {
  border: 0;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    inset 0 0 0 2px rgba(6, 12, 18, 0.3);
}

.world-pending-paint.is-submitted,
.world-pending-paint.is-high-zoom.is-submitted {
  border: 0;
  box-shadow: none;
}

.world-pending-paint.is-submitted.is-transparent::after {
  content: none;
}

.world-pending-paint.is-submitted.is-transparent {
  background: rgba(255, 255, 255, 0.9);
}

.world-pending-paint-canvas {
  z-index: 5;
  image-rendering: pixelated;
  transform-origin: top left;
}

.world-pixel-place-effects {
  position: absolute;
  z-index: 6;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.world-pixel-place-effects.is-disabled {
  display: none;
}

.claim-template-overlay {
  position: absolute;
  z-index: 7;
  pointer-events: none;
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
  touch-action: none;
}

.world-viewport img,
.claim-template-overlay-image,
.claim-template-overlay-highlight,
.claim-template-overlay-source,
.claim-template-overlay-issue-image {
  -webkit-user-select: none;
          user-select: none;
  -webkit-user-drag: none;
}

.claim-template-overlay.is-editable {
  z-index: 11;
  cursor: default;
}

.claim-template-overlay-image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
  opacity: 1;
  pointer-events: none;
}

.claim-template-overlay.is-saved .claim-template-overlay-image {
  opacity: 1;
  transform: translate(var(--overlay-preview-offset, 0), var(--overlay-preview-offset, 0));
}

.claim-template-overlay-source {
  display: none;
}

.claim-template-overlay.is-editable.is-blocked .claim-template-overlay-image {
  opacity: 0.38;
}

.claim-template-overlay.is-editable.is-blocked .claim-template-overlay-highlight {
  opacity: 1;
}

.claim-template-overlay-highlight {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
  opacity: 1;
  pointer-events: none;
  transform: translate(var(--overlay-highlight-offset, 0), var(--overlay-highlight-offset, 0));
}

.claim-template-overlay .is-viewport-clipped {
  position: absolute;
  right: auto;
  bottom: auto;
  display: block;
  transform: none;
}

.claim-template-overlay.is-saved .claim-template-overlay-image.is-viewport-clipped {
  transform: none;
}

.claim-template-overlay-completion {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
  pointer-events: none;
}

.claim-template-overlay-missing {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
  opacity: 0.96;
  pointer-events: none;
  animation: missing-pixel-highlight-pulse 0.9s steps(2, jump-none) infinite;
}

@keyframes missing-pixel-highlight-pulse {
  0%,
  100% {
    opacity: 0.96;
  }

  50% {
    opacity: 0.58;
  }
}

.claim-template-overlay-issue {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.claim-template-overlay-issue-image {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
  opacity: 0.72;
  pointer-events: none;
}

.claim-template-overlay-issue-cell {
  position: absolute;
  z-index: 3;
  min-width: 7px;
  min-height: 7px;
  border: 2px solid rgba(255, 250, 250, 0.98);
  background: rgba(255, 0, 40, 0.95);
  box-shadow:
    0 0 0 2px rgba(85, 0, 8, 0.98),
    0 0 16px rgba(255, 0, 40, 1),
    inset 0 0 4px rgba(255, 255, 255, 0.52);
  image-rendering: pixelated;
  mix-blend-mode: normal;
  pointer-events: none;
}

.claim-template-overlay-issue-frame {
  position: absolute;
  z-index: 2;
  min-width: 1px;
  min-height: 1px;
  border: 3px solid rgba(255, 29, 60, 0.98);
  background: transparent;
  box-shadow:
    0 0 0 2px rgba(35, 0, 6, 0.86),
    0 0 18px rgba(255, 29, 60, 0.52);
}

.claim-template-overlay-issue.is-overlap .claim-template-overlay-issue-cell {
  animation: overlay-placement-alert 0.82s steps(2, jump-none) infinite;
}

.claim-template-overlay-issue.is-connection .claim-template-overlay-issue-frame {
  border-color: rgba(255, 196, 35, 0.98);
  background: transparent;
  box-shadow:
    0 0 0 2px rgba(48, 29, 0, 0.88),
    0 0 20px rgba(255, 196, 35, 0.64);
}

.claim-template-overlay-issue.is-connection .claim-template-overlay-issue-cell {
  border-color: rgba(255, 249, 211, 0.96);
  background: rgba(255, 196, 35, 0.8);
  box-shadow:
    0 0 0 1px rgba(64, 39, 0, 0.95),
    0 0 11px rgba(255, 196, 35, 0.92),
    inset 0 0 3px rgba(255, 255, 255, 0.48);
}

.claim-template-overlay-issue-label {
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  z-index: 3;
  max-width: min(280px, calc(100% - 1rem));
  padding: 0.38rem 0.5rem;
  border: 2px solid rgba(255, 29, 60, 0.95);
  background: rgba(52, 4, 13, 0.94);
  color: #fff7f7;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.05;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.65);
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(255, 29, 60, 0.52);
}

.claim-template-overlay-issue.is-connection .claim-template-overlay-issue-label {
  border-color: rgba(255, 196, 35, 0.95);
  background: rgba(50, 32, 0, 0.94);
  color: #fff6d5;
  box-shadow: 0 0 18px rgba(255, 196, 35, 0.56);
}

.claim-template-overlay.is-saved {
  z-index: 3;
}

.pending-claim-conflict-overlay {
  z-index: 10;
  min-width: 1px;
  min-height: 1px;
  border: 2px solid rgba(255, 29, 60, 0.92);
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 29, 60, 0.24) 0,
      rgba(255, 29, 60, 0.24) 6px,
      rgba(255, 29, 60, 0.06) 6px,
      rgba(255, 29, 60, 0.06) 12px
    );
  box-shadow:
    0 0 0 1px rgba(35, 0, 6, 0.84),
    0 0 18px rgba(255, 29, 60, 0.38);
}

.pending-claim-conflict-overlay span {
  position: absolute;
  left: 0.28rem;
  bottom: 0.28rem;
  z-index: 1;
  max-width: min(240px, calc(100vw - 2rem));
  padding: 0.32rem 0.44rem;
  border: 1px solid rgba(255, 29, 60, 0.58);
  border-radius: 6px;
  background: rgba(52, 4, 13, 0.9);
  color: #ffe4e6;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.08;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.admin-claim-move-overlay {
  position: absolute;
  z-index: 12;
  min-width: 1px;
  min-height: 1px;
  border: 2px solid rgba(var(--accent-turquoise-rgb), 0.9);
  background: rgba(var(--accent-turquoise-rgb), 0.1);
  box-shadow:
    0 0 0 1px rgba(5, 12, 20, 0.55),
    0 0 22px rgba(var(--accent-turquoise-rgb), 0.24);
  cursor: grab;
  pointer-events: auto;
  touch-action: none;
  -webkit-user-select: none;
          user-select: none;
}

.admin-claim-move-overlay:active {
  cursor: grabbing;
}

.admin-claim-move-overlay.is-blocked {
  border-color: rgba(255, 29, 60, 0.98);
  background: rgba(255, 29, 60, 0.08);
  box-shadow:
    0 0 0 2px rgba(35, 0, 6, 0.86),
    0 0 22px rgba(255, 29, 60, 0.46);
}

.admin-claim-move-overlay-fill {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image:
    linear-gradient(rgba(var(--accent-turquoise-rgb), 0.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--accent-turquoise-rgb), 0.18) 1px, transparent 1px);
  background-size: max(8px, 1rem) max(8px, 1rem);
  pointer-events: none;
}

.admin-claim-move-overlay.is-blocked .admin-claim-move-overlay-fill {
  background-image:
    linear-gradient(rgba(255, 29, 60, 0.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 29, 60, 0.22) 1px, transparent 1px);
}

.admin-claim-move-overlay-image {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  image-rendering: pixelated;
  opacity: 0.92;
  pointer-events: none;
}

.admin-claim-move-overlay.is-blocked .admin-claim-move-overlay-image {
  opacity: 0.38;
}

.admin-claim-move-overlay-label {
  position: absolute;
  left: 0.35rem;
  top: 0.35rem;
  z-index: 3;
  display: grid;
  gap: 0.08rem;
  max-width: min(220px, calc(100% - 0.7rem));
  padding: 0.34rem 0.46rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.4);
  border-radius: 8px;
  background: var(--menu-background);
  color: var(--hud-text);
  line-height: 1.15;
  pointer-events: none;
}

.admin-claim-move-overlay-label strong {
  overflow: hidden;
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-claim-move-overlay-label span {
  color: var(--accent-turquoise);
  font-size: 0.68rem;
  font-weight: 900;
}

.admin-claim-move-overlay.is-blocked .admin-claim-move-overlay-label {
  border-color: rgba(255, 29, 60, 0.54);
  background: rgba(52, 4, 13, 0.9);
}

.admin-claim-move-overlay.is-blocked .admin-claim-move-overlay-label span {
  color: #ffb7bd;
}

.admin-claim-move-overlay-issue {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.admin-claim-move-overlay-issue-frame {
  position: absolute;
  inset: -5px;
  border: 3px solid rgba(255, 29, 60, 0.98);
  box-shadow:
    0 0 0 2px rgba(35, 0, 6, 0.86),
    0 0 18px rgba(255, 29, 60, 0.52);
  animation: overlay-placement-alert 0.82s steps(2, jump-none) infinite;
}

.admin-claim-move-overlay-issue-label {
  position: absolute;
  left: 0.35rem;
  bottom: 0.35rem;
  max-width: min(280px, calc(100% - 0.7rem));
  padding: 0.38rem 0.5rem;
  border: 2px solid rgba(255, 29, 60, 0.95);
  background: rgba(52, 4, 13, 0.94);
  color: #fff7f7;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1.05;
  overflow-wrap: anywhere;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.65);
  text-transform: uppercase;
  box-shadow: 0 0 18px rgba(255, 29, 60, 0.52);
}

.admin-audit-live-highlight-layer {
  position: absolute;
  inset: 0;
  z-index: 11;
  pointer-events: none;
}

.admin-audit-live-highlight-tile {
  position: absolute;
  display: block;
  opacity: 0.78;
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.35));
  image-rendering: pixelated;
}

.claim-template-overlay-frame {
  position: absolute;
  z-index: 5;
  min-width: 1px;
  min-height: 1px;
  cursor: move;
  pointer-events: auto;
}

.claim-template-overlay-border {
  position: absolute;
  inset: 0;
  border: 1px dashed rgba(82, 150, 255, 0.95);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.28),
    0 0 14px rgba(82, 150, 255, 0.2);
  pointer-events: none;
}

.claim-template-overlay.is-blocked .claim-template-overlay-border {
  border-color: rgba(248, 63, 63, 0.98);
  box-shadow:
    0 0 0 2px rgba(120, 12, 12, 0.72),
    0 0 18px rgba(248, 63, 63, 0.42);
}

@keyframes overlay-placement-alert {
  0%,
  100% {
    opacity: 1;
  }

  50% {
    opacity: 0.62;
  }
}

.claim-template-resize-handle {
  position: absolute;
  z-index: 1;
  width: 14px;
  height: 14px;
  border: 2px solid #3182ff;
  border-radius: 999px;
  background: #f8fbff;
  box-shadow: 0 1px 6px rgba(5, 12, 20, 0.36);
  cursor: pointer;
  pointer-events: auto;
}

.claim-template-resize-handle.is-north-west,
.claim-template-resize-handle.is-south-east {
  cursor: nwse-resize;
}

.claim-template-resize-handle.is-north-east,
.claim-template-resize-handle.is-south-west {
  cursor: nesw-resize;
}

.claim-template-resize-handle.is-north,
.claim-template-resize-handle.is-south {
  cursor: ns-resize;
}

.claim-template-resize-handle.is-east,
.claim-template-resize-handle.is-west {
  cursor: ew-resize;
}

.claim-template-resize-handle.is-north-west {
  left: -7px;
  top: -7px;
}

.claim-template-resize-handle.is-north {
  left: calc(50% - 7px);
  top: -7px;
}

.claim-template-resize-handle.is-north-east {
  right: -7px;
  top: -7px;
}

.claim-template-resize-handle.is-east {
  right: -7px;
  top: calc(50% - 7px);
}

.claim-template-resize-handle.is-south-east {
  right: -7px;
  bottom: -7px;
}

.claim-template-resize-handle.is-south {
  left: calc(50% - 7px);
  bottom: -7px;
}

.claim-template-resize-handle.is-south-west {
  left: -7px;
  bottom: -7px;
}

.claim-template-resize-handle.is-west {
  left: -7px;
  top: calc(50% - 7px);
}

.world-pending-paint.is-transparent {
  background:
    linear-gradient(45deg, rgba(0, 0, 0, 0.08) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.08) 75%, rgba(0, 0, 0, 0.08)),
    linear-gradient(45deg, rgba(0, 0, 0, 0.08) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.08) 75%, rgba(0, 0, 0, 0.08));
  background-color: rgba(255, 255, 255, 0.88);
  background-position: 0 0, 8px 8px;
  background-size: 16px 16px;
}

.world-shell.theme-dark .world-pending-paint.is-transparent {
  background:
    linear-gradient(45deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.08) 75%, rgba(255, 255, 255, 0.08)),
    linear-gradient(45deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.08) 75%, rgba(255, 255, 255, 0.08));
  background-color: rgba(12, 18, 26, 0.92);
  background-position: 0 0, 8px 8px;
  background-size: 16px 16px;
}

.world-pending-claim.is-selected,
.world-pending-paint.is-selected {
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.84),
    0 0 0 1px rgba(0, 0, 0, 0.22),
    0 0 14px rgba(255, 255, 255, 0.2);
}

.world-painted-pixel.is-selected {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38);
}

.world-hovered-pixel,
.world-paint-cursor,
.world-selected-pixel {
  --pixel-reticle: rgba(246, 249, 250, 0.96);
  --pixel-reticle-shadow: rgba(6, 12, 18, 0.72);
  --pixel-reticle-line: 2px;
  --pixel-reticle-corner: 36%;
  box-sizing: border-box;
  z-index: 9;
}

.world-paint-cursor {
  background: transparent;
  border: 0;
  box-shadow: none;
  z-index: 10;
}

.world-paint-cursor.is-transparent {
  background: transparent;
}

.world-paint-cursor.is-over-pending {
  box-shadow: none;
}

.world-hovered-pixel {
  --pixel-reticle: rgba(10, 166, 157, 0.98);
  --pixel-reticle-shadow: rgba(3, 31, 34, 0.88);
  --pixel-reticle-corner: 44%;
  border: 1px solid rgba(3, 45, 49, 0.9);
  background: rgba(18, 155, 147, 0.14);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.82),
    0 0 0 1px rgba(255, 255, 255, 0.58);
}

.world-selected-pixel {
  --pixel-reticle: rgba(255, 255, 255, 0.98);
  --pixel-reticle-shadow: rgba(5, 8, 12, 0.9);
  --pixel-reticle-line: 3px;
  --pixel-reticle-corner: 42%;
  z-index: 11;
}

.world-hovered-pixel::before,
.world-paint-cursor::before,
.world-selected-pixel::before,
.world-selected-pixel::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.world-hovered-pixel::before,
.world-paint-cursor::before,
.world-selected-pixel::before {
  inset: 0;
  background:
    linear-gradient(var(--pixel-reticle), var(--pixel-reticle)) left top / var(--pixel-reticle-corner) var(--pixel-reticle-line) no-repeat,
    linear-gradient(var(--pixel-reticle), var(--pixel-reticle)) left top / var(--pixel-reticle-line) var(--pixel-reticle-corner) no-repeat,
    linear-gradient(var(--pixel-reticle), var(--pixel-reticle)) right top / var(--pixel-reticle-corner) var(--pixel-reticle-line) no-repeat,
    linear-gradient(var(--pixel-reticle), var(--pixel-reticle)) right top / var(--pixel-reticle-line) var(--pixel-reticle-corner) no-repeat,
    linear-gradient(var(--pixel-reticle), var(--pixel-reticle)) right bottom / var(--pixel-reticle-corner) var(--pixel-reticle-line) no-repeat,
    linear-gradient(var(--pixel-reticle), var(--pixel-reticle)) right bottom / var(--pixel-reticle-line) var(--pixel-reticle-corner) no-repeat,
    linear-gradient(var(--pixel-reticle), var(--pixel-reticle)) left bottom / var(--pixel-reticle-corner) var(--pixel-reticle-line) no-repeat,
    linear-gradient(var(--pixel-reticle), var(--pixel-reticle)) left bottom / var(--pixel-reticle-line) var(--pixel-reticle-corner) no-repeat;
  filter: none;
}

.world-hovered-pixel::before {
  z-index: 1;
  filter: drop-shadow(0 0 1px var(--pixel-reticle-shadow));
}

.world-selected-pixel::after {
  inset: 0;
  border: var(--pixel-reticle-line) solid var(--pixel-reticle);
  box-shadow:
    inset 0 0 0 1px var(--pixel-reticle-shadow),
    inset 0 0 0 calc(var(--pixel-reticle-line) + 1px) rgba(0, 0, 0, 0.32);
}

.world-selected-pixel-pin {
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 3;
  width: clamp(18px, calc(100% + 10px), 32px);
  aspect-ratio: 1;
  background: url("/game-icons/local-pin.png") center / contain no-repeat;
  filter: drop-shadow(0 2px 1px rgba(5, 8, 12, 0.44));
  transform: translate(-50%, -100%);
  transform-origin: 50% 100%;
  pointer-events: none;
}

.world-selected-pixel-pin::before,
.world-selected-pixel-pin::after {
  content: none;
}

@keyframes pending-claim-pulse {
  0%,
  100% {
    background: rgba(62, 152, 129, 0.12);
  }

  50% {
    background: rgba(62, 152, 129, 0.18);
  }
}

.world-grid-line {
  position: absolute;
  background: var(--viewport-major-grid);
}

.world-grid-line.is-major {
  background: var(--viewport-grid);
}

.world-grid-line.is-origin {
  z-index: 1;
  background: var(--viewport-origin-axis);
  box-shadow: 0 0 14px rgba(255, 219, 126, 0.22);
}

.world-grid-line-vertical {
  top: 0;
  bottom: 0;
  width: 1px;
}

.world-grid-line-vertical.is-origin {
  width: 2px;
  transform: translateX(-0.5px);
}

.world-grid-line-horizontal {
  left: 0;
  right: 0;
  height: 1px;
}

.world-grid-line-horizontal.is-origin {
  height: 2px;
  transform: translateY(-0.5px);
}

.world-limit {
  position: absolute;
  z-index: 6;
  background: rgba(0, 0, 0, 0.88);
  pointer-events: none;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.world-shell.theme-light .world-limit {
  background: rgba(0, 0, 0, 0.72);
}

.world-limit-outline {
  position: absolute;
  inset: 0;
  z-index: 6;
  color: var(--world-boundary);
  pointer-events: none;
}

.world-shell.theme-light .world-limit-outline {
  color: var(--world-boundary);
}

.world-crosshair-line {
  position: absolute;
  display: none;
  background: var(--crosshair);
  pointer-events: none;
  z-index: 8;
  will-change: transform;
}

.world-crosshair-horizontal {
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
}

.world-crosshair-vertical {
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
}

.world-hud {
  position: absolute;
  z-index: 12;
  display: flex;
  gap: 0.75rem;
}

.hud-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
}

.world-hud-left {
  top: 1rem;
  left: 1rem;
}

.world-hud-right {
  top: 1rem;
  right: 1rem;
  align-items: center;
}

.world-hud-bottom-left {
  left: 1rem;
  bottom: 1rem;
}

.world-hud-bottom-center {
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
}

.world-hud-placement {
  left: 1rem;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}

.world-hud-placement.is-floating {
  bottom: auto;
  transform: none;
}

.app-toast-stack {
  position: fixed;
  z-index: 80;
  top: 5rem;
  right: 1rem;
  width: min(360px, calc(100vw - 2rem));
  display: grid;
  gap: 0.6rem;
  pointer-events: none;
}

.app-toast {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.18rem;
  column-gap: 0.7rem;
  padding: 0.78rem 0.85rem;
  border: 1px solid rgba(248, 113, 113, 0.42);
  border-radius: 14px;
  background: rgba(48, 16, 26, 0.94);
  color: #fff1f2;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.3);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  animation: app-toast-in 180ms ease both;
  pointer-events: auto;
}

.app-toast strong,
.app-toast span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.app-toast strong {
  font-size: 0.84rem;
}

.app-toast span {
  font-size: 0.8rem;
  line-height: 1.4;
}

.app-toast-dismiss {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 24px;
  height: 24px;
  align-self: start;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  opacity: 0.72;
}

.app-toast-dismiss:hover,
.app-toast-dismiss:focus-visible {
  opacity: 1;
  outline: none;
}

.app-toast.is-success {
  border-color: rgba(125, 211, 165, 0.42);
  background: rgba(12, 42, 35, 0.94);
  color: #ecfdf5;
}

.app-toast.is-info,
.app-toast.is-warning {
  border-color: rgba(var(--accent-turquoise-rgb), 0.38);
  background: rgba(8, 24, 32, 0.94);
  color: var(--hud-text);
}

@keyframes app-toast-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dev-recovery-notice {
  position: absolute;
  z-index: 65;
  top: 1rem;
  left: 50%;
  width: min(560px, calc(100vw - 2rem));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.74rem 0.82rem;
  border: 1px solid rgba(247, 163, 163, 0.42);
  border-radius: 8px;
  background: rgba(48, 16, 26, 0.94);
  color: #fff1f2;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.26);
  transform: translateX(-50%);
}

.dev-recovery-notice span {
  min-width: 0;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.35;
}

.dev-recovery-dismiss {
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: inherit;
  cursor: pointer;
}

.world-shell.has-shell-sidebar {
  --game-sidebar-width: clamp(304px, 18vw, 348px);
}

.world-shell.has-sidebar-collapsed {
  --game-sidebar-width: 60px;
}

.world-shell.has-shell-sidebar .world-viewport {
  width: calc(100% - var(--game-sidebar-width));
  margin-left: var(--game-sidebar-width);
  transition: width 160ms ease, margin-left 160ms ease, margin-right 160ms ease;
}

.world-shell.has-shell-sidebar.has-sidebar-right .world-viewport {
  margin-right: var(--game-sidebar-width);
  margin-left: 0;
}

.world-shell.has-shell-sidebar :is(
  .world-hud-left,
  .world-hud-right,
  .world-hud-bottom-left,
  .world-hud-bottom,
  .world-hud-placement,
  .build-panel-launcher,
  .mobile-touch-paint-lock-button
) {
  display: none !important;
}

.world-shell.has-shell-sidebar .world-hud-bottom-center {
  left: calc(var(--game-sidebar-width) + ((100% - var(--game-sidebar-width)) / 2));
}

.world-shell.has-shell-sidebar.has-sidebar-right .world-hud-bottom-center {
  left: calc((100% - var(--game-sidebar-width)) / 2);
}

.world-shell.has-shell-sidebar.has-sidebar-undocked .world-hud-bottom-center {
  left: 50%;
}

.world-shell.has-shell-sidebar .build-taskbar {
  border-color: rgba(18, 143, 135, 0.3);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 250, 240, 0.76) 42%, rgba(18, 143, 135, 0.12)),
    #fffaf0;
  color: #16232d;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    3px 3px 0 rgba(80, 70, 55, 0.1),
    0 14px 32px rgba(80, 70, 55, 0.16);
}

.world-shell.has-shell-sidebar .build-taskbar::before {
  background: linear-gradient(110deg, transparent 20%, rgba(18, 143, 135, 0.18), rgba(255, 255, 255, 0.6), transparent 78%);
}

.world-shell.has-shell-sidebar .build-tool-button {
  border-color: rgba(18, 143, 135, 0.22);
  background:
    linear-gradient(180deg, #e5f7f2, #fffaf0);
  color: #16232d;
  box-shadow: inset 3px 0 0 rgba(18, 143, 135, 0.18);
}

.world-shell.has-shell-sidebar .build-tool-button:not(:disabled):hover,
.world-shell.has-shell-sidebar .build-tool-button:not(:disabled):focus-visible,
.world-shell.has-shell-sidebar .build-tool-button.is-active {
  border-color: #0d716c;
  background: #128f87;
  color: #ffffff;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.16),
    0 10px 24px rgba(18, 143, 135, 0.18);
}

.world-shell.has-shell-sidebar .build-tool-icon {
  border-color: rgba(18, 143, 135, 0.26);
  background: rgba(255, 255, 255, 0.68);
  color: var(--game-accent);
}

.world-shell.has-shell-sidebar .build-tool-button:is(:hover, :focus-visible, .is-active) .build-tool-icon {
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

.world-shell.has-shell-sidebar .build-tool-counter {
  border-color: rgba(18, 143, 135, 0.2);
  background: rgba(18, 143, 135, 0.08);
  color: #52606b;
}

.world-shell.has-shell-sidebar .build-tool-button:is(:hover, :focus-visible, .is-active) .build-tool-counter {
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.game-sidebar {
  position: fixed;
  z-index: 70;
  inset: 0 auto 0 0;
  width: var(--game-sidebar-width);
  display: flex;
  flex-direction: column;
  gap: 0.78rem;
  overflow-y: auto;
  padding: calc(env(safe-area-inset-top, 0px) + 0.8rem) 0.72rem calc(env(safe-area-inset-bottom, 0px) + 0.8rem);
  border-right: 1px solid rgba(132, 120, 100, 0.34);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.88)),
    #f4efe4;
  color: #17212b;
  box-shadow: 8px 0 0 rgba(29, 27, 23, 0.035);
  transition: width 160ms ease, padding 160ms ease;
}

.game-sidebar-scroll-area {
  min-height: 0;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: inherit;
}

.world-shell.has-shell-sidebar.has-sidebar-right .game-sidebar:not(.is-floating) {
  inset: 0 0 0 auto;
}

.game-sidebar-resize-handle {
  display: none;
}

.game-sidebar.is-collapsed {
  align-items: center;
  gap: 0.62rem;
  overflow: hidden;
  padding: calc(env(safe-area-inset-top, 0px) + 0.65rem) 0.38rem calc(env(safe-area-inset-bottom, 0px) + 0.65rem);
}

.game-sidebar-rail {
  display: grid;
  justify-items: center;
  gap: 0.65rem;
  width: 100%;
}

.game-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 38px;
  padding: 0 0.18rem;
}

.game-sidebar-brand strong {
  color: #18212a;
  font-size: 1.18rem;
  font-weight: 950;
  letter-spacing: 0;
}

.game-sidebar-mark {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 2px;
  color: #10a69e;
}

.game-sidebar-mark span {
  background: currentColor;
}

.game-sidebar-mark span:nth-child(1) {
  grid-column: 2;
  grid-row: 1;
}

.game-sidebar-mark span:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

.game-sidebar-mark span:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

.game-sidebar-mark span:nth-child(4) {
  grid-column: 3;
  grid-row: 2;
}

.game-sidebar-mark span:nth-child(5) {
  grid-column: 2;
  grid-row: 3;
}

.game-sidebar-section {
  display: grid;
  gap: 0.56rem;
  padding: 0.68rem;
  border: 1px solid rgba(132, 120, 100, 0.28);
  background: rgba(255, 252, 244, 0.9);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8),
    3px 3px 0 rgba(80, 70, 55, 0.08);
}

.game-sidebar-section-head,
.game-sidebar-subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
}

.game-sidebar-head-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  margin-left: auto;
}

.game-sidebar-section-head > span,
.game-sidebar-subhead strong {
  color: #52606b;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.game-sidebar-section-head small {
  color: #73808a;
  font-size: 0.68rem;
  font-weight: 800;
}

.game-sidebar-subhead-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
}

.game-profile-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.56rem;
}

.game-profile-avatar {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 2px solid #28323d;
  background: #f8f3e8;
  color: #28323d;
  box-shadow: 2px 2px 0 rgba(40, 50, 61, 0.18);
}

.game-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.game-profile-copy {
  min-width: 0;
  display: grid;
  gap: 0.1rem;
}

.game-profile-copy strong {
  overflow: hidden;
  color: #19232d;
  font-size: 0.9rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.game-profile-copy span,
.game-badge-row span,
.game-status-card span,
.game-shop-item span {
  color: #66727c;
  font-size: 0.72rem;
  font-weight: 800;
}

.game-profile-coins,
.game-level-strip div {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
}

.game-profile-coins {
  padding: 0.32rem 0.42rem;
  border: 1px solid rgba(151, 117, 36, 0.36);
  background: #fff4cd;
  color: #7a5510;
  font-size: 0.74rem;
}

.game-level-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  color: #26313b;
  font-size: 0.76rem;
  font-weight: 900;
}

.game-level-bar {
  height: 7px;
  overflow: hidden;
  border: 1px solid rgba(132, 120, 100, 0.24);
  background: #e9dfcf;
}

.game-level-bar span {
  display: block;
  height: 100%;
  background: #159d94;
}

.game-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.32rem;
}

.game-badge-row span {
  padding: 0.24rem 0.34rem;
  border: 1px solid rgba(132, 120, 100, 0.24);
  background: #f4ead8;
}

.game-mode-list,
.game-settings-list,
.game-shop-list {
  display: grid;
  gap: 0.46rem;
}

.game-mode-button,
.game-tool-button,
.game-sidebar-primary,
.game-sidebar-small-button,
.game-sidebar-icon-button,
.game-sidebar-back,
.game-sidebar-collapse-button,
.game-shop-item button,
.game-theme-row button,
.game-sidebar-link {
  border: 1px solid rgba(132, 120, 100, 0.36);
  background: #fffaf0;
  color: #1c2732;
  cursor: pointer;
  font: inherit;
  text-decoration: none;
}

.game-mode-button {
  min-height: 58px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.58rem;
  padding: 0.56rem;
  text-align: left;
  box-shadow: 2px 2px 0 rgba(80, 70, 55, 0.08);
}

.game-area-entry-button {
  min-height: 54px;
}

.game-mode-button:hover,
.game-mode-button:focus-visible,
.game-tool-button:hover,
.game-tool-button:focus-visible,
.game-sidebar-primary:hover,
.game-sidebar-primary:focus-visible,
.game-sidebar-small-button:hover,
.game-sidebar-small-button:focus-visible,
.game-sidebar-collapse-button:hover,
.game-sidebar-collapse-button:focus-visible,
.game-theme-row button:hover,
.game-theme-row button:focus-visible {
  border-color: #149b92;
  outline: none;
}

.game-sidebar-brand .game-sidebar-collapse-button:hover,
.game-sidebar-brand .game-sidebar-collapse-button:focus-visible {
  border-color: var(--game-accent-strong) !important;
  background: var(--game-accent-strong) !important;
  color: #ffffff !important;
}

.game-sidebar-brand .game-sidebar-collapse-button:hover svg,
.game-sidebar-brand .game-sidebar-collapse-button:focus-visible svg {
  color: #ffffff !important;
}

.game-mode-icon,
.game-tool-button svg,
.game-tool-button .game-image-icon,
.game-sidebar-icon-button svg,
.game-sidebar-collapse-button svg,
.game-sidebar-collapse-button .game-image-icon,
.game-mode-button > svg,
.game-mode-icon svg,
.game-mode-icon .game-image-icon {
  width: 22px;
  height: 22px;
}

.game-mode-icon {
  height: 36px;
  display: grid;
  place-items: center;
  background: #e7f4ef;
  color: #148d86;
}

.game-mode-button strong,
.game-shop-item strong {
  display: block;
  color: #1c2732;
  font-size: 0.86rem;
  font-weight: 950;
}

.game-mode-button small {
  display: block;
  margin-top: 0.08rem;
  color: #6b7780;
  font-size: 0.7rem;
  font-weight: 800;
}

.game-settings-switch {
  width: 48px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-self: end;
  padding: 3px;
  border: 1px solid rgba(132, 120, 100, 0.42);
  border-radius: 999px;
  background: #d8d0bf;
  box-shadow:
    inset 0 1px 2px rgba(80, 70, 55, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.72);
  transition:
    background 140ms ease,
    border-color 140ms ease;
}

.game-settings-switch > span {
  width: 18px;
  height: 18px;
  display: block;
  border-radius: 999px;
  background: #fffaf0;
  box-shadow:
    0 1px 3px rgba(48, 37, 22, 0.28),
    inset 0 0 0 1px rgba(255, 255, 255, 0.7);
  transform: translateX(0);
  transition:
    background 140ms ease,
    transform 140ms ease;
}

.game-settings-switch.is-on {
  border-color: #0d716c;
  background: #128f87;
}

.game-settings-switch.is-on > span {
  background: #fffdf7;
  transform: translateX(22px);
}

.game-settings-switch.is-compact {
  width: 30px;
  height: 18px;
  padding: 2px;
}

.game-settings-switch.is-compact > span {
  width: 12px;
  height: 12px;
}

.game-settings-switch.is-compact.is-on > span {
  transform: translateX(12px);
}

.game-mode-button .game-sidebar-coin-detail,
.game-rail-coin-detail {
  display: inline-flex;
  align-items: center;
  gap: 0.26rem;
}

.game-sidebar-coin-detail svg,
.game-sidebar-coin-detail .game-coin-icon,
.game-rail-coin-detail svg,
.game-rail-coin-detail .game-coin-icon {
  width: 18px;
  height: 18px;
  color: #a06f08;
  flex: none;
}

.game-sidebar-coin-detail span,
.game-rail-coin-detail span {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.game-mode-button em {
  min-width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  background: #d8a93a;
  color: #1c2732;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 950;
}

.game-sidebar-icon-button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
}

.game-sidebar-collapse-button {
  width: 30px;
  height: 30px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  margin-left: auto;
  color: #52606b;
}

.game-sidebar-rail .game-sidebar-collapse-button {
  width: 38px;
  height: 38px;
  margin-left: 0;
}

.game-sidebar-subhead {
  min-height: 38px;
  display: grid;
  align-items: stretch;
  justify-content: stretch;
  gap: 0.46rem;
  padding: 0 0.16rem;
}

.game-sidebar-subhead-main {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem;
}

.game-sidebar-mobile-context {
  display: none;
}

.game-sidebar-mobile-topbar {
  display: contents;
}

.game-sidebar-back {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  padding: 0 0.48rem;
  color: #52606b;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.game-tool-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem;
}

.game-tool-grid.is-paint-tools {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.game-tool-button,
.game-sidebar .claim-tool-button {
  min-height: 54px;
  display: grid;
  place-items: center;
  gap: 0.18rem;
  padding: 0.42rem 0.28rem;
  color: #344250;
  font-size: 0.66rem;
  font-weight: 900;
}

.game-tool-button.is-active,
.game-sidebar .claim-tool-button.is-active,
.game-theme-row button.is-active {
  border-color: #128f87;
  background: #dff3ee;
  color: #0d716c;
}

.game-tool-button:disabled,
.game-shop-item button:disabled,
.game-sidebar-primary:disabled,
.game-sidebar-small-button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.game-status-card {
  display: grid;
  gap: 0.24rem;
  padding: 0.54rem;
  border: 1px dashed rgba(20, 143, 135, 0.4);
  background: #f8f3e8;
}

.game-status-card strong {
  color: #1d2a35;
  font-size: 0.86rem;
  font-weight: 950;
}

.game-status-card p {
  margin: 0.1rem 0 0;
  color: #66727c;
  font-size: 0.72rem;
  line-height: 1.35;
}

.game-status-card p.is-error {
  color: #b84f42;
}

.game-sidebar-actions {
  display: grid;
  grid-template-columns: minmax(0, 0.65fr) minmax(0, 1fr);
  gap: 0.44rem;
}

.game-sidebar-primary,
.game-sidebar-small-button,
.game-sidebar-link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.62rem;
  font-size: 0.74rem;
  font-weight: 950;
  text-align: center;
}

.game-sidebar-primary {
  border-color: #0f928a;
  background: #139d94;
  color: #ffffff;
}

.game-sidebar-small-button.is-danger {
  border-color: rgba(190, 82, 68, 0.45);
  color: #b84f42;
}

.game-color-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 0.26rem;
}

.game-sidebar .pixel-color-button {
  width: 100%;
  aspect-ratio: 1;
  min-width: 0;
  min-height: 0;
  border-radius: 0;
}

.game-sidebar .pixel-resource-summary {
  border: 1px solid rgba(132, 120, 100, 0.28);
  border-radius: 0;
  background: #f8f3e8;
  box-shadow: none;
}

.game-sidebar-area-controls {
  display: grid;
  gap: 0.44rem;
}

.game-sidebar-area-search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.44rem;
  align-items: stretch;
  min-width: 0;
}

.game-sidebar-area-search-row .owned-area-search {
  min-width: 0;
}

.game-sidebar-area-refresh-button {
  width: auto;
  min-width: 62px;
  min-height: 0;
  padding-inline: 0.56rem;
  border-radius: 9px;
  font-size: 0.68rem;
  white-space: nowrap;
}

.game-sidebar .account-input {
  width: 100%;
  border: 1px solid rgba(132, 120, 100, 0.32);
  border-radius: 0;
  background: #fffaf0;
  color: #1c2732;
}

.game-sidebar .owned-area-filter-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.28rem;
}

.game-sidebar .owned-area-filter-button {
  min-height: 30px;
  padding: 0.2rem 0.28rem;
  border-radius: 0;
  font-size: 0.64rem;
}

.game-sidebar-area-list,
.game-sidebar-area-section,
.game-sidebar-area-item,
.game-sidebar-area-main,
.game-sidebar-area-meta {
  display: grid;
}

.game-sidebar-area-list {
  gap: 0.62rem;
}

.game-sidebar-area-section {
  gap: 0.42rem;
}

.game-sidebar-area-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
  padding-top: 0.1rem;
  border-top: 1px solid rgba(132, 120, 100, 0.18);
}

.game-sidebar-area-section-head strong {
  color: #25313b;
  font-size: 0.74rem;
  font-weight: 950;
}

.game-sidebar-area-section-head span {
  color: #73808a;
  font-size: 0.66rem;
  font-weight: 800;
  text-align: right;
}

.game-sidebar-area-item {
  gap: 0.44rem;
  padding: 0.46rem;
  border: 1px solid rgba(132, 120, 100, 0.26);
  background: #f8f3e8;
}

.game-sidebar-area-item .owned-area-preview {
  width: 100%;
  height: 76px;
  border-radius: 0;
}

.game-sidebar-area-main {
  gap: 0.2rem;
  min-width: 0;
}

.game-sidebar-area-main strong {
  color: #1c2732;
  font-size: 0.8rem;
  font-weight: 950;
}

.game-sidebar-area-main span,
.game-sidebar-area-main small,
.game-sidebar-area-meta small {
  color: #66727c;
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.35;
}

.game-sidebar-area-main > small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.game-sidebar-area-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.26rem;
}

.game-sidebar-area-item .owned-area-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  gap: 0.34rem;
}

.game-sidebar-area-item .owned-area-inline-panel {
  border-radius: 0;
  background: #fffaf0;
}

.game-shop-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 0.52rem;
  padding: 0.5rem;
  border: 1px solid rgba(132, 120, 100, 0.26);
  background: #f8f3e8;
}

.game-shop-artwork {
  width: 58px;
  height: 58px;
  display: grid;
  grid-row: span 3;
  place-items: center;
  border: 1px solid rgba(18, 143, 135, 0.28);
  background: #dff3ee;
  color: #128f87;
}

.game-shop-artwork .shop-item-art {
  width: 44px;
  height: 44px;
  color: currentColor;
}

.game-shop-artwork .shop-art-bg {
  fill: #f9fffc;
  stroke: rgba(18, 143, 135, 0.34);
}

.game-shop-copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.game-shop-item label {
  display: grid;
  grid-template-columns: auto 46px;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
}

.game-shop-item input {
  width: 46px;
  min-height: 30px;
  border: 1px solid rgba(132, 120, 100, 0.36);
  background: #fffaf0;
  color: #1c2732;
  text-align: center;
}

.game-shop-item button {
  min-height: 34px;
  font-weight: 950;
}

.game-shop-balance,
.game-shop-price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
}

.game-shop-balance svg,
.game-shop-balance .game-coin-icon,
.game-shop-price svg,
.game-shop-price .game-coin-icon {
  width: 22px;
  height: 22px;
  color: #a06f08;
}

.game-shop-price strong {
  color: inherit;
  font-size: inherit;
}

.game-theme-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.36rem;
}

.game-theme-row button {
  min-height: 42px;
  display: grid;
  place-items: center;
  gap: 0.16rem;
  padding: 0.34rem;
  color: #52606b;
  font-size: 0.68rem;
  font-weight: 900;
}

@media (max-width: 760px) {
  .world-shell.has-shell-sidebar {
    --game-sidebar-width: min(90vw, 348px);
  }
}

.build-panel-launcher {
  position: absolute;
  z-index: 12;
  left: 1rem;
  top: 50%;
  min-width: 132px;
  display: grid;
  gap: 0.12rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid var(--hud-border);
  border-radius: 18px;
  background: var(--hud-background);
  color: var(--hud-text);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  cursor: pointer;
  transform: translateY(-50%);
  text-align: left;
}

.build-panel-launcher span {
  color: var(--modal-copy);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.build-panel-launcher strong {
  font-size: 0.92rem;
  line-height: 1.35;
}

.world-hud-bottom {
  right: 1rem;
  bottom: 1rem;
}

.hud-icon-button,
.hud-login-button,
.hud-toggle,
.modal-close,
.google-button {
  border: 1px solid var(--hud-border);
  background: var(--hud-background);
  color: var(--hud-text);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.hud-icon-button,
.hud-toggle {
  min-width: 52px;
  height: 52px;
  padding: 0 1rem;
  border-radius: 16px;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.hud-icon-button {
  width: 52px;
  padding: 0;
}

.hud-button-icon {
  width: 22px;
  height: 22px;
}

.game-image-icon {
  display: inline-block;
  flex: none;
  background: currentColor;
  mask: var(--game-image-icon) center / contain no-repeat;
  -webkit-mask: var(--game-image-icon) center / contain no-repeat;
  vertical-align: -0.15em;
}

.game-bitmap-icon {
  display: inline-block;
  flex: none;
  background: var(--game-bitmap-icon) center / contain no-repeat;
  vertical-align: -0.15em;
}

.hud-login-button {
  min-width: 104px;
  height: 52px;
  padding: 0 1.25rem;
  border-radius: 16px;
  font-weight: 700;
}

.hud-areas-button {
  min-width: 82px;
}

.hud-shop-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.account-menu-shell {
  position: relative;
}

.account-launcher {
  position: relative;
  width: 58px;
  height: 58px;
  display: inline-grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background:
    conic-gradient(from 180deg, var(--accent-turquoise) var(--account-level-progress), rgba(255, 255, 255, 0.16) 0),
    var(--hud-background);
  color: var(--hud-text);
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
}

.account-launcher-ring {
  width: 50px;
  height: 50px;
  display: inline-grid;
  place-items: center;
  border: 4px solid rgba(10, 16, 24, 0.88);
  border-radius: 999px;
  overflow: hidden;
  background: var(--hud-background);
}

.account-launcher-avatar {
  width: 44px;
  height: 44px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.account-launcher-fallback {
  display: inline-grid;
  place-items: center;
  color: var(--hud-text);
}

.account-launcher-fallback .account-avatar-icon {
  width: 24px;
  height: 24px;
}

.account-level-chip {
  position: absolute;
  right: -0.2rem;
  bottom: -0.1rem;
  min-width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.34rem;
  border: 2px solid rgba(10, 16, 24, 0.88);
  border-radius: 999px;
  background: #f9d66d;
  color: #13202d;
  font-size: 0.74rem;
  font-weight: 900;
}

.account-notification-badge,
.account-inline-badge {
  min-width: 21px;
  height: 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.32rem;
  border: 2px solid rgba(10, 16, 24, 0.9);
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 950;
  line-height: 1;
}

.account-notification-badge {
  position: absolute;
  top: -0.12rem;
  right: -0.22rem;
}

.account-inline-badge {
  margin-left: auto;
  border-width: 0;
}

.account-popover {
  position: absolute;
  top: calc(100% + 0.7rem);
  right: 0;
  width: min(360px, calc(100vw - 1.6rem));
  max-height: calc(100vh - 6rem);
  display: grid;
  gap: 0.72rem;
  overflow-y: auto;
  padding: 0.82rem;
  border: 1px solid var(--hud-border);
  border-radius: 18px;
  background: var(--modal-background);
  color: var(--hud-text);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  -webkit-backdrop-filter: blur(18px);
          backdrop-filter: blur(18px);
  animation: account-popover-in 170ms ease both;
}

@keyframes account-popover-in {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.account-popover-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.72rem;
}

.account-popover-avatar-wrap {
  position: relative;
}

.account-popover-avatar {
  width: 58px;
  height: 58px;
  border-radius: 16px;
  object-fit: cover;
}

.account-popover-title {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.account-popover-title strong {
  overflow-wrap: anywhere;
}

.account-popover-title span {
  color: var(--modal-copy);
  font-size: 0.78rem;
  font-weight: 800;
}

.account-coin-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.55rem;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: var(--panel-surface-strong);
}

.account-mini-icon {
  width: 18px;
  height: 18px;
}

.game-coin-icon,
.game-coin-icon.account-mini-icon {
  width: 22px;
  height: 22px;
  display: inline-block;
  background-color: transparent !important;
  background-image: var(--game-bitmap-icon) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

.account-level-panel,
.account-quick-stat,
.account-danger-panel {
  border: 1px solid var(--hud-border);
  border-radius: 14px;
  background: var(--panel-surface);
}

.account-level-panel {
  display: grid;
  gap: 0.55rem;
  padding: 0.7rem;
}

.account-level-panel-top {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem;
}

.account-level-panel-top span {
  justify-self: end;
  color: var(--modal-copy);
  font-size: 0.78rem;
  font-weight: 800;
}

.account-level-bar {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--panel-surface-strong);
}

.account-level-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent-turquoise), #60a5fa);
}

.account-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.account-quick-stat {
  min-height: 76px;
  display: grid;
  align-content: center;
  gap: 0.16rem;
  padding: 0.62rem;
}

.account-quick-stat span {
  color: var(--modal-copy);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-quick-stat strong {
  overflow-wrap: anywhere;
  font-size: 0.94rem;
}

.account-inline-edit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  gap: 0.5rem;
}

.account-action-tooltip {
  width: 46px;
  height: 46px;
  display: inline-flex;
}

.account-action-tooltip .account-icon-action {
  width: 100%;
  height: 100%;
}

.account-popover-input {
  min-height: 46px;
}

.account-icon-action {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hud-border);
  border-radius: 14px;
  background: var(--panel-surface-strong);
  color: var(--hud-text);
  cursor: pointer;
}

.account-icon-action:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.account-icon-action.is-danger {
  color: var(--danger-text);
}

.account-icon-action.is-muted {
  border-color: var(--danger-border);
  color: var(--danger-text-strong);
}

.account-icon-action.is-active {
  border-color: rgba(var(--accent-turquoise-rgb), 0.48);
  background: rgba(var(--accent-turquoise-rgb), 0.14);
  color: var(--accent-turquoise);
}

.account-admin-link {
  min-height: 46px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.62rem 0.7rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.34);
  border-radius: 14px;
  background: rgba(var(--accent-turquoise-rgb), 0.1);
  color: var(--hud-text);
  font-size: 0.84rem;
  font-weight: 900;
  text-decoration: none;
}

.account-admin-link span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-admin-link strong {
  color: var(--accent-turquoise);
  font-size: 0.74rem;
  letter-spacing: 0;
}

.account-admin-link:hover,
.account-admin-link:focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.54);
  background: rgba(var(--accent-turquoise-rgb), 0.16);
  outline: none;
}

.account-notification-block {
  display: grid;
  gap: 0.48rem;
}

.account-notification-toggle {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.62rem 0.7rem;
  border: 1px solid var(--hud-border);
  border-radius: 14px;
  background: var(--panel-surface);
  color: var(--hud-text);
  cursor: pointer;
  font-weight: 900;
  text-align: left;
}

.account-notification-menu {
  max-height: 236px;
  display: grid;
  gap: 0.5rem;
  overflow-y: auto;
  padding: 0.56rem;
  border: 1px solid var(--hud-border);
  border-radius: 14px;
  background: var(--panel-surface);
}

.account-notification-item {
  display: grid;
  gap: 0.28rem;
  padding: 0.62rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.22);
  border-radius: 12px;
  background: rgba(var(--accent-turquoise-rgb), 0.08);
}

.account-notification-item.is-warning {
  border-color: rgba(251, 191, 36, 0.28);
  background: rgba(251, 191, 36, 0.08);
}

.account-notification-item.is-success {
  border-color: rgba(var(--accent-turquoise-rgb), 0.34);
}

.account-notification-item.is-read {
  opacity: 0.82;
}

.account-notification-item div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.6rem;
}

.account-notification-item strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.account-notification-item time {
  flex: 0 0 auto;
  color: var(--modal-copy);
  font-size: 0.68rem;
  font-weight: 800;
}

.account-notification-item p {
  margin: 0;
  color: var(--modal-copy);
  font-size: 0.8rem;
  line-height: 1.4;
}

.notification-reward-button {
  min-height: 30px;
  justify-self: start;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.42);
  border-radius: 8px;
  padding: 0 0.7rem;
  background: rgba(var(--accent-turquoise-rgb), 0.14);
  color: var(--modal-heading);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 900;
}

.notification-reward-button:hover:not(:disabled),
.notification-reward-button:focus-visible:not(:disabled) {
  border-color: rgba(var(--accent-turquoise-rgb), 0.7);
  background: rgba(var(--accent-turquoise-rgb), 0.22);
}

.notification-reward-button:disabled {
  cursor: default;
  opacity: 0.68;
}

.notification-access-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.4rem;
  margin-top: 0.45rem;
}

.account-notification-item .notification-access-actions,
.game-sidebar-notification .notification-access-actions {
  align-items: center;
  justify-content: flex-start;
}

.notification-access-actions button {
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.38);
  border-radius: 8px;
  background: var(--panel-surface);
  color: var(--modal-heading);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 0.28rem 0.5rem;
}

.notification-access-actions button:first-child {
  background: rgba(var(--accent-turquoise-rgb), 0.14);
  border-color: rgba(var(--accent-turquoise-rgb), 0.55);
}

.notification-access-actions button:hover:not(:disabled),
.notification-access-actions button:focus-visible:not(:disabled) {
  border-color: currentColor;
}

.notification-access-actions button:disabled {
  cursor: wait;
  opacity: 0.6;
}

.account-popover-helper {
  font-size: 0.76rem;
}

.account-theme-menu {
  display: grid;
  gap: 0.48rem;
  padding: 0.58rem;
  border: 1px solid var(--hud-border);
  border-radius: 14px;
  background: var(--panel-surface);
}

.account-theme-menu-header {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  color: var(--modal-copy);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-theme-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.42rem;
}

.account-theme-option {
  min-width: 0;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.34rem;
  border: 1px solid var(--hud-border);
  border-radius: 12px;
  background: var(--panel-surface);
  color: var(--modal-copy);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 900;
}

.account-theme-option span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-theme-option.is-active {
  border-color: rgba(var(--accent-turquoise-rgb), 0.48);
  background: rgba(var(--accent-turquoise-rgb), 0.14);
  color: var(--accent-turquoise);
}

.account-popover-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.account-danger-panel {
  display: grid;
  gap: 0.62rem;
  padding: 0.7rem;
  border-color: var(--danger-border);
  background: var(--danger-surface);
}

.account-danger-panel span {
  color: var(--danger-text);
  font-size: 0.78rem;
  line-height: 1.35;
}

.account-danger-panel div {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

.account-delete-button {
  min-height: 38px;
  margin-top: 0;
  padding: 0 0.8rem;
  border-color: var(--danger-border);
  color: var(--danger-text-strong);
}

.hud-version-button {
  margin: 0;
  padding: 0.3rem 0.7rem;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: var(--hud-background);
  color: var(--modal-copy);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  cursor: pointer;
  text-align: center;
}

.hud-toggle.is-active {
  border-color: rgba(96, 247, 242, 0.42);
  background: linear-gradient(180deg, rgba(64, 147, 228, 0.24), rgba(16, 174, 130, 0.2));
  color: #ffffff;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.12),
    0 10px 24px rgba(64, 147, 228, 0.18);
}

.world-shell.theme-light .hud-toggle.is-active {
  border-color: rgba(40, 80, 158, 0.35);
  background: linear-gradient(180deg, rgba(153, 177, 251, 0.72), rgba(96, 247, 242, 0.36));
  color: #0f172a;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.45),
    0 10px 22px rgba(40, 80, 158, 0.12);
}

.hud-icon-button,
.hud-login-button,
.hud-toggle,
.modal-close,
.google-button {
  cursor: pointer;
}

.coordinate-panel {
  min-width: 176px;
  padding: 0.8rem 0.95rem;
  border: 1px solid var(--hud-border);
  border-radius: 18px;
  background: var(--hud-background);
  color: var(--hud-text);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.coordinate-row + .coordinate-row {
  margin-top: 0.45rem;
}

.coordinate-label,
.coordinate-value {
  display: block;
}

.coordinate-label {
  color: var(--modal-copy);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.coordinate-value {
  margin-top: 0.12rem;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}

.holder-panel {
  min-width: 166px;
  padding: 0.8rem 1rem;
  border: 1px solid var(--hud-border);
  border-radius: 18px;
  background: var(--hud-background);
  color: var(--hud-text);
  text-align: center;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.holder-label,
.holder-value {
  display: block;
}

.holder-label {
  color: var(--modal-copy);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.holder-value {
  margin-top: 0.18rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.holder-subtext {
  display: block;
  margin-top: 0.24rem;
  color: var(--modal-copy);
  font-size: 0.76rem;
  letter-spacing: 0.03em;
}

.build-taskbar {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(108px, 1fr));
  align-items: center;
  gap: 0.36rem;
  overflow: hidden;
  padding: 0.34rem;
  border: 1px solid var(--hud-border);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.12), transparent 38%),
    var(--hud-background);
  color: var(--hud-text);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 16px 42px rgba(0, 0, 0, 0.22);
}

.build-taskbar::before {
  content: "";
  position: absolute;
  inset: -45% auto -45% -40%;
  width: 42%;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.22), transparent 78%);
  opacity: 0.58;
  transform: skewX(-18deg);
  animation: build-taskbar-shimmer 5.8s ease-in-out infinite;
}

@keyframes build-taskbar-shimmer {
  0%,
  58% {
    transform: translateX(0) skewX(-18deg);
  }

  100% {
    transform: translateX(360%) skewX(-18deg);
  }
}

@keyframes pending-claim-blocked-pulse {
  0%,
  100% {
    background: rgba(255, 29, 60, 0.12);
  }

  50% {
    background: rgba(255, 29, 60, 0.2);
  }
}

.build-tool-button {
  position: relative;
  min-width: 0;
  min-height: 50px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 0.5rem;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 0.46rem 0.56rem;
  background:
    linear-gradient(180deg, var(--panel-surface-strong), var(--panel-surface));
  color: var(--hud-text);
  cursor: pointer;
  text-align: left;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease,
    color 160ms ease;
}

.build-tool-paint-button.is-refilling {
  padding-bottom: 0.6rem;
}

.build-tool-refill-meter {
  position: absolute;
  right: 0.5rem;
  bottom: 0.26rem;
  left: 0.5rem;
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.2);
  pointer-events: none;
}

.build-tool-refill-meter span {
  display: block;
  width: var(--pixel-refill-progress, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent-turquoise), var(--accent-mint));
  transition: width 220ms linear;
}

.build-tool-button:not(:disabled):hover,
.build-tool-button:not(:disabled):focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.48);
  background:
    linear-gradient(180deg, rgba(var(--accent-turquoise-rgb), 0.18), rgba(125, 211, 165, 0.1));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 12px 28px rgba(var(--accent-turquoise-rgb), 0.14);
  outline: none;
}

.build-tool-button.is-active {
  border-color: rgba(var(--accent-turquoise-rgb), 0.5);
  background:
    linear-gradient(180deg, rgba(var(--accent-turquoise-rgb), 0.22), rgba(125, 211, 165, 0.12));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.build-tool-button:disabled {
  border-color: rgba(148, 163, 184, 0.16);
  background:
    repeating-linear-gradient(
      135deg,
      rgba(148, 163, 184, 0.09) 0,
      rgba(148, 163, 184, 0.09) 5px,
      rgba(15, 23, 42, 0.02) 5px,
      rgba(15, 23, 42, 0.02) 10px
    ),
    rgba(255, 255, 255, 0.025);
  color: rgba(148, 163, 184, 0.72);
  cursor: not-allowed;
  box-shadow: none;
}

.build-tool-button.is-blocked:disabled {
  border-color: rgba(248, 113, 113, 0.28);
  background:
    repeating-linear-gradient(
      135deg,
      rgba(248, 113, 113, 0.12) 0,
      rgba(248, 113, 113, 0.12) 5px,
      rgba(15, 23, 42, 0.02) 5px,
      rgba(15, 23, 42, 0.02) 10px
    ),
    rgba(127, 29, 29, 0.12);
}

.build-tool-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.18);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--accent-turquoise);
}

.build-tool-paint-button .build-tool-icon {
  position: relative;
  overflow: visible;
}

.build-tool-color-swatch {
  position: absolute;
  right: -3px;
  bottom: -3px;
  box-sizing: border-box;
  width: 11px;
  height: 11px;
  display: block;
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(22, 33, 43, 0.3);
  pointer-events: none;
}

.build-tool-color-swatch[data-transparent="true"] {
  background: conic-gradient(#ffffff 0 25%, #98a2ad 0 50%, #ffffff 0 75%, #98a2ad 0) 0 / 4px 4px;
}

.build-tool-button.is-blocked .build-tool-icon {
  color: #fca5a5;
}

.build-tool-icon .account-mini-icon,
.build-tool-icon .tool-mini-icon {
  width: 1.1rem;
  height: 1.1rem;
}

.build-tool-main {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.16rem;
}

.build-tool-title {
  max-width: 100%;
  overflow: hidden;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.build-tool-counter {
  justify-self: start;
  max-width: 100%;
  overflow: hidden;
  padding: 0.1rem 0.38rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.18);
  border-radius: 999px;
  background: rgba(var(--accent-turquoise-rgb), 0.09);
  color: var(--modal-copy);
  font-size: 0.66rem;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.build-tool-button.is-blocked .build-tool-counter {
  border-color: rgba(248, 113, 113, 0.24);
  background: rgba(127, 29, 29, 0.1);
  color: rgba(248, 113, 113, 0.88);
}

.build-tool-badge {
  position: absolute;
  top: 0.28rem;
  right: 0.28rem;
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fbbf24;
  color: #101418;
  font-size: 0.64rem;
}

.world-area-panel {
  position: absolute;
  z-index: 12;
  top: 5rem;
  right: 1rem;
  width: min(340px, calc(100vw - 2rem));
  max-height: calc(100vh - 10rem);
  display: grid;
  gap: 0.72rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.85rem;
  border: 1px solid var(--hud-border);
  border-radius: 18px;
  background: var(--hud-background);
  color: var(--hud-text);
  scrollbar-width: thin;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.world-area-panel.has-admin-audit {
  width: min(460px, calc(100vw - 2rem));
}

.area-panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

.area-panel-title {
  min-width: 0;
  display: grid;
  gap: 0.18rem;
}

.area-panel-close {
  flex: 0 0 auto;
}

.area-panel-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
}

.area-panel-actions .area-options-button {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 999px;
  font-size: 1rem;
  line-height: 1;
}

.area-panel-header strong {
  font-size: 1.05rem;
  overflow-wrap: anywhere;
}

.area-summary-card,
.area-reaction-card,
.area-share-card,
.area-access-card,
.area-edit-card,
.area-admin-tools-card {
  border: 1px solid var(--hud-border);
  border-radius: 16px;
  background: var(--panel-surface);
}

.area-summary-card {
  padding: 0.68rem 0.75rem;
}

.area-pixel-audit-card {
  display: grid;
  gap: 0.52rem;
  padding: 0.68rem 0.75rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.24);
  border-radius: 16px;
  background: rgba(var(--accent-turquoise-rgb), 0.075);
}

.area-pixel-audit-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.area-pixel-audit-header strong {
  font-size: 0.92rem;
}

.area-pixel-audit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
}

.area-pixel-audit-list div {
  min-width: 0;
}

.area-pixel-audit-list dt {
  color: var(--modal-copy);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.area-pixel-audit-list dd {
  margin: 0.12rem 0 0;
  overflow-wrap: anywhere;
  font-weight: 900;
}

.area-admin-tools-card {
  display: grid;
  gap: 0.65rem;
  padding: 0.68rem 0.75rem;
}

.area-admin-tools-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}

.area-admin-tools-header strong {
  overflow-wrap: anywhere;
  font-size: 0.86rem;
}

.area-admin-tools-card .area-action-button {
  width: 100%;
}

.area-admin-tools-card .area-action-button.is-active {
  border-color: rgba(var(--accent-turquoise-rgb), 0.74);
  background: rgba(var(--accent-turquoise-rgb), 0.22);
  color: var(--hud-text);
}

.area-admin-tool-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.5rem;
}

.area-admin-move-status {
  display: grid;
  gap: 0.58rem;
  padding: 0.62rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.24);
  border-radius: 12px;
  background: rgba(var(--accent-turquoise-rgb), 0.065);
}

.area-admin-move-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.48rem;
}

.area-admin-move-grid div {
  min-width: 0;
  display: grid;
  gap: 0.14rem;
}

.area-admin-move-grid span {
  color: var(--modal-copy);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.area-admin-move-grid strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 0.82rem;
}

.area-admin-move-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
}

.area-admin-move-actions .area-id-copy {
  min-height: 42px;
  padding: 0 0.68rem;
}

.area-admin-move-actions .area-id-copy:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.area-admin-delete-status {
  display: grid;
  gap: 0.58rem;
  padding: 0.62rem;
  border: 1px solid var(--danger-border);
  border-radius: 12px;
  background: var(--danger-surface);
}

.area-admin-delete-copy {
  display: grid;
  gap: 0.16rem;
}

.area-admin-delete-copy span {
  color: var(--danger-text);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.area-admin-delete-copy strong,
.area-admin-tools-card .area-action-button.is-danger {
  color: var(--danger-text-strong);
}

.area-admin-delete-copy small {
  color: var(--modal-copy);
  line-height: 1.35;
}

.area-admin-delete-actions {
  display: flex;
  justify-content: flex-end;
}

.area-admin-tools-card .area-action-button.is-danger {
  border-color: var(--danger-border);
  background: rgba(248, 113, 113, 0.12);
}

.world-area-panel .admin-audit-panel.is-compact {
  padding: 0.2rem 0 0;
}

.admin-audit-panel.is-compact .admin-panel-heading {
  display: none;
}

.admin-audit-panel.is-compact .admin-audit-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.72rem;
}

.admin-audit-panel.is-compact .admin-audit-live-tools {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.42rem;
  align-items: center;
  justify-content: stretch;
}

.admin-audit-panel.is-compact .admin-audit-actions {
  padding: 0.48rem;
}

.admin-audit-panel.is-compact .admin-audit-painter-list {
  max-height: 320px;
}

.area-bottom-actions {
  display: grid;
  gap: 0.55rem;
}

.area-reaction-card {
  display: grid;
  gap: 0.5rem;
  padding: 0.55rem;
}

.area-reaction-controls {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.area-reaction-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.34rem 0.55rem;
  align-items: center;
  color: var(--modal-copy);
  font-size: 0.72rem;
  font-weight: 800;
}

.area-reaction-meta span,
.area-reaction-meta strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.area-reaction-meta strong {
  color: var(--hud-text);
}

.area-share-card {
  display: grid;
  gap: 0.42rem;
  padding: 0.55rem;
}

.area-reaction-button {
  min-width: 0;
  height: 38px;
  display: inline-flex;
  flex: 1 1;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  border: 1px solid var(--hud-border);
  border-radius: 12px;
  background: var(--panel-surface-strong);
  color: var(--hud-text);
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.area-reaction-button.is-active {
  border-color: rgba(var(--accent-turquoise-rgb), 0.68);
  background: rgba(var(--accent-turquoise-rgb), 0.18);
  color: var(--accent-turquoise);
}

.area-reaction-button.is-dislike.is-active {
  border-color: rgba(252, 165, 165, 0.68);
  background: rgba(252, 165, 165, 0.16);
  color: var(--danger-text-strong);
}

.area-reaction-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.area-reaction-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.area-share-button {
  min-height: 40px;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.38);
  border-radius: 12px;
  background: rgba(var(--accent-turquoise-rgb), 0.11);
  color: var(--hud-text);
  cursor: pointer;
  font-weight: 900;
}

.area-share-button:hover,
.area-share-button:focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.6);
  background: rgba(var(--accent-turquoise-rgb), 0.18);
  outline: none;
}

.area-share-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.area-share-feedback {
  margin: 0;
  color: var(--modal-copy);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

.area-share-feedback.is-success {
  color: var(--accent-turquoise);
}

.area-share-feedback.is-error {
  color: var(--danger-text-strong);
}

.area-summary-list {
  display: grid;
  gap: 0.34rem;
  margin: 0;
}

.area-summary-list div {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 0.55rem;
  align-items: baseline;
}

.area-summary-list dt,
.area-access-header span,
.area-access-list > span {
  color: var(--modal-copy);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.area-summary-list dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  font-weight: 400;
}

.area-summary-list .area-summary-name-value {
  font-weight: 800;
}

.area-edit-card,
.area-access-card {
  display: grid;
  gap: 0.65rem;
  padding: 0.72rem;
}

.area-field-stack {
  display: grid;
  gap: 0.35rem;
}

.area-field-limit {
  justify-self: end;
  color: var(--modal-copy);
  font-size: 0.72rem;
  font-weight: 800;
}

.area-field-limit.is-error {
  color: var(--danger-text);
}

.area-inline-actions,
.area-primary-actions,
.area-access-row,
.area-player-actions {
  display: flex;
  align-items: center;
  gap: 0.48rem;
}

.area-inline-actions,
.area-primary-actions,
.area-access-row {
  justify-content: space-between;
}

.area-access-header {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: flex-start;
  gap: 0.55rem;
}

.area-access-cta {
  display: grid;
  gap: 0.42rem;
}

.area-access-cta .area-action-button {
  width: 100%;
}

.area-access-controls {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.38rem;
}

.area-slot-pill,
.area-request-toggle {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  padding: 0 0.58rem;
  font-size: 0.7rem;
  font-weight: 900;
  white-space: nowrap;
}

.area-slot-pill {
  color: var(--modal-copy);
}

.area-request-toggle {
  background: var(--panel-surface);
  color: var(--hud-text);
  cursor: pointer;
}

.area-request-toggle.is-active {
  border-color: rgba(var(--accent-turquoise-rgb), 0.46);
  background: rgba(var(--accent-turquoise-rgb), 0.13);
  color: var(--accent-turquoise);
}

.area-request-toggle:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.area-participant {
  min-width: 0;
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: 0.48rem;
}

.area-participant-name {
  min-width: 0;
  display: grid;
  gap: 0.1rem;
}

.area-participant-avatar {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  display: block;
  overflow: hidden;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  object-fit: cover;
  object-position: center;
  background: var(--panel-surface-strong);
  color: var(--modal-copy);
}

.area-participant-avatar-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.area-participant-avatar .account-avatar-icon {
  width: 18px;
  height: 18px;
}

.area-access-header strong,
.area-access-row strong,
.area-participant-name strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.area-role-tag {
  flex: 0 0 auto;
  padding: 0.18rem 0.42rem;
  border: 1px solid rgba(148, 163, 184, 0.36);
  border-radius: 999px;
  color: #cbd5e1;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}

.area-role-tag.is-owner {
  border-color: rgba(96, 165, 250, 0.4);
  color: #bfdbfe;
}

.area-role-tag.is-admin {
  border-color: rgba(var(--accent-turquoise-rgb), 0.42);
  color: var(--accent-turquoise);
}

.area-role-tag.is-member {
  border-color: rgba(34, 197, 94, 0.4);
  color: #86efac;
}

.area-role-tag.is-viewer {
  border-color: rgba(148, 163, 184, 0.34);
  color: #cbd5e1;
}

.area-access-list {
  display: grid;
  gap: 0.38rem;
}

.area-access-list > small {
  color: var(--modal-copy);
}

.area-access-row {
  min-height: 30px;
}

.area-player-actions {
  flex: 0 0 auto;
}

.area-request-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.area-player-options-button {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  padding: 0;
  background: var(--panel-surface);
  color: var(--modal-copy);
  cursor: pointer;
}

.area-player-options-button .options-dot-icon {
  width: 15px;
  height: 15px;
}

.area-player-options-button svg {
  width: 15px;
  height: 15px;
}

.area-player-options-button:not(:disabled):hover {
  border-color: rgba(var(--accent-turquoise-rgb), 0.46);
  background: rgba(var(--accent-turquoise-rgb), 0.13);
  color: var(--hud-text);
}

.area-player-options-button:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

.area-context-menu-item:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.area-add-player-button {
  width: 42px;
  min-height: 42px;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: var(--panel-surface-strong);
  color: var(--hud-text);
  cursor: pointer;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

.area-add-player-button:hover {
  border-color: rgba(var(--accent-turquoise-rgb), 0.46);
  background: rgba(var(--accent-turquoise-rgb), 0.13);
}

.area-primary-actions {
  align-items: stretch;
}

.area-primary-actions .area-action-button {
  flex: 1 1;
}

.area-quick-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 0.5rem;
}

.area-quick-action-button {
  min-width: 0;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.46rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.38);
  border-radius: 12px;
  padding: 0.52rem 0.72rem;
  background: var(--panel-surface-strong);
  color: var(--hud-text);
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.area-quick-action-button:not(:disabled):hover,
.area-quick-action-button:not(:disabled):focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.58);
  background: rgba(var(--accent-turquoise-rgb), 0.14);
  outline: none;
}

.area-quick-action-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.area-quick-action-button span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.area-quick-action-icon {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
}

.area-finish-button {
  border-color: rgba(248, 113, 113, 0.44);
  color: var(--danger-text-strong);
}

.area-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.area-stat-grid article {
  min-width: 0;
  display: grid;
  gap: 0.15rem;
  padding: 0.62rem;
  border-radius: 12px;
  background: var(--panel-surface);
}

.area-stat-grid span,
.area-stat-grid small,
.area-description,
.area-contributor-list small {
  color: var(--modal-copy);
}

.area-stat-grid span {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.area-stat-grid strong {
  overflow-wrap: anywhere;
}

.area-id-code {
  font-family: var(--font-code);
  font-size: 0.92rem;
}

.area-id-copy {
  width: fit-content;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: var(--panel-surface-strong);
  color: var(--hud-text);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 900;
}

.area-id-copy {
  padding: 0.38rem 0.58rem;
}

.area-options-button {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: var(--panel-surface-strong);
  color: var(--hud-text);
  cursor: pointer;
  padding: 0;
}

.area-options-button:hover,
.area-context-menu-item:hover {
  border-color: rgba(var(--accent-turquoise-rgb), 0.46);
  background: rgba(var(--accent-turquoise-rgb), 0.13);
}

.options-dot-icon {
  width: 18px;
  height: 18px;
  display: block;
}

.area-context-menu-layer {
  position: fixed;
  inset: 0;
  z-index: 45;
  background: transparent;
}

.world-shell.has-shell-sidebar .area-context-menu-layer {
  z-index: 160;
}

.area-context-menu {
  position: fixed;
  width: 220px;
  max-height: calc(100dvh - 24px);
  display: grid;
  gap: 0.42rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.58rem;
  border: 1px solid var(--hud-border);
  border-radius: 16px;
  background: var(--menu-background);
  color: var(--hud-text);
  box-shadow: var(--menu-shadow);
  -webkit-backdrop-filter: blur(18px);
          backdrop-filter: blur(18px);
}

.area-context-menu-header {
  display: grid;
  gap: 0.1rem;
  padding: 0.4rem 0.46rem 0.48rem;
  border-bottom: 1px solid var(--panel-divider);
}

.area-context-menu-header span {
  color: var(--modal-copy);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.area-context-menu-header strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.area-context-menu-item {
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--hud-text);
  cursor: pointer;
  font-weight: 900;
  text-align: left;
}

.area-owner-tools,
.area-contributor-list {
  display: grid;
  gap: 0.55rem;
}

.area-description {
  margin: 0;
  line-height: 1.55;
}

.area-input {
  min-height: 42px;
  border-radius: 12px;
}

.area-input[aria-invalid="true"],
.area-textarea[aria-invalid="true"] {
  border-color: rgba(248, 113, 113, 0.72);
}

.area-textarea {
  min-height: 96px;
  resize: vertical;
}

.area-action-button {
  min-height: 42px;
  margin-top: 0;
}

.area-invite-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 0.55rem;
}

.claim-tool-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  align-items: center;
  margin-top: 0.8rem;
}

.paint-tool-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  align-items: center;
}

.tool-status-pill {
  grid-column: 1 / -1;
  justify-self: stretch;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.22);
  border-radius: 999px;
  background: rgba(var(--accent-turquoise-rgb), 0.08);
  color: var(--modal-copy);
  font-size: 0.78rem;
  font-weight: 800;
  text-align: center;
}

.claim-tool-button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  border: 1px solid var(--hud-border);
  border-radius: 12px;
  background: var(--panel-surface);
  color: var(--hud-text);
  cursor: pointer;
  font-weight: 800;
  transition:
    background 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    opacity 160ms ease;
}

.tool-mini-icon,
.paint-tool-button-icon {
  width: 0.9rem;
  height: 0.9rem;
  flex-shrink: 0;
}

.claim-tool-button:not(:disabled):hover,
.claim-tool-button:not(:disabled):focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.44);
  background: rgba(var(--accent-turquoise-rgb), 0.12);
  outline: none;
}

.claim-tool-button.is-active {
  border-color: rgba(var(--accent-turquoise-rgb), 0.5);
  background: rgba(var(--accent-turquoise-rgb), 0.16);
}

.touch-paint-lock-button {
  display: none;
}

@media (pointer: coarse) {
  .world-viewport.is-audit-picking,
  .world-viewport.is-touch-paint-locked {
    cursor: none;
  }

  .world-crosshair-line,
  .world-hovered-pixel,
  .world-paint-cursor {
    display: none !important;
  }

  .paint-tool-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .claim-tool-button:not(.is-active):hover {
    border-color: var(--hud-border);
    background: var(--panel-surface);
    color: var(--hud-text);
    box-shadow: none;
  }

  .touch-paint-lock-button {
    display: inline-flex;
  }
}

.claim-tool-button:disabled {
  border-color: rgba(248, 113, 113, 0.2);
  background: rgba(127, 29, 29, 0.12);
  color: rgba(248, 113, 113, 0.78);
  cursor: not-allowed;
  opacity: 0.72;
}

.claim-overlay-tool {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.8rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--panel-divider);
}

.overlay-file-input {
  display: none;
}

.overlay-drop-zone {
  min-height: 66px;
  display: grid;
  gap: 0.24rem;
  place-items: center;
  border: 1px dashed rgba(148, 163, 184, 0.46);
  border-radius: 14px;
  background: var(--panel-surface);
  color: var(--hud-text);
  cursor: pointer;
  text-align: center;
}

.overlay-drop-zone strong {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.overlay-drop-zone span,
.overlay-control span,
.overlay-meta-row span {
  color: var(--modal-copy);
  font-size: 0.76rem;
  font-weight: 800;
}

.overlay-control-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.overlay-control {
  display: grid;
  gap: 0.35rem;
}

.overlay-control select,
.overlay-select-button {
  min-height: 38px;
  width: 100%;
  border: 1px solid var(--hud-border);
  border-radius: 12px;
  background: var(--panel-surface-strong);
  color: var(--hud-text);
  font-weight: 800;
}

.overlay-control select {
  color-scheme: inherit;
  padding: 0 0.65rem;
}

.overlay-control select option {
  background: var(--menu-background);
  color: var(--hud-text);
}

.overlay-select-button {
  cursor: pointer;
}

.overlay-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--modal-copy);
  font-size: 0.82rem;
  font-weight: 800;
}

.overlay-toggle-row {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
}

.overlay-cutout-help {
  position: relative;
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.34);
  border-radius: 999px;
  background: rgba(var(--accent-turquoise-rgb), 0.1);
  color: var(--hud-text);
  cursor: help;
  outline: none;
}

.overlay-cutout-help:hover,
.overlay-cutout-help:focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.64);
  background: rgba(var(--accent-turquoise-rgb), 0.18);
}

.overlay-cutout-help-icon {
  width: 13px;
  height: 13px;
  color: currentColor;
}

.overlay-cutout-tooltip {
  position: absolute;
  left: 0;
  bottom: calc(100% + 0.42rem);
  z-index: 30;
  width: min(280px, calc(100vw - 2rem));
  display: grid;
  gap: 0.3rem;
  padding: 0.62rem 0.68rem;
  border: 1px solid var(--hud-border);
  border-radius: 7px;
  background: var(--panel-surface-strong);
  color: var(--modal-copy);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
  font-size: 0.72rem;
  font-weight: 760;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.24rem);
  transition: opacity 140ms ease, transform 140ms ease;
}

.overlay-cutout-tooltip strong {
  color: var(--hud-text);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.035em;
  line-height: 1;
  text-transform: uppercase;
}

.overlay-cutout-tooltip span {
  display: block;
}

.overlay-cutout-help:hover .overlay-cutout-tooltip,
.overlay-cutout-help:focus-visible .overlay-cutout-tooltip {
  opacity: 1;
  transform: translateY(0);
}

.overlay-action-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.overlay-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.2);
  border-radius: 12px;
  background: rgba(var(--accent-turquoise-rgb), 0.08);
}

.overlay-meta-row strong {
  font-size: 0.78rem;
}

.overlay-render-progress {
  display: grid;
  gap: 0.42rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.28);
  border-radius: 12px;
  background: rgba(5, 13, 20, 0.48);
}

.overlay-render-progress-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.overlay-render-progress-label span {
  min-width: 0;
  overflow: hidden;
  color: var(--modal-copy);
  font-size: 0.72rem;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.overlay-render-progress-label strong {
  color: var(--hud-text);
  font-size: 0.74rem;
  font-weight: 950;
}

.overlay-render-progress-track {
  height: 8px;
  overflow: hidden;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.24);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.32);
}

.overlay-render-progress-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(var(--accent-turquoise-rgb), 0.78), rgba(250, 204, 21, 0.86));
  transition: width 120ms linear;
}

.overlay-palette-window {
  display: grid;
  gap: 0.65rem;
  margin-top: 0.65rem;
  padding: 0.7rem;
  border: 1px solid var(--hud-border);
  border-radius: 14px;
  background: var(--menu-background);
}

.overlay-palette-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.overlay-palette-header div {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.overlay-palette-colors {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.42rem;
}

.overlay-palette-row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.42rem;
}

.overlay-color-toggle {
  position: relative;
  display: block;
  aspect-ratio: 1;
}

.overlay-color-spacer {
  display: block;
}

.overlay-color-toggle input {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.overlay-color-toggle span {
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
}

.overlay-color-toggle input:checked + span {
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, 0.82),
    0 0 0 4px rgba(49, 130, 255, 0.38);
}

.overlay-color-toggle input:not(:checked) + span {
  opacity: 0.25;
}

.pixel-placement-panel {
  width: min(360px, calc(100vw - 1.25rem));
  max-height: calc(100vh - 8rem);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  padding: 0.9rem 1rem;
  border: 1px solid var(--hud-border);
  border-radius: 22px;
  background: var(--hud-background);
  color: var(--hud-text);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.pixel-placement-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding-bottom: 0.72rem;
  border-bottom: 1px solid var(--panel-divider);
  cursor: grab;
  touch-action: none;
  -webkit-user-select: none;
          user-select: none;
}

.pixel-placement-header:active {
  cursor: grabbing;
}

.pixel-placement-heading-row {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.paint-header-tool-row {
  display: none;
}

.claim-header-tool-row {
  display: none;
}

.mobile-pending-label {
  display: none;
}

.pixel-placement-title {
  display: block;
  margin-top: 0.18rem;
  font-size: 1rem;
}

.pixel-placement-mode-help {
  display: block;
  max-width: 250px;
  margin-top: 0.26rem;
  color: var(--modal-copy);
  font-size: 0.78rem;
  line-height: 1.45;
}

.pixel-placement-owner {
  color: var(--modal-copy);
  font-size: 0.8rem;
  text-align: right;
}

.pixel-placement-header-actions {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0.7rem;
  min-width: 88px;
}

.pixel-panel-close {
  width: 32px;
  height: 32px;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: var(--panel-surface-strong);
  color: var(--hud-text);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
}

.pixel-resource-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.16rem 0.8rem;
  align-items: baseline;
  margin-top: 0.8rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.24);
  border-radius: 16px;
  background: rgba(var(--accent-turquoise-rgb), 0.085);
}

.pixel-resource-summary span {
  color: var(--modal-copy);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pixel-resource-summary strong {
  color: var(--hud-text);
  font-size: 1.16rem;
}

.pixel-resource-summary small {
  grid-column: 1 / -1;
  color: var(--modal-copy);
  font-size: 0.76rem;
  line-height: 1.45;
}

.resource-meter {
  grid-column: 1 / -1;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.resource-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent-turquoise), #60a5fa);
}

.claim-batch-progress {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.42rem;
  margin-top: 0.18rem;
}

.claim-batch-progress-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.claim-batch-progress-header span {
  color: var(--modal-copy);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.claim-batch-progress-header strong {
  font-size: 0.78rem;
}

.claim-batch-progress-bar {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.claim-batch-progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #fbbf24, #f97316);
}

.pixel-palette-grid {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.9rem;
}

.pixel-palette-desktop,
.pixel-palette-extra-rows {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pixel-palette-mobile {
  display: none;
}

.pixel-palette-expanded-colors {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.5rem;
}

.pixel-palette-toggle {
  display: none;
}

.pixel-palette-row {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.5rem;
}

.pixel-color-button {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  cursor: pointer;
}

.pixel-color-button.is-transparent {
  background:
    linear-gradient(45deg, rgba(0, 0, 0, 0.08) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.08) 75%, rgba(0, 0, 0, 0.08)),
    linear-gradient(45deg, rgba(0, 0, 0, 0.08) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.08) 75%, rgba(0, 0, 0, 0.08));
  background-color: rgba(255, 255, 255, 0.88);
  background-position: 0 0, 8px 8px;
  background-size: 16px 16px;
}

.world-shell.theme-dark .pixel-color-button.is-transparent {
  background:
    linear-gradient(45deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.08) 75%, rgba(255, 255, 255, 0.08)),
    linear-gradient(45deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.08) 75%, rgba(255, 255, 255, 0.08));
  background-color: rgba(12, 18, 26, 0.92);
  background-position: 0 0, 8px 8px;
  background-size: 16px 16px;
}

.pixel-color-button.is-transparent::after,
.world-pending-paint.is-transparent::after {
  content: "";
  position: absolute;
  inset: 14%;
  border-radius: 8px;
  border: 2px solid rgba(237, 28, 36, 0.84);
  background: linear-gradient(135deg, transparent 44%, rgba(237, 28, 36, 0.88) 44%, rgba(237, 28, 36, 0.88) 56%, transparent 56%);
}

.world-pending-paint.is-submitted.is-transparent::after {
  content: none;
}

.world-pending-paint.is-submitted.is-transparent {
  background: rgba(255, 255, 255, 0.9);
}

.pixel-color-button.is-active {
  z-index: 1;
  border-color: rgba(255, 255, 255, 0.96);
  outline: 3px solid var(--accent-turquoise);
  outline-offset: 1px;
  box-shadow: 2px 2px 0 rgba(42, 28, 18, 0.24);
  transform: translate(-1px, -1px);
}

.pixel-placement-footer {
  margin-top: 0.9rem;
}

.pixel-pending-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  margin-bottom: 0.65rem;
  color: var(--modal-copy);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.pixel-pending-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

.pixel-clear-button {
  min-height: 34px;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  padding: 0 0.72rem;
  background: rgba(255, 255, 255, 0.04);
  color: var(--hud-text);
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 800;
}

.pixel-clear-button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.pixel-clear-button.is-active {
  border-color: rgba(var(--accent-turquoise-rgb), 0.48);
  background: rgba(var(--accent-turquoise-rgb), 0.14);
  color: var(--accent-turquoise);
}

.pixel-placement-help {
  margin: 0;
  color: var(--modal-copy);
  line-height: 1.5;
}

.pixel-placement-help.is-danger {
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(248, 113, 113, 0.24);
  border-radius: 12px;
  background: rgba(127, 29, 29, 0.14);
  color: #fca5a5;
}

.pixel-place-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.12rem;
  margin-top: 0.8rem;
}

.pixel-place-resource {
  display: none;
  color: currentColor;
  font-size: 0.68rem;
  font-weight: 800;
  line-height: 1.1;
  opacity: 0.78;
}

.mobile-touch-paint-lock-button {
  display: none;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(0, 0, 0, 0.45);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
}

.modal-window {
  width: min(720px, 100%);
  max-height: calc(100vh - 2rem);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid var(--hud-border);
  background: var(--modal-background);
  color: var(--hud-text);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.26);
  padding: 1.25rem;
}

.login-modal {
  width: min(520px, 100%);
}

.areas-modal {
  width: min(980px, 100%);
}

.modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.modal-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--modal-copy);
}

.modal-header h2,
.modal-card h3 {
  margin: 0;
}

.modal-header h2 {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.modal-close {
  min-height: 44px;
  padding: 0.75rem 1rem;
  border-radius: 14px;
}

.modal-header-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.modal-icon-action {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--hud-text);
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 950;
  line-height: 1;
}

.modal-icon-action:hover,
.modal-icon-action:focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.5);
  background: rgba(var(--accent-turquoise-rgb), 0.12);
  outline: none;
}

.modal-restore-chip,
.area-panel-restore-chip {
  position: fixed;
  z-index: 18;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: var(--hud-background);
  color: var(--hud-text);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.26);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  cursor: pointer;
}

.modal-restore-chip {
  left: 1rem;
  bottom: 1rem;
  padding: 0.42rem 0.82rem;
}

.area-panel-restore-chip {
  right: 1rem;
  bottom: 5.1rem;
  max-width: min(320px, calc(100vw - 2rem));
  padding: 0.42rem 0.82rem;
}

.modal-restore-chip span,
.area-panel-restore-chip span {
  color: var(--modal-copy);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.modal-restore-chip strong,
.area-panel-restore-chip strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modal-sections {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

.modal-scroll-area {
  flex: 1 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.25rem;
  overscroll-behavior: contain;
}

.modal-scroll-area::-webkit-scrollbar {
  width: 10px;
}

.modal-scroll-area::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  background-clip: padding-box;
}

.modal-card {
  padding: 1rem;
  border-radius: 20px;
  background: var(--modal-card);
}

.account-card {
  display: grid;
  gap: 1rem;
}

.account-header {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.account-avatar-stack {
  position: relative;
  display: inline-flex;
}

.account-avatar {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  object-fit: cover;
  background: var(--panel-surface-strong);
}

.account-avatar-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--hud-text);
  background: linear-gradient(180deg, var(--panel-surface-strong), var(--panel-surface));
}

.account-avatar-icon {
  width: 36px;
  height: 36px;
}

.account-avatar-edit-button {
  position: absolute;
  right: -0.35rem;
  bottom: -0.35rem;
  width: 34px;
  height: 34px;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: var(--menu-background);
  color: var(--hud-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.account-details h3 {
  margin: 0;
  font-size: 1.2rem;
}

.account-tag {
  font-weight: 800;
  letter-spacing: 0.08em;
}

.account-details p {
  margin: 0.4rem 0 0;
  color: var(--modal-copy);
}

.account-onboarding {
  display: grid;
  gap: 0.3rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.22);
  border-radius: 18px;
  background: rgba(var(--accent-turquoise-rgb), 0.08);
  color: var(--hud-text);
}

.account-onboarding span {
  color: var(--modal-copy);
  line-height: 1.5;
}

.account-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.account-stat-card {
  display: grid;
  gap: 0.22rem;
  padding: 0.9rem 0.95rem;
  border-radius: 18px;
  background: var(--panel-surface);
}

.account-stat-label {
  color: var(--modal-copy);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-stat-card strong {
  font-size: 1rem;
  line-height: 1.35;
}

.account-stat-card small {
  color: var(--modal-copy);
}

.account-name-editor {
  display: grid;
  gap: 0.7rem;
}

.account-label {
  color: var(--modal-copy);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.account-input {
  min-height: 50px;
  border: 1px solid var(--hud-border);
  border-radius: 16px;
  padding: 0.8rem 0.95rem;
  background: var(--panel-surface);
  color: var(--hud-text);
  outline: none;
}

.account-input:focus {
  border-color: rgba(255, 255, 255, 0.24);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.account-helper,
.account-feedback {
  margin: 0;
  color: var(--modal-copy);
  line-height: 1.5;
}

.account-feedback.is-success {
  color: var(--accent-turquoise);
}

.account-feedback.is-error {
  color: var(--danger-text);
}

.account-actions {
  display: grid;
  gap: 0.75rem;
}

.account-actions .google-button {
  margin-top: 0;
}

.shop-content {
  display: grid;
  gap: 1rem;
}

.shop-balance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.2);
  border-radius: 18px;
  background: rgba(var(--accent-turquoise-rgb), 0.08);
}

.shop-price {
  color: var(--modal-copy);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.shop-balance-label,
.shop-price {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
}

.shop-balance-label {
  color: var(--accent-turquoise);
}

.shop-balance-label svg,
.shop-balance-label .game-coin-icon,
.shop-price svg,
.shop-price .game-coin-icon {
  width: 22px;
  height: 22px;
  color: #a06f08;
  flex: none;
}

.shop-price strong {
  color: inherit;
  font-size: inherit;
}

.shop-balance strong {
  font-size: 1.35rem;
}

.shop-purchase-dialog-backdrop {
  z-index: 24;
  background: rgba(0, 0, 0, 0.58);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.shop-purchase-window {
  position: relative;
  overflow: hidden;
  width: min(520px, 100%);
  max-height: calc(100dvh - 2rem);
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.34);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(var(--accent-turquoise-rgb), 0.14), rgba(255, 213, 102, 0.11)),
    var(--modal-card);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24);
}

.shop-purchase-title {
  display: grid;
  gap: 0.2rem;
  padding-right: 2rem;
}

.shop-purchase-hero {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: center;
  gap: 0.8rem;
}

.shop-purchase-success-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.3);
  border-radius: 16px;
  background: rgba(var(--accent-turquoise-rgb), 0.12);
  color: var(--accent-turquoise);
}

.shop-purchase-success-icon svg {
  width: 26px;
  height: 26px;
}

.shop-purchase-title small {
  color: var(--modal-copy);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.35;
}

.shop-purchase-title span,
.shop-purchase-equation span {
  color: var(--modal-copy);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.shop-purchase-title strong {
  font-size: 1.08rem;
}

.shop-purchase-close {
  position: absolute;
  z-index: 2;
  top: 0.62rem;
  right: 0.62rem;
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.24);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--hud-text);
  font-weight: 900;
  cursor: pointer;
}

.shop-purchase-equation {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.1fr);
  align-items: stretch;
  gap: 0.5rem;
}

.shop-purchase-equation div {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.12);
}

.shop-purchase-equation .is-total {
  border-color: rgba(var(--accent-turquoise-rgb), 0.38);
  background: rgba(var(--accent-turquoise-rgb), 0.12);
}

.shop-purchase-equation strong {
  font-size: 1.18rem;
  line-height: 1;
}

.shop-purchase-equation b {
  align-self: center;
  color: #ffd166;
  font-size: 1.2rem;
}

.shop-firework {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.shop-firework span {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--accent-turquoise);
  animation: shop-spark 900ms ease-out both;
}

.shop-firework span:nth-child(1) {
  top: 14%;
  left: 18%;
  background: #ffd166;
}

.shop-firework span:nth-child(2) {
  top: 18%;
  right: 22%;
  animation-delay: 80ms;
}

.shop-firework span:nth-child(3) {
  top: 54%;
  left: 10%;
  background: #f7a3a3;
  animation-delay: 130ms;
}

.shop-firework span:nth-child(4) {
  right: 13%;
  bottom: 24%;
  background: #9be7ff;
  animation-delay: 180ms;
}

.shop-firework span:nth-child(5) {
  left: 48%;
  top: 8%;
  background: #ffffff;
  animation-delay: 230ms;
}

.shop-firework span:nth-child(6) {
  left: 55%;
  bottom: 12%;
  background: #ffd166;
  animation-delay: 300ms;
}

@keyframes shop-spark {
  0% {
    opacity: 0;
    transform: scale(0.4) translateY(0);
  }

  35% {
    opacity: 1;
    transform: scale(1.4) translateY(-8px);
  }

  100% {
    opacity: 0;
    transform: scale(0.65) translateY(-24px);
  }
}

.shop-perk-list {
  display: grid;
  gap: 0.8rem;
}

.shop-perk {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: 0.85rem 1rem;
  align-items: center;
  padding: 1rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.14);
  border-radius: 18px;
  background: var(--modal-card);
}

.shop-item-artwork {
  width: 74px;
  height: 74px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.22);
  border-radius: 14px;
  background: rgba(var(--accent-turquoise-rgb), 0.08);
  color: var(--accent-turquoise);
}

.shop-item-art {
  width: 58px;
  height: auto;
  aspect-ratio: 1;
  color: currentColor;
}

.shop-art-bg {
  fill: rgba(255, 255, 255, 0.82);
  stroke: rgba(var(--accent-turquoise-rgb), 0.24);
  stroke-width: 1;
}

.shop-perk-copy {
  display: grid;
  gap: 0.25rem;
}

.shop-perk-copy h3,
.shop-perk-copy p {
  margin: 0;
}

.shop-perk-copy p {
  color: var(--modal-copy);
}

.shop-perk-actions {
  display: grid;
  justify-items: end;
  gap: 0.55rem;
  min-width: 168px;
}

.shop-quantity-label {
  display: grid;
  grid-template-columns: auto 58px;
  align-items: center;
  gap: 0.45rem;
  color: var(--modal-copy);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.shop-quantity-control {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.shop-quantity-input {
  width: 58px;
  height: 38px;
  border: 1px solid var(--hud-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--hud-text);
  font-weight: 900;
  text-align: center;
  outline: none;
}

.shop-quantity-input:focus {
  border-color: rgba(var(--accent-turquoise-rgb), 0.58);
}

.shop-quantity-max-button {
  min-height: 38px;
  padding: 0 0.58rem;
  border: 1px solid var(--hud-border);
  border-radius: 12px;
  background: rgba(var(--accent-turquoise-rgb), 0.1);
  color: var(--hud-text);
  cursor: pointer;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.shop-quantity-max-button:hover,
.shop-quantity-max-button:focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.58);
  background: rgba(var(--accent-turquoise-rgb), 0.18);
  outline: none;
}

.shop-quantity-max-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.shop-perk-actions .google-button {
  min-height: 42px;
  margin-top: 0;
  padding: 0 1rem;
}

.owned-area-card {
  display: grid;
  gap: 0.9rem;
}

.owned-area-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.owned-area-toolbar div {
  min-width: 0;
  display: grid;
  gap: 0.18rem;
}

.owned-area-toolbar span {
  color: var(--modal-copy);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.owned-area-toolbar strong {
  overflow-wrap: anywhere;
  font-size: 1rem;
}

.owned-area-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
}

.owned-area-search {
  min-height: 44px;
  border-radius: 14px;
}

.owned-area-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  justify-content: flex-end;
}

.owned-area-filter-button {
  min-height: 38px;
  padding: 0 0.72rem;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.045);
  color: var(--modal-copy);
  cursor: pointer;
  font-weight: 900;
}

.owned-area-filter-button.is-active {
  border-color: rgba(var(--accent-turquoise-rgb), 0.46);
  background: rgba(var(--accent-turquoise-rgb), 0.14);
  color: var(--hud-text);
}

.owned-area-list {
  display: grid;
  gap: 0.75rem;
}

.owned-area-sections {
  display: grid;
  gap: 1rem;
}

.owned-area-section {
  display: grid;
  gap: 0.65rem;
}

.owned-area-section + .owned-area-section {
  padding-top: 0.9rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.owned-area-section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.8rem;
}

.owned-area-section-header strong {
  color: var(--hud-text);
  font-size: 0.9rem;
}

.owned-area-section-header span {
  color: var(--modal-copy);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.owned-area-item {
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr) minmax(92px, auto) minmax(110px, auto);
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem;
  border: 1px solid var(--hud-border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
}

.owned-area-preview {
  position: relative;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 1.48;
  border: 1px solid var(--hud-border);
  border-radius: 14px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    rgba(8, 16, 24, 0.5);
  background-size: 12px 12px;
}

.owned-area-preview-tiles {
  position: absolute;
  inset: 0;
}

.owned-area-preview.is-preview-pending::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.04) 0,
      rgba(255, 255, 255, 0.04) 6px,
      transparent 6px,
      transparent 12px
    );
  opacity: 0.72;
}

.owned-area-preview-tile {
  position: absolute;
  display: block;
  overflow: hidden;
  image-rendering: pixelated;
}

.owned-area-preview-pixel {
  position: absolute;
  display: block;
  image-rendering: pixelated;
}

.admin-reconstruction-preview-pixel {
  position: absolute;
  display: block;
  border: 1px solid rgba(175, 230, 202, 0.35);
  background: rgba(125, 211, 165, 0.82);
  box-shadow: 0 0 0 1px rgba(8, 16, 24, 0.24);
  image-rendering: pixelated;
}

.owned-area-preview.uses-exact-pixels .owned-area-preview-tiles {
  image-rendering: pixelated;
}

.owned-area-preview-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 4px;
  background: linear-gradient(90deg, #7dd3a5, #60a5fa);
}

.owned-area-title-row {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.owned-area-title-row .area-role-tag {
  max-width: 148px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owned-area-main,
.owned-area-meta {
  display: grid;
  gap: 0.22rem;
}

.owned-area-main strong,
.owned-area-main span,
.owned-area-main small,
.owned-area-meta small {
  overflow-wrap: anywhere;
}

.owned-area-main span,
.owned-area-main small,
.owned-area-meta small {
  color: var(--modal-copy);
}

.owned-area-main strong {
  font-size: 1rem;
  line-height: 1.35;
}

.owned-area-reaction-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.48rem;
  align-items: center;
  margin-top: 0.12rem;
  color: var(--modal-copy);
  font-size: 0.76rem;
  font-weight: 850;
}

.owned-area-reaction-row span,
.owned-area-reaction-row strong {
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  gap: 0.24rem;
}

.owned-area-reaction-row svg {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
}

.owned-area-reaction-row strong {
  color: var(--hud-text);
}

.owned-area-reaction-row .owned-area-reaction-like {
  color: #7dd3a5;
}

.owned-area-reaction-row .owned-area-reaction-like svg {
  color: #22c55e;
}

.owned-area-reaction-row .owned-area-reaction-dislike {
  color: #f87171;
}

.owned-area-reaction-row .owned-area-reaction-dislike svg {
  color: #ef4444;
}

.owned-area-meta {
  min-width: 112px;
  text-align: right;
}

.owned-area-actions {
  display: grid;
  gap: 0.42rem;
  justify-items: stretch;
}

.owned-area-action-button,
.owned-area-options-button {
  justify-self: end;
}

.owned-area-action-button {
  padding: 0.36rem 0.58rem;
}

.owned-area-jump {
  width: auto;
  min-width: 86px;
  margin-top: 0;
}

.owned-area-action-button,
.owned-area-actions .owned-area-jump {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  justify-content: center;
}

.owned-area-actions .owned-area-options-button {
  width: 36px;
  min-width: 36px;
  min-height: 36px;
}

.owned-area-inline-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.65rem;
  padding: 0.8rem;
  border: 1px solid rgba(125, 211, 165, 0.2);
  border-radius: 14px;
  background: rgba(125, 211, 165, 0.06);
}

.owned-area-inline-panel.is-invite {
  grid-template-columns: minmax(0, 1fr);
}

.avatar-editor-card {
  gap: 1.1rem;
}

.avatar-editor-current {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.avatar-file-input {
  display: none;
}

.avatar-editor-preview {
  width: 88px;
  height: 88px;
  border-radius: 24px;
}

.avatar-history-block {
  display: grid;
  gap: 0.7rem;
}

.avatar-upload-actions {
  margin-top: 0.85rem;
}

.avatar-history-block.compact {
  gap: 0.9rem;
}

.avatar-history-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
}

.avatar-history-tile {
  display: grid;
  justify-items: center;
  gap: 0.5rem;
  padding: 0.75rem 0.55rem;
  border: 1px solid var(--hud-border);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--hud-text);
  text-align: center;
  font-size: 0.75rem;
  line-height: 1.4;
}

.avatar-history-image {
  border-radius: 16px;
}

.changelog-modal {
  width: min(980px, 100%);
}

.changelog-card {
  display: grid;
  gap: 0.85rem;
  padding: 0;
  background: transparent;
}

.changelog-intro {
  margin: 0;
  color: var(--modal-copy);
  font-size: 0.88rem;
  line-height: 1.55;
}

.changelog-list {
  display: grid;
  gap: 0.75rem;
}

.changelog-entry {
  overflow: hidden;
  border: 1px solid var(--hud-border);
  border-radius: 16px;
  background: var(--modal-card);
}

.changelog-entry-summary {
  min-height: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 28px;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  color: var(--hud-text);
  cursor: pointer;
  list-style: none;
}

.changelog-entry-summary::-webkit-details-marker {
  display: none;
}

.changelog-entry-summary:hover,
.changelog-entry-summary:focus-visible {
  background: rgba(var(--accent-turquoise-rgb), 0.08);
  outline: none;
}

.changelog-entry-version {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.changelog-entry-version small {
  color: var(--modal-copy);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.changelog-entry-version strong {
  font-size: 1.12rem;
}

.changelog-latest-badge {
  padding: 0.18rem 0.42rem;
  border-radius: 999px;
  background: rgba(var(--accent-turquoise-rgb), 0.14);
  color: var(--accent-turquoise);
  font-size: 0.64rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.changelog-entry-date {
  color: var(--modal-copy);
  font-size: 0.8rem;
}

.changelog-entry-toggle {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--hud-border);
  border-radius: 8px;
  color: var(--accent-turquoise);
  font-size: 1rem;
  font-weight: 900;
  transition: transform 160ms ease;
}

.changelog-entry[open] .changelog-entry-toggle {
  transform: rotate(45deg);
}

.changelog-entry-body {
  padding: 0 1rem 1rem;
  border-top: 1px solid var(--hud-border);
}

.changelog-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  padding-top: 0.9rem;
}

.changelog-section {
  position: relative;
  display: grid;
  align-content: start;
  gap: 0.55rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--hud-border);
  border-left: 4px solid #83918a;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
}

.changelog-section.is-highlights {
  border-left-color: #e6b464;
}

.changelog-section.is-improvements {
  border-left-color: var(--accent-turquoise);
}

.changelog-section.is-fixes {
  border-left-color: #87b7a0;
}

.changelog-section.is-behind-the-scenes {
  border-left-color: #8c87b7;
}

.changelog-section-title {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.48rem;
  color: var(--hud-text);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.changelog-section-emoji {
  width: 1.72rem;
  height: 1.72rem;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.2);
  border-radius: 8px;
  background: rgba(var(--accent-turquoise-rgb), 0.09);
  line-height: 0;
}

.changelog-section-emoji-glyph {
  width: 1em;
  height: 1em;
  display: block;
  font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
  font-size: 0.92rem;
  line-height: 1em;
  text-align: center;
  transform: translateY(0.06em);
}

.changelog-entry ul {
  margin: 0;
  padding-left: 0;
  color: var(--modal-copy);
  display: grid;
  gap: 0.55rem;
  font-size: 0.88rem;
  line-height: 1.52;
  list-style: none;
}

.changelog-item {
  min-width: 0;
  display: grid;
  grid-template-columns: 0.38rem minmax(0, 1fr);
  align-items: start;
  gap: 0.58rem;
}

.changelog-item::before {
  width: 0.3rem;
  height: 0.3rem;
  margin-top: 0.58rem;
  border-radius: 2px;
  background: rgba(var(--accent-turquoise-rgb), 0.72);
  content: "";
}

@media (max-width: 760px) {
  .changelog-sections {
    grid-template-columns: minmax(0, 1fr);
  }
}

.shop-purchase-confetti {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}

.shop-purchase-confetti span {
  --confetti-color: var(--accent-turquoise);
  --confetti-delay: 0ms;
  --confetti-drift: 0px;
  --confetti-left: 50%;
  --confetti-rotation: 540deg;
  position: absolute;
  top: -18px;
  left: var(--confetti-left);
  width: 7px;
  height: 13px;
  border-radius: 2px;
  background: var(--confetti-color);
  opacity: 0;
  animation: shop-confetti-fall 1550ms cubic-bezier(0.18, 0.75, 0.35, 1)
    var(--confetti-delay) both;
}

.shop-purchase-confetti span:nth-child(5n + 1) { --confetti-color: #f4bd3f; }
.shop-purchase-confetti span:nth-child(5n + 2) { --confetti-color: #18a49c; }
.shop-purchase-confetti span:nth-child(5n + 3) { --confetti-color: #7269d4; }
.shop-purchase-confetti span:nth-child(5n + 4) { --confetti-color: #e56c54; }
.shop-purchase-confetti span:nth-child(3n) { width: 9px; height: 9px; border-radius: 999px; }
.shop-purchase-confetti span:nth-child(1) { --confetti-left: 5%; --confetti-drift: 24px; }
.shop-purchase-confetti span:nth-child(2) { --confetti-left: 11%; --confetti-delay: 120ms; --confetti-drift: -18px; }
.shop-purchase-confetti span:nth-child(3) { --confetti-left: 18%; --confetti-delay: 45ms; --confetti-drift: 30px; }
.shop-purchase-confetti span:nth-child(4) { --confetti-left: 25%; --confetti-delay: 190ms; --confetti-drift: -24px; }
.shop-purchase-confetti span:nth-child(5) { --confetti-left: 31%; --confetti-delay: 80ms; --confetti-drift: 18px; }
.shop-purchase-confetti span:nth-child(6) { --confetti-left: 38%; --confetti-delay: 250ms; --confetti-drift: -32px; }
.shop-purchase-confetti span:nth-child(7) { --confetti-left: 44%; --confetti-delay: 135ms; --confetti-drift: 22px; }
.shop-purchase-confetti span:nth-child(8) { --confetti-left: 50%; --confetti-delay: 20ms; --confetti-drift: -20px; }
.shop-purchase-confetti span:nth-child(9) { --confetti-left: 56%; --confetti-delay: 215ms; --confetti-drift: 34px; }
.shop-purchase-confetti span:nth-child(10) { --confetti-left: 62%; --confetti-delay: 105ms; --confetti-drift: -26px; }
.shop-purchase-confetti span:nth-child(11) { --confetti-left: 68%; --confetti-delay: 285ms; --confetti-drift: 20px; }
.shop-purchase-confetti span:nth-child(12) { --confetti-left: 73%; --confetti-delay: 55ms; --confetti-drift: -30px; }
.shop-purchase-confetti span:nth-child(13) { --confetti-left: 78%; --confetti-delay: 170ms; --confetti-drift: 27px; }
.shop-purchase-confetti span:nth-child(14) { --confetti-left: 83%; --confetti-delay: 310ms; --confetti-drift: -18px; }
.shop-purchase-confetti span:nth-child(15) { --confetti-left: 88%; --confetti-delay: 95ms; --confetti-drift: 23px; }
.shop-purchase-confetti span:nth-child(16) { --confetti-left: 92%; --confetti-delay: 230ms; --confetti-drift: -28px; }
.shop-purchase-confetti span:nth-child(17) { --confetti-left: 96%; --confetti-delay: 145ms; --confetti-drift: 16px; }
.shop-purchase-confetti span:nth-child(18) { --confetti-left: 2%; --confetti-delay: 270ms; --confetti-drift: -14px; }

@keyframes shop-confetti-fall {
  0% {
    opacity: 0;
    transform: translate3d(0, -20px, 0) rotate(0deg);
  }

  12%, 72% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--confetti-drift), 330px, 0)
      rotate(var(--confetti-rotation));
  }
}

.shop-purchase-footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding-top: 0.8rem;
  border-top: 1px solid rgba(var(--accent-turquoise-rgb), 0.18);
}

.shop-purchase-footer > span {
  color: var(--modal-copy);
  font-size: 0.76rem;
  font-weight: 700;
}

.shop-purchase-confirm-button {
  min-width: 104px;
  min-height: 40px;
  padding: 0.65rem 1rem;
  border: 1px solid var(--accent-turquoise);
  border-radius: 11px;
  background: var(--accent-turquoise);
  color: #ffffff;
  font-weight: 900;
  cursor: pointer;
}

.shop-purchase-confirm-button:is(:hover, :focus-visible) {
  filter: brightness(0.94);
  outline: 3px solid rgba(var(--accent-turquoise-rgb), 0.2);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .shop-purchase-confetti {
    display: none;
  }
}

.modal-card p {
  margin: 0.6rem 0 0;
  color: var(--modal-copy);
  line-height: 1.6;
}

.info-modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.42rem 0.72rem;
  margin-top: 0.9rem;
  padding: 0.72rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.info-modal-footer a {
  color: var(--hud-text);
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.info-modal-footer a + a::before {
  content: "/";
  margin-right: 0.72rem;
  color: var(--modal-copy);
}

.info-modal-footer a:hover,
.info-modal-footer a:focus-visible {
  color: var(--accent-turquoise);
  outline: none;
}

.info-tour-card {
  display: grid;
  gap: 0.78rem;
  align-content: start;
}

.info-modal-window {
  width: min(1024px, 100%);
  border-radius: 12px;
  padding: 1.25rem 1.45rem;
}

.info-modal-head {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 0.55rem;
  padding: 0.35rem 3.3rem 1.05rem;
  text-align: center;
}

.info-modal-head .modal-header-actions {
  position: absolute;
  top: 0;
  right: 0;
}

.info-brand-stack {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
}

.info-brand-stack p {
  max-width: 620px;
  margin: 0;
  color: var(--modal-copy);
  line-height: 1.45;
}

.info-brand-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.72rem;
}

.info-brand-row h2 {
  margin: 0;
  font-size: clamp(2.1rem, 5vw, 3.1rem);
  letter-spacing: 0;
  line-height: 1;
}

.info-pixel-logo {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  background: url("/game-icons/cplace-sidebar-mark.svg") center / contain no-repeat;
  image-rendering: pixelated;
}

.info-meta-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.3rem 0.58rem;
  color: var(--modal-copy);
  font-size: 0.82rem;
}

.info-meta-links span,
.info-meta-links a {
  color: inherit;
  font-weight: 800;
}

.info-meta-links a {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.info-meta-links a:hover,
.info-meta-links a:focus-visible {
  color: var(--accent-turquoise);
  outline: none;
}

.info-modal-scroll {
  display: grid;
  gap: 1.35rem;
}

.info-section {
  display: grid;
  gap: 0.65rem;
}

.info-section h3 {
  margin: 0;
  color: var(--hud-text);
  font-size: 1.08rem;
  letter-spacing: 0;
}

.info-section-heading {
  display: grid;
  gap: 0.28rem;
}

.info-section-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--modal-copy);
  line-height: 1.55;
}

.info-tour-preview {
  position: relative;
  display: block;
  width: 100%;
  min-height: 280px;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--hud-border);
  border-radius: 8px;
  background: rgba(3, 7, 12, 0.9);
  color: inherit;
  cursor: pointer;
}

.info-tour-preview .onboarding-preview {
  min-height: 280px;
  height: 100%;
  border: 0;
  border-radius: 0;
}

.info-tour-preview::after {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
  background: linear-gradient(180deg, rgba(3, 7, 12, 0.02) 0%, rgba(3, 7, 12, 0.12) 45%, rgba(3, 7, 12, 0.72) 100%);
  pointer-events: none;
}

.info-tour-preview:hover,
.info-tour-preview:focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.55);
  outline: none;
}

.info-tour-preview:hover .info-tour-play,
.info-tour-preview:focus-visible .info-tour-play {
  border-color: rgba(var(--accent-turquoise-rgb), 0.72);
  background: rgba(var(--accent-turquoise-rgb), 0.28);
}

.info-tour-play {
  position: absolute;
  right: 1rem;
  top: 4.35rem;
  z-index: 3;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.46);
  border-radius: 999px;
  background: rgba(var(--accent-turquoise-rgb), 0.18);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
}

.info-tour-play::before {
  position: absolute;
  left: 16px;
  top: 12px;
  width: 0;
  height: 0;
  content: "";
  border-bottom: 8px solid transparent;
  border-left: 12px solid #ffffff;
  border-top: 8px solid transparent;
}

.info-tour-caption {
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 3;
  display: grid;
  gap: 0.18rem;
  padding: 0.72rem 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  background: rgba(5, 10, 16, 0.78);
  color: var(--hud-text);
  text-align: left;
}

.info-tour-caption strong {
  font-size: 1rem;
}

.info-tour-caption span {
  color: rgba(221, 232, 242, 0.82);
  font-size: 0.82rem;
  line-height: 1.35;
}

.info-rule-list {
  display: grid;
  gap: 0.62rem;
}

.info-rule-dropdown {
  border: 1px solid var(--hud-border);
  border-radius: 8px;
  background: var(--modal-card);
  overflow: hidden;
}

.info-rule-dropdown summary {
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.72rem 0.85rem;
  cursor: pointer;
  list-style: none;
}

.info-rule-dropdown summary::-webkit-details-marker {
  display: none;
}

.info-rule-title {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
  text-align: left;
}

.info-rule-title small {
  color: var(--accent-turquoise);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.info-rule-title strong {
  color: var(--hud-text);
  font-size: 1rem;
  line-height: 1.2;
}

.info-rule-title span {
  color: var(--modal-copy);
  font-size: 0.82rem;
  line-height: 1.35;
}

.info-rule-action {
  padding: 0.28rem 0.48rem;
  border: 1px solid rgba(248, 113, 113, 0.32);
  border-radius: 999px;
  background: rgba(127, 29, 29, 0.14);
  color: #fca5a5;
  font-size: 0.68rem;
  font-weight: 900;
  white-space: nowrap;
}

.info-rule-chevron {
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--modal-copy);
  border-bottom: 2px solid var(--modal-copy);
  transform: rotate(45deg);
  transition: transform 160ms ease;
}

.info-rule-dropdown[open] .info-rule-chevron {
  transform: rotate(225deg);
}

.info-rule-dropdown p {
  margin: 0;
  padding: 0 0.85rem 0.85rem;
  color: var(--modal-copy);
  line-height: 1.55;
}

.info-quick-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.info-quick-grid article {
  display: grid;
  align-content: start;
  gap: 0.42rem;
  padding: 0.85rem;
  border: 1px solid var(--hud-border);
  border-radius: 8px;
  background: var(--modal-card);
}

.info-quick-grid p {
  margin: 0;
  color: var(--modal-copy);
  line-height: 1.5;
}

.info-controls-card {
  gap: 0.55rem !important;
}

.info-control-list {
  min-width: 0;
  display: grid;
  gap: 0.34rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.info-control-list > li {
  min-width: 0;
  display: grid;
  grid-template-columns: 1.65rem minmax(4.65rem, auto) minmax(0, 1fr);
  align-items: center;
  gap: 0.42rem;
}

.info-control-icon {
  width: 1.65rem;
  height: 1.65rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.2);
  border-radius: 7px;
  background: rgba(var(--accent-turquoise-rgb), 0.08);
  font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif;
  font-size: 0.82rem;
  line-height: 1;
}

.info-control-list kbd {
  justify-self: start;
  padding: 0.2rem 0.4rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.24);
  border-bottom-width: 2px;
  border-radius: 6px;
  background: rgba(var(--accent-turquoise-rgb), 0.07);
  color: var(--hud-text);
  font-family: inherit;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.15;
  white-space: nowrap;
}

.info-control-list > li > span:last-child {
  min-width: 0;
  color: var(--modal-copy);
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.info-modal-window .modal-version-button {
  align-self: center;
  margin-top: 0.95rem;
}

.modal-inline-action {
  justify-self: start;
  min-height: 40px;
  padding: 0 0.88rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.42);
  border-radius: 999px;
  background: rgba(var(--accent-turquoise-rgb), 0.12);
  color: var(--hud-text);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 900;
}

.modal-inline-action:hover,
.modal-inline-action:focus-visible {
  border-color: rgba(var(--accent-turquoise-rgb), 0.66);
  background: rgba(var(--accent-turquoise-rgb), 0.2);
  outline: none;
}

.onboarding-tour-modal {
  width: min(620px, 100%);
}

.onboarding-prompt-card {
  display: grid;
  gap: 1rem;
  align-items: center;
  grid-template-columns: minmax(180px, 0.78fr) minmax(0, 1fr);
}

.modal-card.onboarding-prompt-card {
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.onboarding-prompt-card h3 {
  margin: 0;
}

.onboarding-prompt-card p {
  margin: 0.55rem 0 0;
}

.onboarding-preview {
  position: relative;
  width: 100%;
  min-height: 176px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0.52rem;
  overflow: hidden;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.28);
  border-radius: 8px;
  background:
    radial-gradient(circle at 18% 18%, rgba(var(--accent-turquoise-rgb), 0.2), transparent 28%),
    radial-gradient(circle at 78% 74%, rgba(247, 207, 91, 0.14), transparent 26%),
    rgba(3, 7, 12, 0.78);
  padding: 0.62rem;
}

.onboarding-preview-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  color: rgba(221, 232, 242, 0.72);
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.onboarding-preview-topbar strong {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 0.48rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.36);
  border-radius: 999px;
  color: var(--accent-turquoise);
}

.onboarding-preview-world {
  position: relative;
  min-height: 118px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(var(--accent-turquoise-rgb), 0.08), transparent 34%),
    rgba(5, 10, 16, 0.94);
}

.onboarding-preview-grid {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(6, 1fr);
  gap: 1px;
  padding: 0.48rem;
}

.onboarding-preview-grid span {
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.048);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035);
}

.onboarding-preview-grid span.is-painted {
  background: #f7cf5b;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.28),
    0 0 16px rgba(247, 207, 91, 0.18);
}

.onboarding-preview-grid span.is-staged {
  background: rgba(96, 247, 242, 0.3);
  box-shadow:
    inset 0 0 0 1px rgba(96, 247, 242, 0.64),
    0 0 14px rgba(96, 247, 242, 0.18);
}

.onboarding-preview-shadow,
.onboarding-preview-buildbar,
.onboarding-preview-panel,
.onboarding-preview-menu,
.onboarding-preview-hotspot,
.onboarding-preview-brush,
.onboarding-preview-rectangle,
.onboarding-preview-overlay-template,
.onboarding-preview-reticle {
  position: absolute;
  pointer-events: none;
}

.onboarding-preview-shadow {
  width: 46%;
  height: 78%;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.34);
  filter: blur(18px);
  opacity: 0.72;
}

.onboarding-preview-shadow.is-left {
  left: -20%;
  top: 9%;
}

.onboarding-preview-shadow.is-right {
  right: -18%;
  bottom: -18%;
}

.onboarding-preview-buildbar {
  right: 8px;
  bottom: 8px;
  left: 8px;
  display: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.36rem;
  padding: 0.34rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background: rgba(7, 12, 18, 0.92);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.34);
}

.onboarding-preview-buildbar span,
.onboarding-preview-menu span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--hud-text);
  font-size: 0.66rem;
  font-weight: 950;
  white-space: nowrap;
}

.onboarding-preview-buildbar span {
  min-height: 34px;
  padding: 0 0.36rem;
}

.onboarding-preview-buildbar svg,
.onboarding-preview-menu svg {
  width: 0.82rem;
  height: 0.82rem;
}

.onboarding-preview-panel {
  top: 9px;
  left: 9px;
  width: 42%;
  display: none;
  gap: 0.34rem;
  padding: 0.42rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(9, 14, 20, 0.92);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.34);
}

.onboarding-preview-panel-title {
  color: rgba(221, 232, 242, 0.76);
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.onboarding-preview-panel-row,
.onboarding-preview-panel-actions {
  display: block;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
}

.onboarding-preview-panel-row {
  height: 24px;
}

.onboarding-preview-panel-actions {
  height: 20px;
  background:
    linear-gradient(90deg, rgba(var(--accent-turquoise-rgb), 0.42) 0 30%, transparent 31% 36%, rgba(255, 255, 255, 0.12) 37% 66%, transparent 67% 72%, rgba(255, 255, 255, 0.12) 73%);
}

.onboarding-preview-menu {
  top: 8px;
  right: 8px;
  display: none;
  grid-template-columns: 1fr 0.74fr;
  gap: 0.32rem;
}

.onboarding-preview-menu span {
  min-height: 28px;
  padding: 0 0.44rem;
}

.onboarding-preview-hotspot {
  --tour-hotspot-anchor: translate(0, 0);
  width: 76px;
  height: 48px;
  border-radius: 999px;
  background:
    radial-gradient(circle, rgba(255, 255, 255, 0.9) 0 14%, rgba(var(--accent-turquoise-rgb), 0.45) 15% 42%, transparent 68%);
  opacity: 0;
  filter: blur(0.2px);
  animation: tour-hotspot-pulse 1.8s ease-in-out infinite;
}

.onboarding-preview-brush {
  width: 18px;
  height: 18px;
  right: 24%;
  bottom: 24%;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 6px 6px 2px 6px;
  background: rgba(var(--accent-turquoise-rgb), 0.62);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.28);
  opacity: 0;
  animation: tour-brush-place 2.8s ease-in-out infinite;
}

.onboarding-preview-rectangle {
  inset: 26% 30% 25% 18%;
  border: 2px dashed rgba(255, 255, 255, 0.88);
  border-radius: 6px;
  background: rgba(var(--accent-turquoise-rgb), 0.08);
  opacity: 0;
}

.onboarding-preview-overlay-template {
  left: 19%;
  top: 20%;
  width: 54%;
  height: 52%;
  border: 2px solid rgba(82, 150, 255, 0.95);
  border-radius: 7px;
  background:
    linear-gradient(135deg, rgba(82, 150, 255, 0.26), transparent 48%),
    linear-gradient(45deg, transparent 56%, rgba(247, 207, 91, 0.32) 57% 67%, transparent 68%),
    rgba(255, 255, 255, 0.08);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.22),
    0 0 22px rgba(82, 150, 255, 0.24);
  opacity: 0;
}

.onboarding-preview-reticle {
  left: 50%;
  top: 48%;
  width: 44px;
  height: 44px;
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: 6px;
  box-shadow:
    0 0 0 1px rgba(6, 12, 18, 0.56),
    0 0 24px rgba(var(--accent-turquoise-rgb), 0.28);
  opacity: 0;
  transform: translate(-50%, -50%);
}

.onboarding-preview.is-claim-paint {
  background:
    linear-gradient(145deg, rgba(96, 247, 242, 0.12), transparent 38%),
    linear-gradient(315deg, rgba(247, 207, 91, 0.11), transparent 42%),
    rgba(3, 7, 12, 0.82);
}

.onboarding-preview.is-claim-paint .onboarding-preview-world {
  min-height: 152px;
  border: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 42%),
    rgba(5, 10, 16, 0.95);
}

.onboarding-preview.is-claim-paint .onboarding-preview-grid {
  inset: 0.58rem 0.58rem 3rem;
  padding: 0;
}

.onboarding-preview.is-claim-paint .onboarding-preview-shadow {
  display: none;
}

.onboarding-preview-grid span.is-story-claim {
  animation: tour-story-claim-cell 8s ease-in-out infinite;
}

.onboarding-preview-grid span.is-story-paint {
  animation: tour-story-painted-cell-one 8s ease-in-out infinite;
}

.onboarding-preview-grid span.is-story-paint-step-1 {
  animation-name: tour-story-painted-cell-one;
}

.onboarding-preview-grid span.is-story-paint-step-2 {
  animation-name: tour-story-painted-cell-two;
}

.onboarding-preview-grid span.is-story-paint-step-3 {
  animation-name: tour-story-painted-cell-three;
}

.onboarding-preview-grid span.is-story-paint-step-4 {
  animation-name: tour-story-painted-cell-four;
}

.onboarding-preview-grid span.is-story-paint-green {
  --story-paint-color: #13e67b;
}

.onboarding-preview-story-corner,
.onboarding-preview-story-cursor,
.onboarding-preview-story-click,
.onboarding-preview-story-palette,
.onboarding-preview-story-toolbar,
.onboarding-preview-story-rectangle {
  position: absolute;
  pointer-events: none;
}

.onboarding-preview-story-cursor {
  left: 26%;
  top: 89%;
  z-index: 2;
  width: 19px;
  height: 19px;
  background: #ffffff;
  clip-path: polygon(0 0, 0 100%, 34% 74%, 50% 100%, 68% 90%, 52% 66%, 92% 66%);
  filter: drop-shadow(0 5px 7px rgba(0, 0, 0, 0.4));
  animation: tour-story-cursor 8s ease-in-out infinite;
}

.onboarding-preview-story-corner {
  z-index: 1;
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255, 255, 255, 0.95);
  border-radius: 4px;
  box-shadow:
    0 0 0 1px rgba(5, 10, 16, 0.65),
    0 0 16px rgba(var(--accent-turquoise-rgb), 0.28);
  opacity: 0;
  transform: translate(-50%, -50%);
}

.onboarding-preview-story-corner.is-first {
  left: 36%;
  top: 23%;
  animation: tour-story-first-corner 8s ease-in-out infinite;
}

.onboarding-preview-story-corner.is-second {
  left: 64%;
  top: 54%;
  animation: tour-story-second-corner 8s ease-in-out infinite;
}

.onboarding-preview-story-rectangle {
  left: 30%;
  top: 16%;
  z-index: 1;
  width: 40%;
  height: 45%;
  border: 2px dashed rgba(255, 255, 255, 0.86);
  border-radius: 6px;
  background: rgba(var(--accent-turquoise-rgb), 0.06);
  opacity: 0;
  transform-origin: left top;
  animation: tour-story-rectangle-guide 8s ease-in-out infinite;
}

.onboarding-preview-story-click {
  z-index: 3;
  width: 32px;
  height: 32px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.42);
}

.onboarding-preview-story-click.is-claim-click {
  left: 26%;
  top: 89%;
  animation: tour-story-click-claim 8s ease-out infinite;
}

.onboarding-preview-story-click.is-first-corner-click {
  left: 36%;
  top: 23%;
  animation: tour-story-click-first-corner 8s ease-out infinite;
}

.onboarding-preview-story-click.is-second-corner-click {
  left: 64%;
  top: 54%;
  animation: tour-story-click-second-corner 8s ease-out infinite;
}

.onboarding-preview-story-click.is-paint-click {
  left: 74%;
  top: 89%;
  animation: tour-story-click-paint 8s ease-out infinite;
}

.onboarding-preview-story-click.is-color-click {
  left: 61%;
  top: 63%;
  animation: tour-story-click-color 8s ease-out infinite;
}

.onboarding-preview-story-click.is-paint-place-1 {
  left: 44%;
  top: 33%;
  animation: tour-story-click-paint-place-one 8s ease-out infinite;
}

.onboarding-preview-story-click.is-paint-place-2 {
  left: 56%;
  top: 33%;
  animation: tour-story-click-paint-place-two 8s ease-out infinite;
}

.onboarding-preview-story-click.is-paint-place-3 {
  left: 44%;
  top: 44%;
  animation: tour-story-click-paint-place-three 8s ease-out infinite;
}

.onboarding-preview-story-click.is-paint-place-4 {
  left: 56%;
  top: 44%;
  animation: tour-story-click-paint-place-four 8s ease-out infinite;
}

.onboarding-preview-story-palette {
  right: 0.86rem;
  bottom: 3.05rem;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 15px);
  gap: 0.18rem;
  padding: 0.25rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.34);
  border-radius: 6px;
  background: rgba(6, 14, 22, 0.94);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
  opacity: 0;
  transform: translateY(4px);
  animation: tour-story-palette 8s ease-in-out infinite;
}

.onboarding-preview-story-toolbar {
  left: 0.58rem;
  right: 0.58rem;
  bottom: 0.58rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.34rem;
  z-index: 1;
}

.onboarding-preview-story-toolbar span {
  min-width: 0;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  overflow: hidden;
  padding: 0 0.38rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.22);
  border-radius: 6px;
  background: rgba(6, 14, 22, 0.92);
  color: var(--hud-text);
  font-size: 0.68rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.onboarding-preview-story-toolbar svg {
  width: 0.82rem;
  height: 0.82rem;
}

.onboarding-preview-story-palette span {
  width: 15px;
  height: 15px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 3px;
  image-rendering: pixelated;
}

.onboarding-preview-story-palette .is-green {
  background: #13e67b;
  animation: tour-story-selected-color 8s ease-in-out infinite;
}

.onboarding-preview-story-palette .is-yellow {
  background: #f9dd3b;
}

.onboarding-preview-story-palette .is-red {
  background: #ed1c24;
}

.onboarding-preview-story-palette .is-blue {
  background: #4093e4;
}

.onboarding-preview-tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.34rem;
}

.onboarding-preview-tools span {
  min-width: 0;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  overflow: hidden;
  padding: 0 0.38rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.22);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--hud-text);
  font-size: 0.68rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.onboarding-preview-tools.is-build-toolbar {
  grid-template-columns: 1fr 1fr;
}

.onboarding-preview-tools svg {
  width: 0.82rem;
  height: 0.82rem;
}

.onboarding-preview.is-claim-paint .onboarding-preview-story-toolbar span {
  animation: tour-story-step-idle 8s ease-in-out infinite;
}

.onboarding-preview.is-claim-paint .onboarding-preview-story-toolbar .is-story-step-claim {
  animation-name: tour-story-step-claim;
}

.onboarding-preview.is-claim-paint .onboarding-preview-story-toolbar .is-story-step-paint {
  animation-name: tour-story-step-paint;
}

.onboarding-preview.is-tour-overview {
  --tour-loop-duration: 9200ms;
  min-height: 202px;
  display: flex;
  align-items: center;
  padding: 0.9rem;
  background:
    linear-gradient(rgba(132, 120, 100, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(132, 120, 100, 0.08) 1px, transparent 1px),
    #fffdf7;
  background-size: 18px 18px;
}

.onboarding-tour-steps {
  width: 100%;
  min-height: 156px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr);
  align-items: center;
  gap: 0.52rem;
}

.onboarding-tour-step {
  position: relative;
  min-width: 0;
  aspect-ratio: 1.72;
  overflow: hidden;
  border: 1px solid rgba(132, 120, 100, 0.34);
  border-radius: 8px;
  background: rgba(255, 253, 247, 0.92);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62);
}

.onboarding-tour-step-grid {
  position: absolute;
  inset: 0.72rem;
  display: grid;
  grid-template-columns: repeat(14, minmax(0, 1fr));
  grid-template-rows: repeat(8, minmax(0, 1fr));
  background:
    linear-gradient(rgba(132, 120, 100, 0.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(132, 120, 100, 0.13) 1px, transparent 1px),
    rgba(255, 253, 247, 0.34);
  background-size: calc(100% / 14) calc(100% / 8);
  background-position: 0 0;
}

.onboarding-tour-claim-area {
  position: relative;
  z-index: 1;
  grid-column: 4 / 12;
  grid-row: 1 / 9;
  opacity: 0;
  border: 1px solid rgba(62, 152, 129, 0.36);
  border-radius: 0;
  background: rgba(70, 208, 164, 0.17);
  box-shadow:
    2px 2px 0 rgba(5, 5, 5, 0.2),
    inset 0 0 0 1px rgba(255, 255, 255, 0.32);
  clip-path: inset(0 100% 0 0);
  transform-origin: left center;
}

.onboarding-tour-claim-area::before {
  position: absolute;
  inset: -2px;
  content: "";
  border: 1px solid rgba(236, 231, 220, 0.92);
  pointer-events: none;
}

.onboarding-tour-step.is-claim .onboarding-tour-claim-area {
  animation: tour-overview-claim-draw var(--tour-loop-duration) steps(9, end) infinite;
}

.onboarding-tour-step.is-template .onboarding-tour-claim-area {
  animation: tour-overview-claim-pop-template var(--tour-loop-duration) steps(2, end) infinite;
}

.onboarding-tour-step.is-paint .onboarding-tour-claim-area {
  animation: tour-overview-claim-pop-paint var(--tour-loop-duration) steps(2, end) infinite;
}

.onboarding-tour-template-frame {
  position: relative;
  z-index: 3;
  grid-column: 4 / 12;
  grid-row: 1 / 9;
  border: 0;
  box-shadow: none;
  pointer-events: none;
}

.onboarding-tour-template-layer {
  z-index: 4;
  grid-column: 1 / -1;
  grid-row: 1 / -1;
  display: grid;
  grid-template-columns: repeat(14, minmax(0, 1fr));
  grid-template-rows: repeat(8, minmax(0, 1fr));
  pointer-events: none;
}

.onboarding-tour-template-layer.is-template {
  opacity: 0;
  animation: tour-overview-guide-template var(--tour-loop-duration) steps(8, end) infinite;
}

.onboarding-tour-template-layer.is-paint {
  opacity: 0;
  animation: tour-overview-guide-paint var(--tour-loop-duration) steps(2, end) infinite;
}

.onboarding-tour-template-layer.is-paint-layer {
  z-index: 5;
  opacity: 0;
  animation: tour-overview-paint-layer var(--tour-loop-duration) steps(2, end) infinite;
}

.onboarding-tour-template-tile {
  position: relative;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}

.onboarding-tour-template-tile.is-guide::before {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 34%;
  height: 34%;
  content: "";
  background: var(--tour-template-tile-color);
  opacity: var(--tour-guide-opacity, 0.86);
  transform: translate(-50%, -50%) scale(var(--tour-guide-scale, 1));
}

.onboarding-tour-template-tile.is-painted::after {
  position: absolute;
  inset: 0;
  content: "";
  background: var(--tour-template-tile-color);
  opacity: 0;
  transform: scale(0.72);
  transform-origin: center;
  box-shadow: inset 0 0 0 1px rgba(5, 5, 5, 0.14);
}

.onboarding-tour-template-layer.is-template .onboarding-tour-template-tile.is-guide::before {
  --tour-guide-opacity: 0;
  --tour-guide-scale: 0.35;
  animation: tour-overview-guide-dot var(--tour-loop-duration) steps(1, end) infinite;
  animation-delay: var(--tour-guide-delay, 0ms);
  animation-fill-mode: both;
}

.onboarding-tour-template-layer.is-paint-layer .onboarding-tour-template-tile.is-painted::after {
  animation: tour-overview-paint-tile var(--tour-loop-duration) steps(1, end) infinite;
  animation-delay: var(--tour-paint-delay, 0ms);
  animation-fill-mode: both;
}

.onboarding-tour-template-layer.is-paint-layer .onboarding-tour-template-tile.is-painted::before {
  position: absolute;
  inset: -18%;
  z-index: 1;
  content: "";
  border: 1px solid rgba(255, 253, 247, 0.9);
  opacity: 0;
  transform: scale(0.64);
  box-shadow: 0 0 0 1px rgba(5, 5, 5, 0.2);
  pointer-events: none;
  animation: tour-overview-paint-flash var(--tour-loop-duration) ease-out infinite;
  animation-delay: var(--tour-paint-delay, 0ms);
  animation-fill-mode: both;
}

.onboarding-tour-template-tile.is-white {
  --tour-template-tile-color: #ffffff;
}

.onboarding-tour-template-tile.is-dark-red {
  --tour-template-tile-color: #a50e1e;
}

.onboarding-tour-template-tile.is-red {
  --tour-template-tile-color: #ed1c24;
}

.onboarding-tour-template-tile.is-dark-teal {
  --tour-template-tile-color: #0c816e;
}

.onboarding-tour-template-tile.is-teal {
  --tour-template-tile-color: #10ae82;
}

.onboarding-tour-template-tile.is-light-teal {
  --tour-template-tile-color: #13e1be;
}

.onboarding-tour-template-tile.is-cyan {
  --tour-template-tile-color: #60f7f2;
}

.onboarding-tour-template-tile.is-blue {
  --tour-template-tile-color: #4093e4;
}

.onboarding-tour-template-tile.is-gold {
  --tour-template-tile-color: #f6aa09;
}

.onboarding-tour-template-tile.is-yellow {
  --tour-template-tile-color: #f9dd3b;
}

.onboarding-tour-template-tile.is-light-red {
  --tour-template-tile-color: #fa8072;
}

.onboarding-tour-step-arrow {
  position: relative;
  display: block;
  width: 22px;
  height: 16px;
  opacity: 0;
}

.onboarding-tour-step-arrow.is-after-claim {
  animation: tour-overview-arrow-after-claim var(--tour-loop-duration) ease-out infinite;
}

.onboarding-tour-step-arrow.is-after-template {
  animation: tour-overview-arrow-after-template var(--tour-loop-duration) ease-out infinite;
}

.onboarding-tour-step-arrow::before,
.onboarding-tour-step-arrow::after {
  position: absolute;
  content: "";
}

.onboarding-tour-step-arrow::before {
  left: 1px;
  top: 7px;
  width: 14px;
  height: 2px;
  background: rgba(132, 120, 100, 0.62);
  box-shadow:
    4px -4px 0 -1px rgba(132, 120, 100, 0.38),
    4px 4px 0 -1px rgba(132, 120, 100, 0.38);
}

.onboarding-tour-step-arrow::after {
  right: 2px;
  top: 4px;
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(132, 120, 100, 0.62);
  border-top: 2px solid rgba(132, 120, 100, 0.62);
  transform: rotate(45deg);
}

.onboarding-tour-cursor {
  position: absolute;
  z-index: 8;
  width: 18px;
  height: 18px;
  opacity: 0;
  pointer-events: none;
}

.onboarding-tour-cursor::before {
  position: absolute;
  inset: 0;
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M4 2.5v17.2l4.5-4.2 3.6 6.2 3-1.7-3.5-6h6.9L4 2.5z' fill='%23fffdf7' stroke='%23081220' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' paint-order='stroke fill'/%3E%3C/svg%3E") 0 0 / contain no-repeat;
  filter: drop-shadow(1px 1px 0 rgba(73, 49, 29, 0.18));
}

.onboarding-tour-cursor.is-claim-cursor {
  left: 22%;
  top: 3%;
  animation: tour-overview-claim-cursor var(--tour-loop-duration) linear infinite;
}

.onboarding-tour-cursor.is-paint-cursor {
  left: 35%;
  top: 18%;
  animation: tour-overview-paint-cursor var(--tour-loop-duration) linear infinite;
}

@keyframes tour-overview-claim-draw {
  0%,
  7% {
    opacity: 0;
    clip-path: inset(0 100% 100% 0);
  }

  9% {
    opacity: 1;
    clip-path: inset(0 88% 84% 0);
  }

  21%,
  88% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }

  94%,
  100% {
    opacity: 0;
    clip-path: inset(0 0 0 0);
  }
}

@keyframes tour-overview-claim-pop-template {
  0%,
  25% {
    opacity: 0;
    clip-path: inset(0 0 0 0);
    transform: scale(0.95);
  }

  28%,
  88% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: scale(1);
  }

  94%,
  100% {
    opacity: 0;
    clip-path: inset(0 0 0 0);
    transform: scale(1);
  }
}

@keyframes tour-overview-claim-pop-paint {
  0%,
  52% {
    opacity: 0;
    clip-path: inset(0 0 0 0);
    transform: scale(0.95);
  }

  55%,
  88% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: scale(1);
  }

  94%,
  100% {
    opacity: 0;
    clip-path: inset(0 0 0 0);
    transform: scale(1);
  }
}

@keyframes tour-overview-guide-template {
  0%,
  32% {
    opacity: 0;
  }

  48%,
  88% {
    opacity: 1;
  }

  94%,
  100% {
    opacity: 0;
  }
}

@keyframes tour-overview-guide-paint {
  0%,
  55% {
    opacity: 0;
    transform: scale(0.95);
  }

  58%,
  88% {
    opacity: 1;
    transform: scale(1);
  }

  94%,
  100% {
    opacity: 0;
    transform: scale(1);
  }
}

@keyframes tour-overview-paint-layer {
  0%,
  62% {
    opacity: 0;
  }

  64%,
  90% {
    opacity: 1;
  }

  94%,
  100% {
    opacity: 0;
  }
}

@keyframes tour-overview-guide-dot {
  0%,
  33% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.35);
  }

  36%,
  88% {
    opacity: 0.86;
    transform: translate(-50%, -50%) scale(1);
  }

  94%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-overview-paint-tile {
  0%,
  63% {
    opacity: 0;
    transform: scale(0.62);
  }

  65% {
    opacity: 1;
    transform: scale(1.16);
  }

  67%,
  90% {
    opacity: 1;
    transform: scale(1);
  }

  94%,
  100% {
    opacity: 0;
    transform: scale(1);
  }
}

@keyframes tour-overview-paint-flash {
  0%,
  63% {
    opacity: 0;
    transform: scale(0.64);
  }

  65% {
    opacity: 0.72;
    transform: scale(0.8);
  }

  68%,
  100% {
    opacity: 0;
    transform: scale(1.38);
  }
}

@keyframes tour-overview-arrow-after-claim {
  0%,
  22% {
    opacity: 0;
    transform: translateX(-5px);
  }

  25%,
  88% {
    opacity: 1;
    transform: translateX(0);
  }

  94%,
  100% {
    opacity: 0;
    transform: translateX(0);
  }
}

@keyframes tour-overview-arrow-after-template {
  0%,
  50% {
    opacity: 0;
    transform: translateX(-5px);
  }

  53%,
  88% {
    opacity: 1;
    transform: translateX(0);
  }

  94%,
  100% {
    opacity: 0;
    transform: translateX(0);
  }
}

@keyframes tour-overview-claim-cursor {
  0%,
  7% {
    opacity: 0;
    left: 22%;
    top: 3%;
  }

  9% {
    opacity: 1;
    left: 22%;
    top: 3%;
  }

  21% {
    opacity: 1;
    left: 77%;
    top: 88%;
  }

  25%,
  100% {
    opacity: 0;
    left: 77%;
    top: 88%;
  }
}

@keyframes tour-overview-paint-cursor {
  0%,
  61% {
    opacity: 0;
    left: 32%;
    top: 19%;
  }

  64% {
    opacity: 1;
    left: 32%;
    top: 19%;
  }

  66% {
    opacity: 1;
    left: 68%;
    top: 19%;
  }

  68% {
    opacity: 1;
    left: 25%;
    top: 31%;
  }

  71% {
    opacity: 1;
    left: 75%;
    top: 31%;
  }

  73% {
    opacity: 1;
    left: 25%;
    top: 44%;
  }

  75% {
    opacity: 1;
    left: 75%;
    top: 44%;
  }

  77% {
    opacity: 1;
    left: 32%;
    top: 56%;
  }

  79% {
    opacity: 1;
    left: 68%;
    top: 56%;
  }

  82% {
    opacity: 1;
    left: 39%;
    top: 69%;
  }

  84% {
    opacity: 1;
    left: 61%;
    top: 69%;
  }

  86% {
    opacity: 1;
    left: 54%;
    top: 81%;
  }

  88%,
  100% {
    opacity: 0;
    left: 54%;
    top: 81%;
  }
}

.info-tour-preview .onboarding-preview.is-tour-overview {
  height: auto;
  min-height: 214px;
  padding: 0.86rem 4.8rem 4.42rem 0.86rem;
}

.info-tour-preview .info-tour-play {
  top: 4.85rem;
}

.onboarding-preview.is-build .is-claim,
.onboarding-preview.is-build .is-paint,
.onboarding-preview.is-claim-open .is-claim,
.onboarding-preview.is-paint-tools .is-paint,
.onboarding-preview.is-manage .is-areas,
.onboarding-preview.is-claim-tools .onboarding-preview-tools .is-brush,
.onboarding-preview.is-canvas-claim.is-brush-tool .onboarding-preview-tools .is-brush,
.onboarding-preview.is-canvas-claim.is-rectangle-tool .onboarding-preview-tools .is-rectangle,
.onboarding-preview.is-canvas-claim.is-overlay-tool .onboarding-preview-tools .is-overlay {
  border-color: rgba(var(--accent-turquoise-rgb), 0.56);
  background: rgba(var(--accent-turquoise-rgb), 0.16);
  color: var(--accent-turquoise);
}

.onboarding-preview.is-build .onboarding-preview-buildbar,
.onboarding-preview.is-claim-open .onboarding-preview-buildbar,
.onboarding-preview.is-paint-tools .onboarding-preview-buildbar {
  display: grid;
}

.onboarding-preview.is-claim-open .onboarding-preview-panel,
.onboarding-preview.is-claim-tools .onboarding-preview-panel,
.onboarding-preview.is-paint-tools .onboarding-preview-panel {
  display: grid;
}

.onboarding-preview.is-manage .onboarding-preview-menu {
  display: grid;
}

.onboarding-preview.is-claim-open .onboarding-preview-hotspot,
.onboarding-preview.is-claim-tools .onboarding-preview-hotspot,
.onboarding-preview.is-canvas-claim .onboarding-preview-hotspot,
.onboarding-preview.is-paint-tools .onboarding-preview-hotspot,
.onboarding-preview.is-manage .onboarding-preview-hotspot {
  opacity: 1;
}

.onboarding-preview.is-claim-open .onboarding-preview-hotspot {
  left: 10%;
  bottom: 4px;
}

.onboarding-preview.is-claim-tools .onboarding-preview-hotspot {
  left: 15%;
  bottom: 5px;
}

.onboarding-preview.is-canvas-claim .onboarding-preview-hotspot {
  --tour-hotspot-anchor: translate(-50%, -50%);
  left: 46%;
  top: 43%;
}

.onboarding-preview.is-paint-tools .onboarding-preview-hotspot {
  right: 7%;
  bottom: 4px;
}

.onboarding-preview.is-manage .onboarding-preview-hotspot {
  right: 2px;
  top: 1px;
}

.onboarding-preview.is-claim-tools .onboarding-preview-rectangle,
.onboarding-preview.is-canvas-claim.is-rectangle-tool .onboarding-preview-rectangle,
.onboarding-preview.is-canvas-claim.is-brush-tool .onboarding-preview-reticle,
.onboarding-preview.is-canvas-claim.is-rectangle-tool .onboarding-preview-reticle {
  opacity: 1;
}

.onboarding-preview.is-claim-tools .onboarding-preview-overlay-template,
.onboarding-preview.is-canvas-claim.is-overlay-tool .onboarding-preview-overlay-template {
  opacity: 1;
  animation: tour-overlay-template 3.6s ease-in-out infinite;
}

.onboarding-preview.is-claim-tools .onboarding-preview-tools span {
  animation: tour-tool-option 3.6s ease-in-out infinite;
}

.onboarding-preview.is-claim-tools .onboarding-preview-tools .is-rectangle {
  animation-delay: 0.8s;
}

.onboarding-preview.is-claim-tools .onboarding-preview-tools .is-overlay {
  animation-delay: 1.6s;
}

.onboarding-preview.is-claim-tools .onboarding-preview-tools .is-overlay,
.claim-tool-row[data-tour-focus] [data-tour="claim-overlay"] {
  border-color: rgba(82, 150, 255, 0.72);
  background: rgba(82, 150, 255, 0.18);
  color: #b9d4ff;
  box-shadow: 0 0 22px rgba(82, 150, 255, 0.2);
}

.onboarding-preview.is-claim-tools .onboarding-preview-brush,
.onboarding-preview.is-claim-open .onboarding-preview-brush,
.onboarding-preview.is-canvas-claim.is-brush-tool .onboarding-preview-brush,
.onboarding-preview.is-paint-tools .onboarding-preview-brush {
  opacity: 1;
}

.onboarding-preview.is-canvas-claim .onboarding-preview-grid,
.onboarding-preview.is-paint-tools .onboarding-preview-grid {
  padding: 0.32rem;
}

.onboarding-preview.is-canvas-claim .onboarding-preview-reticle {
  animation: tour-reticle-pulse 1.8s ease-in-out infinite;
}

.tour-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.58rem;
  margin-top: 1rem;
}

.tour-step-actions {
  position: sticky;
  z-index: 2;
  bottom: 0;
  justify-content: flex-end;
  margin: 0 -0.86rem -0.86rem;
  padding: 0.72rem 0.86rem 0.86rem;
  background:
    linear-gradient(180deg, transparent, var(--modal-background) 28%),
    var(--modal-background);
}

.tour-actions .google-button {
  width: auto;
  min-width: 122px;
  margin-top: 0;
  padding: 0 0.95rem;
}

.onboarding-guide-layer {
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
}

.onboarding-guide-spotlight {
  position: fixed;
  border: 2px solid rgba(255, 255, 255, 0.86);
  border-radius: 14px;
  box-shadow:
    0 0 0 9999px rgba(0, 0, 0, 0.7),
    inset 0 0 24px rgba(255, 255, 255, 0.1),
    0 0 38px rgba(var(--accent-turquoise-rgb), 0.56);
  pointer-events: none;
}

.onboarding-guide-spotlight::before {
  display: none;
}

.onboarding-guide-spotlight::after {
  display: none;
}

.onboarding-guide-label {
  position: fixed;
  z-index: 1;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 0.62rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.56);
  border-radius: 999px;
  background: rgba(6, 14, 22, 0.92);
  color: var(--accent-turquoise);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  pointer-events: none;
}

.build-taskbar[data-tour-focus],
.build-tool-button[data-tour-focus],
.hud-login-button[data-tour-focus],
.pixel-placement-panel[data-tour-focus],
.claim-tool-row[data-tour-focus],
.paint-tool-row[data-tour-focus],
.game-area-entry-card[data-tour-focus],
.game-mode-button[data-tour-focus],
.game-tool-grid[data-tour-focus],
.game-sidebar-section[data-tour-focus] {
  outline: 0;
  box-shadow:
    0 0 0 2px rgba(255, 255, 255, 0.74),
    0 0 28px rgba(var(--accent-turquoise-rgb), 0.48);
}

.claim-tool-row[data-tour-focus],
.paint-tool-row[data-tour-focus],
.game-tool-grid[data-tour-focus],
.game-sidebar-section[data-tour-focus] {
  border-radius: 14px;
}

.claim-tool-row[data-tour-focus] .claim-tool-button,
.paint-tool-row[data-tour-focus] .claim-tool-button,
.game-tool-grid[data-tour-focus] .game-tool-button,
.game-sidebar-section[data-tour-focus] .game-sidebar-primary,
.game-sidebar-section[data-tour-focus] .pixel-color-button {
  animation: tour-control-pop 2.4s ease-in-out infinite;
}

.claim-tool-row[data-tour-focus] [data-tour="claim-rectangle"] {
  animation-delay: 0.35s;
}

.claim-tool-row[data-tour-focus] [data-tour="claim-overlay"] {
  animation-delay: 0.7s;
}

.onboarding-guide-panel {
  position: fixed;
  width: min(360px, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  display: grid;
  gap: 0.72rem;
  overflow-y: auto;
  padding: 0.86rem;
  border: 1px solid var(--hud-border);
  border-radius: 18px;
  background: rgba(7, 14, 22, 0.96);
  color: var(--hud-text);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
  -webkit-backdrop-filter: blur(18px);
          backdrop-filter: blur(18px);
  pointer-events: auto;
}

.onboarding-guide-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.onboarding-guide-header span {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  padding: 0 0.55rem;
  border: 1px solid rgba(var(--accent-turquoise-rgb), 0.28);
  border-radius: 999px;
  color: var(--modal-copy);
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.onboarding-guide-panel h3 {
  margin: 0;
  font-size: 1.08rem;
}

.onboarding-guide-panel p {
  margin: 0;
  color: var(--modal-copy);
  line-height: 1.5;
}

.onboarding-guide-panel ul {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding-left: 1.05rem;
  color: var(--modal-copy);
  font-size: 0.82rem;
  line-height: 1.45;
}

@keyframes tour-story-claim-cell {
  0%,
  50.8%,
  100% {
    background: rgba(255, 255, 255, 0.048);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035);
  }

  51%,
  98.8% {
    background: rgba(96, 247, 242, 0.34);
    box-shadow:
      inset 0 0 0 1px rgba(96, 247, 242, 0.72),
      0 0 14px rgba(96, 247, 242, 0.18);
  }
}

@keyframes tour-story-painted-cell-one {
  0%,
  50.8%,
  100% {
    background: rgba(255, 255, 255, 0.048);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035);
  }

  51%,
  83.8% {
    background: rgba(96, 247, 242, 0.34);
    box-shadow:
      inset 0 0 0 1px rgba(96, 247, 242, 0.72),
      0 0 14px rgba(96, 247, 242, 0.18);
  }

  84%,
  98.8% {
    background: var(--story-paint-color);
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.32),
      0 0 16px color-mix(in srgb, var(--story-paint-color) 28%, transparent);
  }
}

@keyframes tour-story-painted-cell-two {
  0%,
  50.8%,
  100% {
    background: rgba(255, 255, 255, 0.048);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035);
  }

  51%,
  87.8% {
    background: rgba(96, 247, 242, 0.34);
    box-shadow:
      inset 0 0 0 1px rgba(96, 247, 242, 0.72),
      0 0 14px rgba(96, 247, 242, 0.18);
  }

  88%,
  98.8% {
    background: var(--story-paint-color);
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.32),
      0 0 16px color-mix(in srgb, var(--story-paint-color) 28%, transparent);
  }
}

@keyframes tour-story-painted-cell-three {
  0%,
  50.8%,
  100% {
    background: rgba(255, 255, 255, 0.048);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035);
  }

  51%,
  91.8% {
    background: rgba(96, 247, 242, 0.34);
    box-shadow:
      inset 0 0 0 1px rgba(96, 247, 242, 0.72),
      0 0 14px rgba(96, 247, 242, 0.18);
  }

  92%,
  98.8% {
    background: var(--story-paint-color);
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.32),
      0 0 16px color-mix(in srgb, var(--story-paint-color) 28%, transparent);
  }
}

@keyframes tour-story-painted-cell-four {
  0%,
  50.8%,
  100% {
    background: rgba(255, 255, 255, 0.048);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035);
  }

  51%,
  95.8% {
    background: rgba(96, 247, 242, 0.34);
    box-shadow:
      inset 0 0 0 1px rgba(96, 247, 242, 0.72),
      0 0 14px rgba(96, 247, 242, 0.18);
  }

  96%,
  98.8% {
    background: var(--story-paint-color);
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.32),
      0 0 16px color-mix(in srgb, var(--story-paint-color) 28%, transparent);
  }
}

@keyframes tour-story-first-corner {
  0%,
  27%,
  56%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.72);
  }

  33%,
  49% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-second-corner {
  0%,
  40%,
  58%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.72);
  }

  47%,
  53% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-rectangle-guide {
  0%,
  31%,
  51.4%,
  100% {
    opacity: 0;
    transform: scale(0.08, 0.08);
  }

  39%,
  50.4% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes tour-story-cursor {
  0%,
  9% {
    left: 26%;
    top: 89%;
    transform: scale(1);
  }

  14% {
    left: 26%;
    top: 89%;
    transform: scale(0.86);
  }

  22%,
  29% {
    left: 36%;
    top: 23%;
    transform: scale(1);
  }

  33% {
    left: 36%;
    top: 23%;
    transform: scale(0.86);
  }

  42%,
  47% {
    left: 64%;
    top: 54%;
    transform: scale(1);
  }

  51% {
    left: 64%;
    top: 54%;
    transform: scale(0.86);
  }

  62%,
  67% {
    left: 74%;
    top: 89%;
    transform: scale(1);
  }

  70% {
    left: 74%;
    top: 89%;
    transform: scale(0.86);
  }

  73%,
  76% {
    left: 61%;
    top: 63%;
    transform: scale(1);
  }

  78% {
    left: 61%;
    top: 63%;
    transform: scale(0.86);
  }

  82% {
    left: 44%;
    top: 33%;
    transform: scale(1);
  }

  84% {
    left: 44%;
    top: 33%;
    transform: scale(0.86);
  }

  86% {
    left: 56%;
    top: 33%;
    transform: scale(1);
  }

  88% {
    left: 56%;
    top: 33%;
    transform: scale(0.86);
  }

  90% {
    left: 44%;
    top: 44%;
    transform: scale(1);
  }

  92% {
    left: 44%;
    top: 44%;
    transform: scale(0.86);
  }

  94% {
    left: 56%;
    top: 44%;
    transform: scale(1);
  }

  96% {
    left: 56%;
    top: 44%;
    transform: scale(0.86);
  }

  99% {
    left: 56%;
    top: 44%;
    transform: scale(1);
  }

  100% {
    left: 26%;
    top: 89%;
    transform: scale(1);
  }
}

@keyframes tour-story-click-claim {
  0%,
  11%,
  20%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
  }

  14% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-click-first-corner {
  0%,
  30%,
  39%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
  }

  33% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-palette {
  0%,
  71%,
  84%,
  100% {
    opacity: 0;
    transform: translateY(4px);
  }

  76%,
  81% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tour-story-selected-color {
  0%,
  76%,
  100% {
    box-shadow: none;
    transform: scale(1);
  }

  78%,
  82% {
    box-shadow:
      0 0 0 2px rgba(255, 255, 255, 0.82),
      0 0 14px rgba(19, 230, 123, 0.34);
    transform: scale(1.08);
  }
}

@keyframes tour-story-click-second-corner {
  0%,
  48%,
  57%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
  }

  51% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-click-paint {
  0%,
  67%,
  75%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
  }

  70% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-click-color {
  0%,
  75%,
  83%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
  }

  78% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-click-paint-place-one {
  0%,
  82%,
  87%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
  }

  84% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-click-paint-place-two {
  0%,
  86%,
  91%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
  }

  88% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-click-paint-place-three {
  0%,
  90%,
  95%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
  }

  92% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-click-paint-place-four {
  0%,
  94%,
  99%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.42);
  }

  96% {
    opacity: 0.82;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes tour-story-step-idle {
  0%,
  100% {
    border-color: rgba(var(--accent-turquoise-rgb), 0.22);
    background: rgba(255, 255, 255, 0.05);
    color: var(--hud-text);
  }
}

@keyframes tour-story-step-claim {
  0%,
  55% {
    border-color: rgba(var(--accent-turquoise-rgb), 0.62);
    background: rgba(var(--accent-turquoise-rgb), 0.18);
    color: var(--accent-turquoise);
  }

  64%,
  100% {
    border-color: rgba(var(--accent-turquoise-rgb), 0.22);
    background: rgba(255, 255, 255, 0.05);
    color: var(--hud-text);
  }
}

@keyframes tour-story-step-paint {
  0%,
  61%,
  100% {
    border-color: rgba(var(--accent-turquoise-rgb), 0.22);
    background: rgba(255, 255, 255, 0.05);
    color: var(--hud-text);
  }

  67%,
  98.8% {
    border-color: rgba(var(--accent-turquoise-rgb), 0.62);
    background: rgba(var(--accent-turquoise-rgb), 0.18);
    color: var(--accent-turquoise);
  }
}

@keyframes tour-brush-place {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }

  44% {
    transform: translate(-34px, -20px) scale(1.06);
  }

  54% {
    transform: translate(-34px, -20px) scale(0.9);
  }
}

@keyframes tour-hotspot-pulse {
  0%,
  100% {
    opacity: 0.74;
    transform: var(--tour-hotspot-anchor) scale(0.96);
  }

  50% {
    opacity: 1;
    transform: var(--tour-hotspot-anchor) scale(1.08);
  }
}

@keyframes tour-overlay-template {
  0%,
  100% {
    transform: translate(0, 0) scale(0.92);
  }

  45% {
    transform: translate(10px, 4px) scale(1);
  }

  70% {
    transform: translate(10px, 4px) scale(1.08);
  }
}

@keyframes tour-tool-option {
  0%,
  28%,
  100% {
    border-color: rgba(var(--accent-turquoise-rgb), 0.22);
    background: rgba(255, 255, 255, 0.05);
    color: var(--hud-text);
    box-shadow: none;
  }

  12% {
    border-color: rgba(var(--accent-turquoise-rgb), 0.62);
    background: rgba(var(--accent-turquoise-rgb), 0.18);
    color: var(--accent-turquoise);
    box-shadow: 0 0 18px rgba(var(--accent-turquoise-rgb), 0.2);
  }
}

@keyframes tour-reticle-pulse {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
  }

  50% {
    transform: translate(-50%, -50%) scale(1.12);
  }
}

@keyframes tour-control-pop {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-2px);
  }
}

.modal-version {
  margin: 1rem 0 0;
  color: var(--modal-copy);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.modal-version-button {
  align-self: flex-start;
  margin-top: 1rem;
  padding: 0.45rem 0.85rem;
  border: 1px solid var(--hud-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--modal-copy);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.google-button {
  min-height: 48px;
  width: 100%;
  margin-top: 1rem;
  border-radius: 16px;
  font-weight: 700;
  opacity: 0.68;
}

.google-button:not(:disabled) {
  opacity: 1;
}

.google-button-secondary {
  opacity: 0.92;
}

.google-button:disabled {
  cursor: not-allowed;
}

.me-shell {
  min-height: 100vh;
  padding: 1.25rem;
  background:
    radial-gradient(circle at top left, rgba(73, 183, 210, 0.12), transparent 26%),
    radial-gradient(circle at bottom right, rgba(245, 158, 11, 0.08), transparent 28%),
    linear-gradient(180deg, #0d1520, #09111a);
}

.me-page {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 1rem;
}

.me-topbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.2rem 1.25rem;
  border: 1px solid rgba(198, 214, 229, 0.15);
  border-radius: 28px;
  background: rgba(10, 16, 24, 0.76);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.me-topbar h1,
.me-card h1,
.me-card h2 {
  margin: 0;
}

.me-topbar h1 span {
  color: var(--modal-copy);
  font-size: 0.84em;
  font-weight: 700;
}

.me-topbar-actions,
.me-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.me-link-button,
.me-primary-button,
.me-secondary-button {
  min-height: 48px;
  margin-top: 0;
  border: 1px solid rgba(198, 214, 229, 0.15);
  border-radius: 16px;
  background: rgba(10, 16, 24, 0.72);
  color: #f7fbff;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.me-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 1rem;
  text-decoration: none;
  font-weight: 700;
}

.me-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr);
  gap: 1rem;
}

.me-card {
  display: grid;
  gap: 0.95rem;
  padding: 1.2rem 1.25rem;
  border: 1px solid rgba(198, 214, 229, 0.15);
  border-radius: 28px;
  background: rgba(10, 16, 24, 0.76);
  color: #f7fbff;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.me-highlight-card {
  border-color: rgba(var(--accent-turquoise-rgb), 0.24);
  background: rgba(var(--accent-turquoise-rgb), 0.08);
}

.me-kicker {
  margin: 0;
  color: rgba(221, 232, 242, 0.82);
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.me-copy {
  margin: 0;
  color: rgba(221, 232, 242, 0.82);
  line-height: 1.6;
}

.me-copy-error {
  color: #f7a3a3;
}

.me-hero-card {
  grid-row: span 2;
}

.me-profile-head {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.me-avatar-large {
  width: 88px;
  height: 88px;
  border-radius: 26px;
}

.me-profile-copy {
  display: grid;
  gap: 0.2rem;
}

.me-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.me-stat-card {
  display: grid;
  gap: 0.28rem;
  padding: 1rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.05);
}

.me-stat-label {
  color: rgba(221, 232, 242, 0.82);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.me-stat-card strong {
  font-size: 1.08rem;
  line-height: 1.4;
}

.me-stat-card small {
  color: rgba(221, 232, 242, 0.82);
}

.me-progress {
  display: grid;
  gap: 0.55rem;
}

.me-progress-header {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  color: rgba(221, 232, 242, 0.82);
  font-size: 0.84rem;
}

.me-progress-bar {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.me-progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #38bdf8, #7dd3a5);
}

.me-list {
  margin: 0;
  padding-left: 1.1rem;
  color: rgba(221, 232, 242, 0.82);
  line-height: 1.7;
}

.admin-page,
.admin-access-page {
  min-height: 100vh;
  background: #111312;
  color: #f4f1e8;
}

.admin-page {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
}

.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem;
  border-right: 1px solid #343936;
  background: #191c1a;
}

.admin-brand,
.admin-return-link {
  color: inherit;
  text-decoration: none;
}

.admin-brand {
  display: grid;
  gap: 0.18rem;
  padding: 0.85rem;
  border: 1px solid #3c423e;
  border-radius: 8px;
  background: #222622;
}

.admin-brand span,
.admin-kicker,
.admin-metric span,
.admin-module span,
.admin-panel-heading span {
  color: #b9c4bd;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-brand strong {
  font-size: 1.1rem;
}

.admin-nav {
  display: grid;
  align-content: start;
  gap: 0.5rem;
}

.admin-nav-item {
  min-height: 52px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.72rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  text-decoration: none;
  text-align: left;
}

.admin-nav-item:hover,
.admin-nav-item:focus-visible,
.admin-nav-item.is-active,
.admin-return-link:hover,
.admin-return-link:focus-visible {
  border-color: #87b7a0;
  outline: none;
}

.admin-nav-item.is-active {
  background: #252c27;
}

.admin-nav-item svg,
.admin-module-icon svg {
  width: 22px;
  height: 22px;
}

.admin-nav-item span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 850;
}

.admin-nav-item small,
.admin-metric small,
.admin-module small,
.admin-table-panel td {
  color: #c9c2b3;
}

.admin-workspace {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 1rem;
  padding: 1rem;
}

.admin-status-row,
.admin-topbar,
.admin-metric,
.admin-module,
.admin-table-panel,
.admin-stage-panel,
.admin-note-panel,
.admin-empty-panel,
.admin-user-search-panel,
.admin-user-detail-panel,
.admin-user-edit-panel,
.admin-user-action-panel,
.admin-access-panel {
  border: 1px solid #343936;
  border-radius: 8px;
  background: #191c1a;
}

.admin-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 1rem;
}

.admin-status-row div {
  display: grid;
  gap: 0.15rem;
}

.admin-status-row span {
  color: #b9c4bd;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-primary-button {
  min-height: 40px;
  padding: 0 0.85rem;
  border: 1px solid #4d6f61;
  border-radius: 8px;
  background: #2c3f36;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.admin-primary-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.admin-secondary-button {
  min-height: 40px;
  padding: 0 0.85rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.admin-secondary-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.admin-secondary-link {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.72rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  font-weight: 850;
  text-decoration: none;
}

.admin-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.admin-topbar h1,
.admin-access-panel h1 {
  margin: 0.12rem 0 0;
  font-size: 2.2rem;
  line-height: 1;
}

.admin-kicker {
  margin: 0;
}

.admin-user-pill {
  min-height: 48px;
  display: grid;
  align-content: center;
  gap: 0.1rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid #3c423e;
  border-radius: 8px;
  background: #222622;
  text-align: right;
}

.admin-user-pill span {
  color: #87b7a0;
  font-size: 0.78rem;
  font-weight: 850;
}

.admin-user-pill strong {
  max-width: 220px;
  overflow-wrap: anywhere;
}

.admin-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.admin-metric {
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem;
}

.admin-metric strong {
  overflow-wrap: anywhere;
  font-size: 1.35rem;
}

.admin-metric.is-wide {
  grid-column: span 2;
}

.admin-stage-panel,
.admin-note-panel,
.admin-empty-panel,
.admin-user-edit-panel,
.admin-user-action-panel {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.admin-empty-panel h2,
.admin-empty-panel p,
.admin-note-panel p {
  margin: 0;
}

.admin-empty-panel p,
.admin-note-panel p,
.admin-inline-message {
  color: #c9c2b3;
  line-height: 1.5;
}

.admin-inline-message {
  padding: 0.72rem 0.82rem;
  border: 1px solid #4b514b;
  border-radius: 8px;
  background: #1b201c;
}

.admin-inline-message.is-error {
  border-color: #80524f;
  background: #2b1f1e;
  color: #f0b5af;
}

.admin-inline-message.is-success {
  border-color: #426c58;
  background: #18261e;
  color: #a8d5bd;
}

.admin-progress-bar {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #2b302c;
}

.admin-progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #87b7a0, #e6b464);
}

.admin-stage-grid,
.admin-queue-grid,
.admin-user-stat-grid,
.admin-disabled-action-grid {
  display: grid;
  gap: 0.75rem;
}

.admin-stage-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-stage-grid span {
  min-height: 44px;
  display: grid;
  align-items: center;
  padding: 0.65rem;
  border: 1px solid #343936;
  border-radius: 8px;
  color: #c9c2b3;
  background: #202421;
}

.admin-stage-control {
  display: grid;
  grid-template-columns: minmax(180px, 260px) auto auto;
  align-items: end;
  gap: 0.75rem;
}

.admin-stage-control label {
  display: grid;
  gap: 0.35rem;
  color: #b9c4bd;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-stage-control input {
  min-height: 40px;
  min-width: 0;
  border: 1px solid #343936;
  border-radius: 8px;
  padding: 0 0.7rem;
  background: #111312;
  color: #f4f1e8;
  outline: none;
}

.admin-stage-control input:focus {
  border-color: #87b7a0;
}

.admin-stage-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.admin-stage-meta span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 0.55rem;
  border: 1px solid #343936;
  border-radius: 999px;
  background: #202421;
  color: #c9c2b3;
  font-size: 0.78rem;
  font-weight: 800;
}

.admin-queue-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-queue-grid article,
.admin-user-stat-grid article {
  display: grid;
  gap: 0.25rem;
  padding: 0.85rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #191c1a;
}

.admin-queue-grid span,
.admin-user-stat-grid span {
  color: #b9c4bd;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-queue-grid strong,
.admin-user-stat-grid strong {
  overflow-wrap: anywhere;
  font-size: 1.25rem;
}

.admin-module-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
}

.admin-module {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  min-height: 112px;
  padding: 0.85rem;
  scroll-margin-top: 1rem;
}

.admin-module-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #2b302c;
}

.admin-module h2 {
  margin: 0.15rem 0 0;
  overflow-wrap: anywhere;
  font-size: 1.05rem;
}

.admin-module small {
  grid-column: 1 / -1;
  justify-self: start;
  padding: 0.18rem 0.44rem;
  border: 1px solid #3c423e;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
}

.admin-nav-item.is-dashboard,
.admin-module.is-dashboard {
  border-color: rgba(135, 183, 160, 0.45);
}

.admin-nav-item.is-users,
.admin-module.is-users {
  border-color: rgba(130, 195, 190, 0.45);
}

.admin-nav-item.is-team,
.admin-module.is-team {
  border-color: rgba(135, 169, 204, 0.45);
}

.admin-nav-item.is-vouchers,
.admin-module.is-vouchers {
  border-color: rgba(124, 205, 145, 0.48);
}

.admin-nav-item.is-claims,
.admin-module.is-claims {
  border-color: rgba(230, 180, 100, 0.48);
}

.admin-nav-item.is-appeals,
.admin-module.is-appeals {
  border-color: rgba(198, 118, 132, 0.5);
}

.admin-nav-item.is-reports,
.admin-module.is-reports {
  border-color: rgba(166, 143, 205, 0.5);
}

.admin-table-panel {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
}

.admin-panel-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.admin-table-wrap {
  overflow-x: auto;
}

.admin-table-panel table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}

.admin-table-panel th,
.admin-table-panel td {
  padding: 0.82rem 0.75rem;
  border-bottom: 1px solid #343936;
  text-align: left;
}

.admin-table-panel th {
  color: #f4f1e8;
  font-size: 0.78rem;
}

.admin-table-panel tr.is-selected td {
  background: rgba(135, 183, 160, 0.08);
}

.admin-table-panel td small {
  display: block;
  margin-top: 0.16rem;
  color: #b9c4bd;
  font-size: 0.74rem;
}

.admin-voucher-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
  gap: 1rem;
}

.admin-voucher-redemptions {
  grid-column: 1 / -1;
}

.admin-voucher-search div {
  grid-template-columns: minmax(0, 1fr) auto auto;
}

.admin-voucher-search select {
  min-height: 44px;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  padding: 0 0.72rem;
}

.admin-voucher-code-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
}

.admin-voucher-code-list code,
.admin-table-panel td code {
  display: inline-flex;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: 0.18rem 0.42rem;
  border: 1px solid rgba(124, 205, 145, 0.28);
  border-radius: 6px;
  background: rgba(124, 205, 145, 0.1);
  color: #b7f2c2;
  font-family: var(--font-code);
  font-size: 0.78rem;
}

.admin-voucher-generator .admin-panel-tools {
  justify-content: flex-start;
}

.admin-table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.admin-table-actions button,
.admin-table-actions a,
.admin-row-action-button {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.58rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 850;
  text-decoration: none;
}

.admin-permission-layout {
  display: grid;
  gap: 1rem;
}

.admin-mods-layout,
.admin-permission-builder,
.admin-custom-package-assignment {
  display: grid;
  gap: 1rem;
}

.admin-staff-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.admin-staff-log-panel {
  grid-column: 1 / -1;
}

.admin-staff-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.admin-staff-log-table {
  min-width: 980px;
}

.admin-role-package-grid,
.admin-permission-doc-grid {
  display: grid;
  gap: 0.75rem;
}

.admin-role-package-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.admin-role-tools-grid,
.admin-role-management-grid {
  display: grid;
  gap: 0.75rem;
  margin-top: 1rem;
}

.admin-role-tools-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.admin-role-management-grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}

.admin-role-package-card,
.admin-role-tool-card,
.admin-permission-doc-card {
  display: grid;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
}

.admin-role-tool-card {
  align-content: start;
}

.admin-role-package-card > div:first-child {
  display: grid;
  gap: 0.18rem;
}

.admin-role-editor-card {
  align-content: start;
}

.admin-role-card-header {
  display: flex !important;
  align-items: start;
  justify-content: space-between;
  gap: 0.75rem;
}

.admin-role-card-header code {
  padding: 0.2rem 0.38rem;
  border: 1px solid #3c423e;
  border-radius: 999px;
  color: #95a59c;
  font-size: 0.68rem;
}

.admin-role-package-editor {
  display: grid;
  gap: 0.65rem;
  padding-top: 0.65rem;
  border-top: 1px solid #343936;
}

.admin-role-package-editor > span {
  color: #c9c2b3;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.admin-role-save-helper {
  color: #b9c4bd;
  font-size: 0.74rem;
  line-height: 1.35;
}

.admin-role-assignment-results {
  max-height: 290px;
  overflow-y: auto;
}

.admin-role-package-card span,
.admin-permission-doc-card h2 {
  margin: 0;
  color: #c9c2b3;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.admin-role-package-card strong {
  color: #f4f1e8;
  font-size: 1.05rem;
}

.admin-role-package-card p,
.admin-permission-doc-row p {
  margin: 0;
  color: #c9c2b3;
  line-height: 1.48;
}

.admin-permission-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.admin-permission-chip-list span {
  padding: 0.22rem 0.42rem;
  border: 1px solid rgba(135, 183, 160, 0.32);
  border-radius: 999px;
  background: rgba(135, 183, 160, 0.08);
  color: #dce7df;
  font-size: 0.66rem;
  letter-spacing: 0;
  text-transform: none;
}

.admin-permission-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.5rem;
}

.admin-permission-checkbox-grid label {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 0.65rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
}

.admin-permission-checkbox-grid input {
  margin-top: 0.18rem;
  accent-color: #87b7a0;
}

.admin-permission-checkbox-grid span {
  min-width: 0;
  display: grid;
  gap: 0.18rem;
}

.admin-permission-checkbox-grid strong,
.admin-permission-checkbox-grid small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-permission-checkbox-grid small {
  color: #c9c2b3;
}

.admin-permission-doc-row {
  display: grid;
  grid-template-columns: minmax(180px, 0.85fr) minmax(240px, 1fr) auto;
  align-items: start;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-top: 1px solid #343936;
}

.admin-permission-doc-row:first-of-type {
  border-top: 0;
}

.admin-permission-doc-row div {
  display: grid;
  gap: 0.28rem;
}

.admin-permission-doc-row code {
  color: #95a59c;
  font-size: 0.72rem;
}

.admin-permission-doc-row > span {
  justify-self: end;
  padding: 0.24rem 0.44rem;
  border: 1px solid #3c423e;
  border-radius: 999px;
  color: #c9c2b3;
  font-size: 0.68rem;
  font-weight: 900;
  white-space: nowrap;
}

.admin-permission-doc-row > span.is-granted {
  border-color: rgba(125, 211, 165, 0.46);
  color: #a7f3d0;
}

.admin-permission-doc-row > span.is-denied {
  border-color: rgba(248, 113, 113, 0.35);
  color: #fca5a5;
}

.admin-inline-link {
  color: inherit;
  font-weight: 850;
  text-decoration: none;
}

.admin-inline-link:hover,
.admin-inline-link:focus-visible {
  color: #a8d5bd;
  outline: none;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.admin-cell-stack {
  display: grid;
  gap: 0.18rem;
}

.admin-cell-stack span {
  color: #f4f1e8;
}

.admin-cell-stack small {
  color: #b9c4bd;
  font-size: 0.74rem;
}

.admin-panel-tools,
.admin-user-pagination,
.admin-filter-toggle {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.admin-panel-tools {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-filter-toggle {
  color: #c9c2b3;
  font-size: 0.76rem;
  font-weight: 850;
}

.admin-filter-toggle input {
  width: 16px;
  height: 16px;
  accent-color: #87b7a0;
}

.admin-user-pagination {
  justify-content: space-between;
  padding-top: 0.25rem;
}

.admin-user-pagination button {
  min-height: 34px;
  padding: 0 0.62rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 850;
}

.admin-user-pagination button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.admin-user-pagination span {
  color: #b9c4bd;
  font-size: 0.74rem;
  font-weight: 800;
  text-align: center;
}

.admin-table-panel table.admin-claims-table {
  min-width: 900px;
}

.admin-table-panel table.admin-claims-management-table {
  min-width: 980px;
}

.admin-table-panel table.admin-service-request-table {
  min-width: 1120px;
}

.admin-service-request-message {
  display: block;
  max-width: 28rem;
  overflow-wrap: anywhere;
}

.admin-claim-preview-cell {
  width: 112px;
}

.admin-area-preview {
  width: 96px;
}

.admin-area-preview.is-large {
  width: min(320px, 100%);
}

.admin-area-preview .owned-area-preview {
  border-color: #3c423e;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(244, 241, 232, 0.06) 1px, transparent 1px),
    linear-gradient(0deg, rgba(244, 241, 232, 0.06) 1px, transparent 1px),
    #111312;
  background-size: 10px 10px;
}

.admin-area-preview-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #8f978f;
  font-size: 0.72rem;
  font-weight: 850;
}

.admin-claim-preview-row td {
  background: #151816;
}

.admin-claim-live-panel,
.admin-claim-inline-preview {
  display: grid;
  grid-template-columns: minmax(180px, 320px) minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
}

.admin-claim-live-panel {
  grid-template-columns: minmax(320px, 2fr) minmax(0, 1fr);
}

.admin-claim-live-panel div:last-child,
.admin-claim-inline-preview div:last-child {
  min-width: 0;
  display: grid;
  gap: 0.25rem;
}

.admin-claim-live-panel span,
.admin-claim-live-panel small,
.admin-claim-inline-preview span,
.admin-claim-inline-preview small {
  color: #b9c4bd;
  font-size: 0.75rem;
  font-weight: 800;
}

.admin-claim-live-panel strong,
.admin-claim-inline-preview strong {
  overflow-wrap: anywhere;
}

.admin-live-frame {
  min-height: 360px;
  overflow: hidden;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #0b0d0c;
}

.admin-live-frame iframe {
  width: 100%;
  height: 420px;
  display: block;
  border: 0;
}

.admin-live-unavailable {
  min-height: 160px;
  display: grid;
  place-items: center;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #c9c2b3;
  text-align: center;
}

.admin-claim-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(130px, 180px) minmax(150px, 210px) minmax(170px, 240px) auto;
  align-items: end;
  gap: 0.75rem;
}

.admin-claim-toolbar label {
  display: grid;
  gap: 0.35rem;
  color: #b9c4bd;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-claim-toolbar input,
.admin-claim-toolbar select {
  min-height: 40px;
  min-width: 0;
  border: 1px solid #343936;
  border-radius: 8px;
  padding: 0 0.7rem;
  background: #111312;
  color: #f4f1e8;
  outline: none;
}

.admin-claim-toolbar input:focus,
.admin-claim-toolbar select:focus {
  border-color: #87b7a0;
}

.admin-claim-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  padding: 0.25rem 0;
}

.admin-claim-detail-grid article {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 0.32rem;
  padding: 0.8rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #191c1a;
}

.admin-claim-detail-grid article.is-wide {
  grid-column: span 2;
}

.admin-claim-detail-grid span,
.admin-claim-detail-grid small {
  color: #b9c4bd;
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-claim-detail-grid p {
  margin: 0;
  color: #c9c2b3;
  line-height: 1.45;
}

.admin-claim-detail-grid strong {
  overflow-wrap: anywhere;
}

.admin-claim-history-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.25rem 0;
}

.admin-history-note {
  margin: 0;
  color: #c9c2b3;
  line-height: 1.45;
}

.admin-empty-panel.is-compact {
  padding: 0.85rem;
}

.admin-history-event-list {
  display: grid;
  gap: 0.75rem;
}

.admin-history-event {
  display: grid;
  gap: 0.7rem;
  padding: 0.85rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #191c1a;
}

.admin-history-event p {
  margin: 0;
  color: #c9c2b3;
  line-height: 1.45;
}

.admin-history-event-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.admin-history-event-header div:first-child {
  display: grid;
  gap: 0.2rem;
}

.admin-history-event-header span,
.admin-history-event-header small,
.admin-history-metrics span,
.admin-history-metadata span,
.admin-history-diff-list span,
.admin-history-run-list span {
  overflow-wrap: anywhere;
}

.admin-history-event-header span,
.admin-history-event-header small {
  color: #b9c4bd;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-history-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
}

.admin-history-actions button {
  min-height: 34px;
  padding: 0 0.65rem;
  border: 1px solid #4d6f61;
  border-radius: 8px;
  background: #24362f;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.admin-history-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.admin-history-metrics,
.admin-history-metadata,
.admin-history-diff-list,
.admin-history-run-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.admin-history-metrics span,
.admin-history-metadata span,
.admin-history-diff-list span,
.admin-history-run-list span {
  padding: 0.25rem 0.45rem;
  border: 1px solid #3c5148;
  border-radius: 999px;
  background: #202822;
  color: #f4f1e8;
  font-size: 0.75rem;
  font-weight: 800;
}

.admin-history-diff-list,
.admin-history-run-list {
  max-height: 180px;
  overflow: auto;
  padding: 0.2rem;
}

.admin-audit-panel {
  display: grid;
  gap: 0.85rem;
  padding: 0.35rem 0;
}

.admin-audit-layout {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(280px, 360px);
  gap: 1rem;
  align-items: start;
}

.admin-audit-layout.is-live {
  grid-template-columns: minmax(260px, 0.82fr) minmax(280px, 1fr);
}

.admin-audit-live-panel,
.admin-audit-preview-panel,
.admin-audit-sidebar {
  min-width: 0;
  display: grid;
  gap: 0.75rem;
}

.admin-audit-live-tools {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.52rem;
  align-items: center;
  padding: 0.55rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #191c1a;
}

.admin-audit-live-tools div {
  min-width: 0;
  display: grid;
  gap: 0.08rem;
}

.admin-audit-live-tools span,
.admin-audit-summary span {
  color: #b9c4bd;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-audit-live-tools strong,
.admin-audit-summary strong {
  overflow-wrap: anywhere;
  color: #f4f1e8;
  font-size: 0.82rem;
}

.admin-audit-live-tools small {
  color: #c9c2b3;
  font-size: 0.68rem;
  line-height: 1.22;
}

.admin-audit-live-tools .admin-audit-picker-button {
  width: 34px;
  height: 34px;
  min-height: 34px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #3f463f;
  border-radius: 999px;
  background: #111312;
  color: #f4f1e8;
  cursor: pointer;
}

.admin-audit-live-tools .admin-audit-picker-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.admin-audit-live-tools .admin-audit-picker-button.is-active {
  border-color: #87b7a0;
  background: #26342d;
  color: #baf0cc;
}

.admin-audit-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.42rem;
}

.admin-audit-summary div {
  min-width: 0;
  display: grid;
  gap: 0.14rem;
  padding: 0.48rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #141715;
}

.admin-audit-preview-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: #b9c4bd;
  font-size: 0.76rem;
  font-weight: 850;
}

.admin-audit-preview {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  border: 1px solid #343936;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(244, 241, 232, 0.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(244, 241, 232, 0.05) 1px, transparent 1px),
    #0b0d0c;
  background-size: 12px 12px;
}

.admin-audit-pixel {
  position: absolute;
  display: block;
  background: rgba(185, 196, 189, 0.22);
  image-rendering: pixelated;
}

.admin-audit-pixel.is-selected {
  z-index: 2;
  opacity: 0.95;
  box-shadow: 0 0 0 1px rgba(244, 241, 232, 0.7);
}

.admin-audit-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.38rem;
  padding: 0.52rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #191c1a;
}

.admin-audit-actions label {
  display: grid;
  gap: 0.35rem;
  color: #b9c4bd;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-audit-actions input,
.admin-audit-actions button {
  min-height: 30px;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #111312;
  color: #f4f1e8;
  font: inherit;
}

.admin-audit-actions input {
  padding: 0 0.65rem;
}

.admin-audit-actions button {
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.08;
  padding: 0.25rem 0.42rem;
}

.admin-audit-actions button.is-danger {
  border-color: rgba(198, 92, 80, 0.5);
  background: rgba(198, 92, 80, 0.12);
}

.admin-audit-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.admin-audit-selection-bar {
  min-width: 0;
  display: grid;
  gap: 0.38rem;
  padding: 0.48rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #191c1a;
}

.admin-audit-selection-bar input {
  width: 100%;
  min-height: 31px;
  padding: 0 0.65rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #111312;
  color: #f4f1e8;
  font: inherit;
}

.admin-audit-selection-bar div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.36rem;
}

.admin-audit-selection-bar button {
  min-height: 30px;
  border: 1px solid #3f463f;
  border-radius: 8px;
  background: #111312;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 850;
}

.admin-audit-selection-bar button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.admin-audit-selection-bar strong {
  color: #b9c4bd;
  font-size: 0.72rem;
  font-weight: 850;
}

.admin-audit-painter-list {
  display: grid;
  gap: 0.38rem;
  max-height: 520px;
  overflow-y: auto;
}

.admin-audit-painter-list p {
  margin: 0;
  color: #c9c2b3;
}

.admin-audit-painter {
  display: grid;
  grid-template-columns: 18px 12px minmax(0, 1fr);
  gap: 0.22rem 0.42rem;
  align-items: start;
  padding: 0.5rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.admin-audit-painter.is-selected {
  border-color: #87b7a0;
  background: #26342d;
}

.admin-audit-painter.is-banned {
  border-color: rgba(198, 92, 80, 0.6);
}

.admin-audit-painter.is-timeout {
  border-color: rgba(230, 180, 100, 0.65);
}

.admin-audit-painter-color {
  grid-column: 2;
  grid-row: 1 / 3;
  width: 10px;
  height: 10px;
  margin-top: 0.25rem;
  border-radius: 999px;
  background: #56605a;
}

.admin-audit-painter-check {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 16px;
  height: 16px;
  margin-top: 0.05rem;
  border: 1px solid #59635d;
  border-radius: 5px;
  background: #111312;
}

.admin-audit-painter.is-selected .admin-audit-painter-check {
  border-color: #9dd5b7;
  background:
    linear-gradient(135deg, transparent 0 42%, #f4f1e8 42% 58%, transparent 58%),
    linear-gradient(45deg, transparent 0 48%, #f4f1e8 48% 62%, transparent 62%),
    #3f6f55;
}

.admin-audit-painter-main,
.admin-audit-painter-meta {
  grid-column: 3;
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.admin-audit-painter-main strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-audit-painter small {
  color: #c9c2b3;
  font-size: 0.69rem;
  line-height: 1.18;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-progress-bar.is-compact {
  height: 8px;
}

.admin-member-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.admin-member-list span {
  padding: 0.24rem 0.45rem;
  border: 1px solid #343936;
  border-radius: 999px;
  background: #202421;
  color: #c9c2b3;
  text-transform: none;
}

.admin-users-layout {
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.admin-user-search-panel {
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
}

.admin-user-search {
  display: grid;
  gap: 0.5rem;
}

.admin-user-search label,
.admin-user-edit-grid label {
  display: grid;
  gap: 0.35rem;
  color: #b9c4bd;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.admin-user-search div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
}

.admin-user-search input,
.admin-user-edit-grid input,
.admin-user-edit-grid select,
.admin-user-edit-grid textarea {
  min-height: 40px;
  min-width: 0;
  border: 1px solid #343936;
  border-radius: 8px;
  padding: 0 0.7rem;
  background: #111312;
  color: #f4f1e8;
  outline: none;
}

.admin-user-edit-grid textarea {
  min-height: 82px;
  padding: 0.65rem 0.7rem;
  resize: vertical;
}

.admin-user-search input:focus,
.admin-user-edit-grid input:focus,
.admin-user-edit-grid select:focus,
.admin-user-edit-grid textarea:focus {
  border-color: #87b7a0;
}

.admin-user-results {
  display: grid;
  gap: 0.45rem;
}

.admin-user-results p {
  margin: 0;
  color: #c9c2b3;
}

.admin-user-result {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  font: inherit;
  text-align: left;
}

.admin-user-result.is-selected,
.admin-user-result:hover,
.admin-user-result:focus-visible {
  border-color: #87b7a0;
  outline: none;
}

.admin-user-result.is-selected {
  background: #243229;
}

.admin-user-result.is-selected.is-timeout {
  background: rgba(230, 180, 100, 0.1);
}

.admin-user-result.is-selected.is-banned {
  background: rgba(198, 92, 80, 0.1);
}

.admin-user-result.is-selected.is-active,
.admin-user-result.is-selected.is-active:hover {
  border-color: #87b7a0;
}

.admin-user-result.is-timeout {
  border-color: rgba(230, 180, 100, 0.55);
}

.admin-user-result.is-banned {
  border-color: rgba(198, 92, 80, 0.6);
}

.admin-user-result.is-active strong,
.admin-user-result.is-active .admin-inline-link {
  color: #a8d5bd;
}

.admin-user-result.is-timeout strong,
.admin-user-result.is-timeout .admin-inline-link {
  color: #e6c27a;
}

.admin-user-result.is-banned strong,
.admin-user-result.is-banned .admin-inline-link {
  color: #f2aaa1;
}

.admin-user-result span,
.admin-user-result small {
  color: #b9c4bd;
  font-size: 0.78rem;
  font-weight: 800;
}

.admin-user-result > div {
  min-width: 0;
  display: grid;
  gap: 0.16rem;
}

.admin-user-result strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-user-detail-panel {
  min-width: 0;
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.admin-user-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.admin-user-detail-header h2,
.admin-user-detail-header p,
.admin-inline-message {
  margin: 0;
}

.admin-user-detail-header span {
  color: #87b7a0;
  font-size: 0.78rem;
  font-weight: 850;
}

.admin-user-detail-header h2 {
  overflow-wrap: anywhere;
  font-size: 1.6rem;
}

.admin-user-detail-header p {
  color: #c9c2b3;
}

.admin-user-status {
  flex: 0 0 auto;
  padding: 0.32rem 0.55rem;
  border: 1px solid #4d6f61;
  border-radius: 999px;
  color: #a8d5bd;
  font-size: 0.78rem;
}

.admin-user-status.is-banned {
  border-color: rgba(198, 92, 80, 0.6);
  color: #f2aaa1;
}

.admin-user-status.is-timeout {
  border-color: rgba(230, 180, 100, 0.6);
  color: #e6c27a;
}

.admin-user-status.is-active {
  border-color: #4d6f61;
  color: #a8d5bd;
}

.admin-user-stat-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-user-edit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.admin-checkbox-label {
  align-content: end;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.admin-checkbox-label input {
  min-height: 18px;
  width: 18px;
  padding: 0;
}

.admin-disabled-action-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-disabled-action-grid button {
  min-height: 42px;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #8f978f;
  font: inherit;
}

.admin-access-page {
  display: grid;
  place-items: center;
  padding: 1rem;
}

.admin-access-panel {
  width: min(480px, 100%);
  display: grid;
  gap: 1rem;
  padding: 1.1rem;
}

.admin-access-panel p {
  margin: 0;
  color: #c9c2b3;
  line-height: 1.55;
}

.admin-return-link {
  justify-self: start;
  padding: 0.72rem 0.9rem;
  border: 1px solid #3c423e;
  border-radius: 8px;
  background: #222622;
  font-weight: 850;
}

.moderation-page {
  min-height: 100vh;
  display: grid;
  align-content: start;
  gap: 1rem;
  padding: 1rem;
  background: #111312;
  color: #f4f1e8;
}

.moderation-topbar,
.moderation-status-row,
.moderation-stats-panel,
.moderation-ticket-panel,
.moderation-report-summary,
.moderation-screenshot-panel,
.moderation-detail-panel,
.moderation-person-card,
.moderation-info-card,
.moderation-actions-panel,
.moderation-history-panel,
.moderation-empty-panel,
.moderation-message {
  border: 1px solid #343936;
  border-radius: 8px;
  background: #191c1a;
}

.moderation-topbar,
.moderation-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.moderation-brand {
  color: inherit;
  text-decoration: none;
}

.moderation-brand {
  display: grid;
  gap: 0.18rem;
}

.moderation-brand span,
.moderation-status-row span,
.moderation-panel-heading span,
.moderation-stats-panel span,
.moderation-ticket span,
.moderation-person-card > span,
.moderation-info-card > span,
.moderation-stat-grid span,
.moderation-report-meta dt,
.moderation-person-card dt,
.moderation-info-card dt {
  color: #b9c4bd;
  font-size: 0.74rem;
  font-weight: 850;
  text-transform: uppercase;
}

.moderation-brand strong {
  font-size: 1.35rem;
}

.moderation-topbar-meta,
.moderation-status-actions,
.moderation-action-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.moderation-status-row > div:first-child {
  display: grid;
  gap: 0.15rem;
}

.moderation-lock-pill {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 0.62rem;
  border: 1px solid #3c423e;
  border-radius: 999px;
  background: #202421;
  color: #c9c2b3;
  font-size: 0.78rem;
  font-weight: 850;
}

.moderation-message {
  margin: 0;
  padding: 0.8rem 1rem;
  color: #c9c2b3;
}

.moderation-message.is-success {
  border-color: rgba(135, 183, 160, 0.5);
  color: #a8d5bd;
}

.moderation-message.is-error {
  border-color: rgba(198, 92, 80, 0.62);
  color: #f2aaa1;
}

.moderation-shell {
  display: grid;
  grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.moderation-sidebar {
  position: sticky;
  top: 1rem;
  display: grid;
  gap: 1rem;
}

.moderation-stats-panel,
.moderation-ticket-panel,
.moderation-report-workspace,
.moderation-detail-layout {
  display: grid;
  gap: 1rem;
}

.moderation-stats-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  padding: 0.8rem;
}

.moderation-stats-panel article {
  min-width: 0;
  display: grid;
  gap: 0.2rem;
  padding: 0.72rem;
  border: 1px solid #2d322f;
  border-radius: 8px;
  background: #202421;
}

.moderation-stats-panel strong {
  font-size: 1.25rem;
  overflow-wrap: anywhere;
}

.moderation-ticket-panel,
.moderation-report-summary {
  padding: 1rem;
}

.moderation-refresh-button {
  min-height: 36px;
  padding: 0 0.75rem;
  border: 1px solid #3c423e;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
}

.moderation-refresh-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.moderation-ticket-list {
  display: grid;
  gap: 0.65rem;
  max-height: calc(100vh - 360px);
  overflow: auto;
  padding-right: 0.15rem;
}

.moderation-ticket-list p {
  margin: 0;
  color: #c9c2b3;
}

.moderation-ticket {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 0.22rem;
  padding: 0.78rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  cursor: pointer;
  text-align: left;
  font: inherit;
}

.moderation-ticket.is-active {
  border-color: #87b7a0;
  background: #24382f;
}

.moderation-ticket strong,
.moderation-ticket small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.moderation-ticket small {
  color: #c9c2b3;
  font-size: 0.78rem;
}

.moderation-empty-panel {
  display: grid;
  gap: 0.5rem;
  padding: 1.2rem;
}

.moderation-empty-panel h1,
.moderation-empty-panel p {
  margin: 0;
}

.moderation-empty-panel p {
  color: #c9c2b3;
}

.moderation-workspace {
  display: grid;
  gap: 1rem;
}

.moderation-primary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr);
  gap: 1rem;
  align-items: start;
}

.moderation-screenshot-panel,
.moderation-detail-panel,
.moderation-actions-panel,
.moderation-history-panel {
  display: grid;
  gap: 0.85rem;
  padding: 1rem;
}

.moderation-panel-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.moderation-person-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.moderation-person-card {
  display: grid;
  gap: 0.55rem;
  padding: 0.85rem;
}

.moderation-person-card strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 1.05rem;
}

.moderation-person-card dl {
  display: grid;
  gap: 0.4rem;
  margin: 0;
}

.moderation-person-card dl div {
  display: grid;
  gap: 0.12rem;
}

.moderation-person-card dd {
  min-width: 0;
  margin: 0;
  color: #f4f1e8;
  overflow-wrap: anywhere;
}

.moderation-screenshot-panel img {
  width: 100%;
  max-height: 68vh;
  object-fit: contain;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #0b1014;
  image-rendering: pixelated;
}

.moderation-screenshot-empty {
  min-height: 320px;
  display: grid;
  place-items: center;
  border: 1px dashed #3c423e;
  border-radius: 8px;
  color: #c9c2b3;
  background: #111312;
}

.moderation-report-meta,
.moderation-info-card dl {
  display: grid;
  gap: 0.65rem;
  margin: 0;
}

.moderation-report-meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.moderation-report-meta .is-wide {
  grid-column: 1 / -1;
}

.moderation-report-meta div,
.moderation-info-card dl div {
  min-width: 0;
  display: grid;
  gap: 0.18rem;
}

.moderation-report-meta dd,
.moderation-info-card dd {
  min-width: 0;
  margin: 0;
  color: #f4f1e8;
  overflow-wrap: anywhere;
}

.moderation-stat-grid,
.moderation-info-grid {
  display: grid;
  gap: 0.75rem;
}

.moderation-stat-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.moderation-info-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.moderation-stat-grid article,
.moderation-info-card {
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
}

.moderation-stat-grid strong,
.moderation-info-card strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 1.15rem;
}

.moderation-note-input {
  width: 100%;
  min-height: 96px;
  resize: vertical;
  border: 1px solid #343936;
  border-radius: 8px;
  padding: 0.75rem;
  background: #111312;
  color: #f4f1e8;
  font: inherit;
  outline: none;
}

.moderation-note-input:focus {
  border-color: #87b7a0;
}

.moderation-action-button {
  min-height: 42px;
  padding: 0 0.85rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.moderation-action-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.85rem;
  border: 1px solid #4d6f61;
  border-radius: 8px;
  background: #2c3f36;
  color: #f4f1e8;
  text-decoration: none;
  font-weight: 850;
}

.moderation-action-button.is-primary {
  border-color: #4d6f61;
  background: #2c3f36;
}

.moderation-action-button.is-danger {
  border-color: rgba(198, 92, 80, 0.62);
  background: rgba(198, 92, 80, 0.12);
}

.moderation-action-button:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.moderation-history-toggle {
  min-height: 40px;
  border: 1px solid #3c423e;
  border-radius: 8px;
  background: #202421;
  color: #f4f1e8;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
}

.moderation-history-list {
  display: grid;
  gap: 0.65rem;
}

.moderation-history-list p {
  margin: 0;
  color: #c9c2b3;
}

.moderation-history-item {
  display: grid;
  gap: 0.35rem;
  padding: 0.75rem;
  border: 1px solid #343936;
  border-radius: 8px;
  background: #202421;
}

.moderation-history-item div {
  display: grid;
  gap: 0.12rem;
}

.moderation-history-item p,
.moderation-history-item small,
.moderation-history-item span {
  margin: 0;
  color: #c9c2b3;
}

.area-report-card {
  display: grid;
  gap: 0.85rem;
}

.area-report-target {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid var(--hud-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
}

.area-report-target span {
  color: var(--modal-copy);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.area-report-reason-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.area-report-reason-option {
  min-height: 46px;
  padding: 0.62rem 0.75rem;
  border: 1px solid var(--hud-border);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--modal-text);
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  text-align: left;
}

.area-report-reason-option:hover,
.area-report-reason-option.is-selected {
  border-color: var(--accent-cyan);
  background: rgba(0, 229, 255, 0.12);
}

@media (max-width: 1120px) {
  .admin-page {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .admin-metric-grid,
  .admin-module-grid,
  .admin-queue-grid,
  .admin-user-stat-grid,
  .admin-disabled-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-users-layout {
    grid-template-columns: 1fr;
  }

  .admin-voucher-layout {
    grid-template-columns: 1fr;
  }

  .admin-claim-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-staff-detail-grid,
  .admin-staff-profile-grid {
    grid-template-columns: 1fr;
  }

  .admin-user-search-panel {
    order: 2;
  }

  .moderation-primary-grid,
  .moderation-info-grid,
  .moderation-shell,
  .moderation-person-grid {
    grid-template-columns: 1fr;
  }

  .moderation-sidebar {
    position: static;
  }

  .moderation-ticket-list {
    max-height: none;
  }
}

@media (max-width: 760px) {
  .admin-page {
    display: block;
  }

  .admin-sidebar {
    position: static;
    height: auto;
    border-right: 0;
    border-bottom: 1px solid #343936;
  }

  .admin-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-nav-item {
    grid-template-columns: 22px minmax(0, 1fr);
  }

  .admin-nav-item small {
    grid-column: 2;
  }

  .admin-topbar {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-topbar h1,
  .admin-access-panel h1 {
    font-size: 1.8rem;
  }

  .moderation-topbar,
  .moderation-status-row {
    align-items: stretch;
    flex-direction: column;
  }

  .moderation-status-actions,
  .moderation-topbar-meta {
    align-items: stretch;
    flex-direction: column;
  }

  .moderation-stat-grid,
  .moderation-stats-panel,
  .moderation-report-meta {
    grid-template-columns: 1fr;
  }

  .moderation-action-row {
    align-items: stretch;
    flex-direction: column;
  }

  .moderation-action-button,
  .moderation-action-link,
  .moderation-refresh-button {
    width: 100%;
  }

  .area-report-reason-grid {
    grid-template-columns: 1fr;
  }

  .admin-user-pill {
    text-align: left;
  }

  .admin-metric-grid,
  .admin-module-grid,
  .admin-stage-grid,
  .admin-queue-grid,
  .admin-user-stat-grid,
  .admin-user-edit-grid,
  .admin-disabled-action-grid {
    grid-template-columns: 1fr;
  }

  .admin-metric.is-wide {
    grid-column: auto;
  }

  .admin-status-row,
  .admin-user-detail-header {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-panel-tools,
  .admin-user-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-stage-control,
  .admin-claim-toolbar,
  .admin-claim-detail-grid,
  .admin-claim-live-panel,
  .admin-claim-inline-preview,
  .admin-audit-layout,
  .admin-role-tools-grid,
  .admin-role-management-grid,
  .admin-role-package-grid,
  .admin-permission-checkbox-grid,
  .admin-permission-doc-row {
    grid-template-columns: 1fr;
  }

  .admin-claim-detail-grid article.is-wide {
    grid-column: auto;
  }

  .admin-user-search div {
    grid-template-columns: 1fr;
  }
}

.perf-debug-panel {
  position: fixed;
  left: 1rem;
  bottom: 1rem;
  z-index: 60;
  width: min(380px, calc(100vw - 2rem));
  height: min(520px, calc(100vh - 2rem));
  min-width: 300px;
  min-height: 260px;
  max-width: calc(100vw - 2rem);
  max-height: calc(100vh - 2rem);
  display: grid;
  grid-template-rows: auto auto auto auto auto minmax(0, 1fr);
  gap: 0.7rem;
  overflow: hidden;
  resize: both;
  border: 1px solid rgba(125, 211, 165, 0.32);
  border-radius: 18px;
  background: rgba(5, 10, 16, 0.92);
  color: #f7fbff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
  padding: 0.85rem;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
  pointer-events: auto;
}

.perf-debug-panel.is-minimized {
  width: min(260px, calc(100vw - 2rem));
  height: auto;
  min-width: 220px;
  min-height: 0;
  resize: none;
  grid-template-rows: auto;
}

.perf-debug-header,
.perf-debug-stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
}

.perf-debug-header {
  cursor: grab;
  -webkit-user-select: none;
          user-select: none;
  touch-action: none;
}

.perf-debug-header > div {
  min-width: 0;
  display: grid;
  gap: 0.1rem;
}

.perf-debug-panel.is-dragging .perf-debug-header {
  cursor: grabbing;
}

.perf-debug-header strong {
  font-size: 0.88rem;
}

.perf-debug-header span,
.perf-debug-stats span {
  color: rgba(221, 232, 242, 0.78);
  font-size: 0.72rem;
}

.perf-debug-stats {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.perf-debug-controls {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.perf-debug-button {
  appearance: none;
  border: 1px solid rgba(125, 211, 165, 0.24);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  color: #f7fbff;
  padding: 0.42rem 0.62rem;
  font: inherit;
  font-size: 0.72rem;
  cursor: pointer;
}

.perf-debug-button.is-active {
  background: rgba(125, 211, 165, 0.16);
  border-color: rgba(125, 211, 165, 0.44);
}

.perf-debug-stats span {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  padding: 0.24rem 0.48rem;
  background: rgba(255, 255, 255, 0.04);
}

.perf-debug-snapshot {
  display: grid;
  gap: 0.24rem;
  border: 1px solid rgba(56, 189, 248, 0.18);
  border-radius: 12px;
  padding: 0.55rem 0.6rem;
  background: rgba(56, 189, 248, 0.06);
}

.perf-debug-snapshot strong {
  font-size: 0.72rem;
}

.perf-debug-snapshot span {
  color: rgba(221, 232, 242, 0.8);
  font-size: 0.68rem;
  line-height: 1.35;
}

.perf-debug-command {
  margin: 0;
  border: 1px solid rgba(125, 211, 165, 0.18);
  border-radius: 10px;
  padding: 0.45rem 0.5rem;
  background: rgba(125, 211, 165, 0.055);
  color: rgba(221, 232, 242, 0.82);
  font-size: 0.68rem;
  line-height: 1.35;
  -webkit-user-select: text;
          user-select: text;
}

.perf-debug-events {
  display: grid;
  gap: 0.44rem;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.2rem;
}

.perf-debug-events p {
  margin: 0;
  color: rgba(221, 232, 242, 0.72);
  font-size: 0.76rem;
  line-height: 1.45;
}

.perf-debug-event {
  display: grid;
  gap: 0.2rem;
  border-left: 3px solid rgba(148, 163, 184, 0.8);
  border-radius: 10px;
  padding: 0.48rem 0.55rem;
  background: rgba(255, 255, 255, 0.045);
}

.perf-debug-event.is-gap {
  border-left-color: #fbbf24;
}

.perf-debug-event.is-longtask {
  border-left-color: #f87171;
}

.perf-debug-event.is-layout {
  border-left-color: #38bdf8;
}

.perf-debug-event.is-mark {
  border-left-color: rgba(125, 211, 165, 0.8);
}

.perf-debug-event.is-action {
  border-left-color: #34d399;
}

.perf-debug-event.is-network {
  border-left-color: #38bdf8;
}

.perf-debug-event.is-tile {
  border-left-color: #c084fc;
}

.perf-debug-event.is-snapshot {
  border-left-color: #94a3b8;
}

.perf-debug-event.is-warning {
  border-left-color: #fb923c;
}

.perf-debug-event strong {
  font-size: 0.72rem;
}

.perf-debug-event span {
  color: rgba(221, 232, 242, 0.72);
  font-size: 0.68rem;
  line-height: 1.35;
}

@media (max-width: 768px) {
  .world-hud-left,
  .world-hud-right {
    top: 0.8rem;
  }

  .world-hud-left {
    left: 0.8rem;
  }

  .world-hud-right {
    right: 0.8rem;
  }

  .account-popover {
    width: min(336px, calc(100vw - 1.6rem));
  }

  .world-hud-bottom {
    right: 0.8rem;
    bottom: 0.8rem;
  }

  .world-area-panel {
    top: 4.6rem;
    right: 0.8rem;
    max-height: calc(100vh - 15rem);
  }

  .area-stat-grid {
    grid-template-columns: 1fr;
  }

  .world-hud-bottom-center {
    bottom: 4.75rem;
  }

  .world-hud-placement {
    left: 0.8rem;
    top: 4.75rem;
    transform: none;
  }

  .build-panel-launcher {
    left: 0.8rem;
    top: auto;
    bottom: 10.8rem;
    transform: none;
  }

  .world-hud-bottom-left {
    left: 0.8rem;
    bottom: 0.8rem;
  }

  .hud-icon-button,
  .hud-toggle,
  .hud-login-button {
    height: 48px;
    border-radius: 14px;
  }

  .modal-window {
    padding: 1rem;
    border-radius: 22px;
  }

  .modal-header {
    flex-direction: column;
  }

  .info-modal-window {
    padding: 0.95rem;
    border-radius: 10px;
  }

  .info-modal-head {
    padding: 0.3rem 2.9rem 0.9rem 0;
    justify-items: start;
    text-align: left;
  }

  .info-brand-stack,
  .info-brand-row,
  .info-meta-links {
    justify-items: start;
    justify-content: flex-start;
  }

  .info-brand-row h2 {
    font-size: 2rem;
  }

  .info-pixel-logo {
    width: 36px;
    height: 36px;
  }

  .info-tour-preview,
  .info-tour-preview .onboarding-preview {
    min-height: 230px;
  }

  .info-tour-preview .onboarding-preview.is-tour-overview {
    padding: 0.72rem 0.72rem 4.4rem;
  }

  .onboarding-tour-steps {
    min-height: 128px;
    grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr) 16px minmax(0, 1fr);
    gap: 0.34rem;
  }

  .onboarding-tour-step {
    aspect-ratio: 1.58;
  }

  .onboarding-tour-step-grid {
    inset: 0.48rem;
  }

  .onboarding-tour-template-frame {
    border-width: 1px;
  }

  .onboarding-tour-step-arrow {
    width: 16px;
  }

  .onboarding-tour-step-arrow::before {
    width: 10px;
  }

  .info-tour-caption {
    left: 0.7rem;
    right: 0.7rem;
    bottom: 0.7rem;
  }

  .info-rule-dropdown summary {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .info-rule-action {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .info-rule-chevron {
    grid-column: 2;
    grid-row: 1;
  }

  .info-quick-grid {
    grid-template-columns: 1fr;
  }

  .coordinate-panel {
    min-width: 152px;
    padding: 0.72rem 0.82rem;
  }

  .holder-panel {
    min-width: 148px;
    padding: 0.72rem 0.86rem;
  }

  .build-taskbar {
    width: min(360px, calc(100vw - 1.6rem));
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .build-tool-button {
    min-width: 0;
  }

  .pixel-placement-panel {
    width: min(320px, calc(100vw - 1rem));
    max-height: calc(100vh - 12rem);
  }

  .account-stat-grid,
  .me-stat-grid {
    grid-template-columns: 1fr;
  }

  .account-header {
    align-items: flex-start;
  }

  .shop-perk {
    grid-template-columns: 1fr;
  }

  .shop-item-artwork {
    justify-self: center;
  }

  .shop-perk-actions {
    justify-items: stretch;
  }

  .owned-area-controls {
    grid-template-columns: 1fr;
  }

  .owned-area-filter-row {
    justify-content: flex-start;
  }

  .owned-area-item {
    grid-template-columns: 1fr;
  }

  .owned-area-preview {
    max-width: 220px;
  }

  .owned-area-meta {
    min-width: 0;
    text-align: left;
  }

  .owned-area-section-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }

  .owned-area-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owned-area-options-button {
    justify-self: start;
  }

  .owned-area-jump {
    width: 100%;
  }

  .pixel-palette-row,
  .overlay-palette-colors,
  .avatar-history-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .claim-tool-row,
  .overlay-control-grid,
  .overlay-action-row {
    grid-template-columns: 1fr;
  }

  .avatar-editor-current {
    align-items: flex-start;
    flex-direction: column;
  }

  .me-shell {
    padding: 0.85rem;
  }

  .me-topbar,
  .me-profile-head {
    flex-direction: column;
  }

  .me-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .world-hud {
    gap: 0.45rem;
  }

  .world-hud-left {
    top: calc(env(safe-area-inset-top, 0px) + 0.6rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
  }

  .world-hud-right {
    top: calc(env(safe-area-inset-top, 0px) + 0.6rem);
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
  }

  .hud-stack {
    gap: 0.35rem;
  }

  .hud-icon-button,
  .hud-toggle,
  .hud-login-button {
    min-width: 44px;
    height: 44px;
    padding: 0 0.7rem;
    border-radius: 12px;
    font-size: 0.78rem;
  }

  .account-launcher {
    width: 52px;
    height: 52px;
  }

  .account-launcher-ring {
    width: 45px;
    height: 45px;
  }

  .account-launcher-avatar {
    width: 39px;
    height: 39px;
  }

  .account-popover {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 4.2rem);
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.35rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
    width: auto;
    max-height: none;
    gap: 0.52rem;
    padding: 0.62rem;
    border-radius: 16px;
  }

  .account-popover-head {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
  }

  .account-popover-avatar,
  .account-popover-avatar.account-avatar-fallback {
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }

  .account-coin-pill {
    grid-column: 1 / -1;
    justify-content: space-between;
    padding: 0.36rem 0.52rem;
  }

  .account-level-panel {
    padding: 0.55rem;
  }

  .account-notification-toggle {
    min-height: 38px;
    padding: 0.5rem 0.6rem;
  }

  .account-admin-link {
    min-height: 40px;
    padding: 0.5rem 0.6rem;
  }

  .account-notification-menu {
    max-height: 150px;
  }

  .account-quick-grid {
    gap: 0.38rem;
  }

  .account-quick-stat {
    min-height: 58px;
    padding: 0.5rem;
  }

  .account-quick-stat span {
    font-size: 0.62rem;
  }

  .account-quick-stat strong {
    font-size: 0.84rem;
  }

  .account-inline-edit {
    grid-template-columns: minmax(0, 1fr) 40px;
    gap: 0.38rem;
  }

  .account-popover-input,
  .account-action-tooltip,
  .account-icon-action {
    width: 40px;
    min-height: 40px;
    height: 40px;
  }

  .account-popover-input {
    width: 100%;
  }

  .world-shell.has-modal .world-hud-bottom-left,
  .world-shell.has-modal .world-hud-bottom,
  .world-shell.has-modal .world-hud-bottom-center,
  .world-shell.has-modal .world-hud-placement {
    display: none;
  }

  .world-shell.has-build-panel .world-hud-left,
  .world-shell.has-build-panel .world-hud-right {
    display: none;
  }

  .mobile-touch-paint-lock-button {
    position: fixed;
    z-index: 18;
    top: calc(env(safe-area-inset-top, 0px) + 0.6rem);
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--hud-border);
    border-radius: 999px;
    background: var(--hud-background);
    color: var(--hud-text);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
    -webkit-backdrop-filter: blur(16px);
            backdrop-filter: blur(16px);
    cursor: pointer;
  }

  .mobile-touch-paint-lock-button.is-active {
    border-color: rgba(var(--accent-turquoise-rgb), 0.5);
    background: rgba(var(--accent-turquoise-rgb), 0.16);
    color: var(--accent-turquoise);
  }

  .mobile-touch-paint-lock-button[aria-pressed="false"]:not(.is-active) {
    border-color: var(--hud-border);
    background: var(--hud-background);
    color: var(--hud-text);
  }

  .mobile-touch-paint-lock-button .tool-mini-icon {
    width: 0.88rem;
    height: 0.88rem;
  }

  .world-shell.theme-dark.has-modal .modal-window {
    background: rgba(10, 16, 24, 0.985);
  }

  .world-shell.theme-light.has-modal .modal-window {
    background: rgba(255, 255, 255, 0.985);
  }

  .world-hud-bottom-center {
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 0.6rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
    transform: none;
  }

  .build-taskbar {
    width: 100%;
    gap: 0.5rem;
  }

  .build-tool-button {
    min-height: 54px;
    padding: 0.55rem 0.62rem;
  }

  .world-hud-bottom-left {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.35rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
  }

  .world-hud-bottom {
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.35rem);
  }

  .world-area-panel {
    top: auto;
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.35rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
    width: auto;
    max-height: min(52dvh, 430px);
    border-radius: 16px;
  }

  .world-area-panel.has-admin-audit {
    width: auto;
  }

  .world-hud-placement {
    top: auto;
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.65rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
    transform: none;
  }

  .pixel-placement-panel {
    width: 100%;
    max-height: min(58dvh, calc(100dvh - 7rem));
    padding: 0.75rem;
    border-radius: 16px;
  }

  .pixel-placement-header {
    gap: 0.65rem;
  }

  .pixel-placement-heading-row {
    gap: 0.42rem;
  }

  .pixel-placement-mode-help {
    max-width: 100%;
  }

  .pixel-palette-row {
    gap: 0.38rem;
  }

  .pixel-color-button {
    border-radius: 9px;
  }

  .build-panel-launcher {
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.65rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
    width: auto;
  }

  .modal-backdrop {
    align-items: flex-end;
    padding:
      calc(env(safe-area-inset-top, 0px) + 0.55rem)
      calc(env(safe-area-inset-right, 0px) + 0.55rem)
      calc(env(safe-area-inset-bottom, 0px) + 0.55rem)
      calc(env(safe-area-inset-left, 0px) + 0.55rem);
  }

  .modal-backdrop.is-areas-modal-backdrop {
    align-items: stretch;
    padding: 0;
  }

  .modal-window {
    width: 100%;
    max-height: min(74dvh, calc(100dvh - 1.1rem));
    padding: 0.68rem;
    border-radius: 16px;
  }

  .modal-backdrop.is-areas-modal-backdrop .areas-modal {
    width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
    padding:
      calc(env(safe-area-inset-top, 0px) + 0.68rem)
      calc(env(safe-area-inset-right, 0px) + 0.68rem)
      calc(env(safe-area-inset-bottom, 0px) + 0.68rem)
      calc(env(safe-area-inset-left, 0px) + 0.68rem);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .modal-header {
    align-items: center;
    flex-direction: row;
    gap: 0.6rem;
    margin-bottom: 0.52rem;
  }

  .modal-header > div {
    min-width: 0;
  }

  .modal-eyebrow {
    margin-bottom: 0.18rem;
    font-size: 0.64rem;
  }

  .modal-header h2 {
    font-size: 1.18rem;
    line-height: 1.12;
  }

  .modal-icon-action {
    width: 38px;
    height: 38px;
  }

  .modal-close {
    width: auto;
  }

  .modal-card {
    padding: 0.58rem;
    border-radius: 12px;
  }

  .onboarding-prompt-card {
    grid-template-columns: 1fr;
  }

  .onboarding-guide-panel {
    width: auto;
    max-height: min(48dvh, 360px);
  }

  .onboarding-preview {
    min-height: 126px;
    gap: 0.24rem;
    padding: 0.34rem;
  }

  .onboarding-preview-topbar {
    font-size: 0.58rem;
  }

  .onboarding-preview-topbar strong {
    min-height: 20px;
    padding: 0 0.36rem;
  }

  .onboarding-preview-world {
    min-height: 72px;
  }

  .onboarding-preview-buildbar {
    right: 5px;
    bottom: 5px;
    left: 5px;
    gap: 0.22rem;
    padding: 0.24rem;
  }

  .onboarding-preview-buildbar span,
  .onboarding-preview-menu span {
    min-height: 24px;
    gap: 0.14rem;
    padding: 0 0.22rem;
    font-size: 0.5rem;
  }

  .onboarding-preview-panel {
    top: 5px;
    left: 5px;
    width: 44%;
    gap: 0.2rem;
    padding: 0.28rem;
  }

  .onboarding-preview-panel-title {
    font-size: 0.46rem;
  }

  .onboarding-preview-panel-row {
    height: 16px;
  }

  .onboarding-preview-panel-actions {
    height: 14px;
  }

  .onboarding-preview-hotspot {
    width: 58px;
    height: 36px;
  }

  .onboarding-preview-tools span {
    min-height: 24px;
    gap: 0.18rem;
    padding: 0 0.24rem;
    font-size: 0.56rem;
  }

  .onboarding-guide-panel p {
    font-size: 0.78rem;
    line-height: 1.35;
  }

  .onboarding-guide-panel ul {
    display: none;
  }

  .tour-step-actions {
    bottom: 0;
    margin: 0 -0.68rem -0.68rem;
    padding: 0.58rem 0.68rem 0.68rem;
    justify-content: stretch;
  }

  .tour-actions .google-button {
    flex: 1 1 120px;
    min-width: 0;
  }

  .modal-scroll-area {
    padding-right: 0.12rem;
  }

  .areas-modal .owned-area-card {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .modal-restore-chip,
  .area-panel-restore-chip {
    min-height: 42px;
    max-width: calc(100vw - 1.2rem);
  }

  .modal-restore-chip {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.35rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
  }

  .owned-area-toolbar {
    align-items: stretch;
    flex-direction: column;
    gap: 0.52rem;
  }

  .owned-area-toolbar div {
    padding: 0.58rem 0.64rem;
    border: 1px solid rgba(var(--accent-turquoise-rgb), 0.16);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.12);
  }

  .owned-area-toolbar span {
    font-size: 0.64rem;
    line-height: 1.25;
  }

  .owned-area-toolbar strong {
    font-size: 1.12rem;
    line-height: 1.1;
  }

  .owned-area-toolbar > button {
    width: 100%;
    min-height: 36px;
  }

  .owned-area-controls {
    gap: 0.5rem;
  }

  .owned-area-search {
    min-height: 40px;
    padding: 0.58rem 0.72rem;
    border-radius: 10px;
  }

  .owned-area-filter-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.34rem;
    overflow: visible;
    padding-bottom: 0;
  }

  .owned-area-filter-button {
    min-height: 34px;
    min-width: 0;
    padding: 0 0.32rem;
    font-size: 0.72rem;
    line-height: 1.05;
    white-space: nowrap;
  }

  .owned-area-sections {
    gap: 0.82rem;
  }

  .owned-area-section {
    gap: 0.52rem;
  }

  .owned-area-section + .owned-area-section {
    padding-top: 0.78rem;
  }

  .owned-area-section-header {
    align-items: baseline;
    flex-direction: row;
    gap: 0.48rem;
    padding-bottom: 0.28rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }

  .owned-area-section-header strong {
    font-size: 0.84rem;
    line-height: 1.15;
  }

  .owned-area-section-header span {
    flex: 0 0 auto;
    font-size: 0.62rem;
    line-height: 1.15;
  }

  .owned-area-item {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 0.58rem;
    align-items: start;
    padding: 0.62rem;
    border-radius: 12px;
  }

  .owned-area-preview {
    max-width: none;
    width: 108px;
    aspect-ratio: 1;
    border-radius: 8px;
  }

  .owned-area-title-row {
    align-items: center;
    flex-direction: row;
    gap: 0.34rem;
  }

  .owned-area-title-row .area-role-tag {
    max-width: 78px;
    flex: 0 0 auto;
    padding: 0.14rem 0.32rem;
    font-size: 0.58rem;
  }

  .owned-area-main {
    min-width: 0;
    gap: 0.18rem;
  }

  .owned-area-main strong {
    min-width: 0;
    overflow: hidden;
    font-size: 0.92rem;
    line-height: 1.18;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .owned-area-main span,
  .owned-area-main small {
    font-size: 0.7rem;
    line-height: 1.34;
  }

  .owned-area-main > span {
    color: var(--hud-text);
    font-weight: 800;
  }

  .owned-area-description-line {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .owned-area-bounds-line {
    display: none;
  }

  .owned-area-reaction-row {
    gap: 0.22rem 0.36rem;
    margin-top: 0.04rem;
    font-size: 0.68rem;
    line-height: 1.2;
  }

  .owned-area-reaction-row span,
  .owned-area-reaction-row strong {
    min-height: 18px;
  }

  .owned-area-reaction-row svg {
    width: 12px;
    height: 12px;
  }

  .owned-area-meta {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.34rem;
    font-size: 0.68rem;
    text-align: left;
  }

  .owned-area-meta small {
    min-width: 0;
    padding: 0.26rem 0.38rem;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.1);
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .owned-area-activity-line,
  .owned-area-auto-finish-line {
    grid-column: 1 / -1;
  }

  .owned-area-actions {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) 38px;
    gap: 0.38rem;
  }

  .owned-area-actions .owned-area-jump {
    min-height: 36px;
  }

  .owned-area-actions .owned-area-options-button {
    width: 38px;
    min-width: 38px;
    min-height: 36px;
  }

  .shop-content {
    gap: 0.62rem;
  }

  .shop-balance {
    padding: 0.62rem 0.72rem;
    border-radius: 14px;
  }

  .shop-balance strong {
    font-size: 1rem;
  }

  .shop-purchase-window {
    gap: 0.62rem;
    padding: 0.72rem;
    border-radius: 14px;
  }

  .shop-purchase-title strong {
    font-size: 0.96rem;
  }

  .shop-purchase-equation {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.36rem;
  }

  .shop-purchase-equation b {
    display: none;
  }

  .shop-purchase-equation div {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    padding: 0.5rem 0.58rem;
    border-radius: 10px;
  }

  .shop-purchase-equation strong {
    font-size: 0.98rem;
  }

  .shop-perk-list {
    gap: 0.55rem;
  }

  .shop-perk {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 0.5rem 0.62rem;
    padding: 0.62rem;
    border-radius: 14px;
  }

  .shop-item-artwork {
    width: 50px;
    height: 50px;
    grid-row: 1 / span 2;
    justify-self: start;
    border-radius: 12px;
  }

  .shop-item-art {
    width: 38px;
  }

  .shop-perk-copy {
    gap: 0.12rem;
  }

  .shop-perk-copy h3 {
    font-size: 0.94rem;
    line-height: 1.18;
  }

  .shop-perk-copy p {
    font-size: 0.78rem;
  }

  .shop-perk-actions {
    grid-column: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.38rem;
    min-width: 0;
    justify-items: stretch;
  }

  .shop-quantity-label {
    grid-template-columns: auto 48px;
    gap: 0.32rem;
  }

  .shop-quantity-control {
    gap: 0.3rem;
  }

  .shop-quantity-input {
    width: 48px;
    height: 34px;
    border-radius: 10px;
  }

  .shop-quantity-max-button {
    min-height: 34px;
    padding: 0 0.45rem;
    border-radius: 10px;
    font-size: 0.62rem;
  }

  .shop-price {
    justify-self: end;
    font-size: 0.66rem;
  }

  .shop-perk-actions .google-button {
    grid-column: 1 / -1;
    min-height: 36px;
    margin-top: 0;
  }

  .world-shell.has-area-panel .world-hud-bottom-left,
  .world-shell.has-build-panel .world-hud-bottom-left {
    display: none;
  }

  .area-panel-restore-chip {
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.35rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
    justify-content: center;
  }

  .area-context-menu {
    top: auto !important;
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 0.7rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem) !important;
    width: auto;
    max-height: calc(100dvh - 1.4rem);
    overflow-y: auto;
  }

  .app-toast-stack {
    top: calc(env(safe-area-inset-top, 0px) + 0.6rem);
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
    width: auto;
  }

  .world-shell.has-modal .perf-debug-panel,
  .world-shell.has-account-menu .perf-debug-panel {
    display: none;
  }

  .perf-debug-panel {
    z-index: 11;
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5.35rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.6rem);
    width: auto;
    min-width: 0;
    min-height: 0;
    max-width: none;
    max-height: min(38dvh, 360px);
  }

  .perf-debug-panel.is-minimized {
    width: auto;
    min-width: 0;
  }

  .build-taskbar {
    gap: 0.36rem;
    padding: 0.34rem;
    border-radius: 18px;
  }

  .build-tool-button {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 0.45rem;
    min-height: 48px;
    padding: 0.44rem 0.52rem;
    border-radius: 14px;
  }

  .build-tool-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .build-tool-title {
    font-size: 0.88rem;
  }

  .build-tool-counter {
    font-size: 0.62rem;
  }

  .world-area-panel {
    max-height: min(42dvh, 340px);
    padding: 0.62rem;
  }

  .area-panel-header {
    gap: 0.55rem;
  }

  .area-access-header {
    display: grid;
    gap: 0.45rem;
  }

  .area-access-controls {
    justify-content: flex-start;
  }

  .area-request-actions {
    justify-content: flex-end;
  }

  .area-panel-header strong {
    font-size: 0.95rem;
  }

  .area-summary-card,
  .area-reaction-card,
  .area-share-card,
  .area-access-card,
  .area-edit-card,
  .area-pixel-audit-card {
    border-radius: 12px;
  }

  .area-summary-list div {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .area-summary-list dt,
  .area-access-header span,
  .area-access-list > span,
  .area-pixel-audit-list dt {
    font-size: 0.64rem;
  }

  .area-summary-list dd,
  .area-pixel-audit-list dd {
    font-size: 0.82rem;
  }

  .pixel-placement-panel {
    max-height: min(46dvh, calc(100dvh - 7rem));
    padding: 0.58rem;
  }

  .pixel-placement-header {
    padding-bottom: 0.5rem;
  }

  .pixel-placement-title {
    font-size: 0.92rem;
  }

  .pixel-resource-summary {
    margin-top: 0.52rem;
    padding: 0.55rem 0.62rem;
    border-radius: 12px;
  }

  .pixel-resource-summary strong {
    font-size: 0.98rem;
  }

  .paint-tool-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.34rem;
  }

  .claim-tool-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.34rem;
    margin-top: 0.52rem;
  }

  .claim-tool-button {
    min-height: 34px;
    border-radius: 10px;
  }

  .tool-mini-icon,
  .paint-tool-button-icon {
    width: 0.82rem;
    height: 0.82rem;
  }

  .pixel-palette-grid {
    gap: 0.28rem;
    margin-top: 0.52rem;
  }

  .pixel-palette-row,
  .overlay-palette-colors {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 0.22rem;
  }

  .pixel-color-button {
    border-radius: 6px;
  }

  .pixel-color-button.is-transparent::after,
  .world-pending-paint.is-transparent::after {
    inset: 18%;
    border-width: 1px;
    border-radius: 5px;
  }

  .claim-overlay-tool {
    gap: 0.42rem;
    margin-top: 0.52rem;
    padding-top: 0.52rem;
  }

  .overlay-drop-zone {
    min-height: 46px;
    border-radius: 12px;
  }

  .overlay-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.38rem;
  }

  .overlay-control select,
  .overlay-select-button {
    min-height: 34px;
    border-radius: 10px;
  }

  .overlay-action-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.34rem;
  }

  .pixel-pending-row {
    gap: 0.42rem;
    margin-bottom: 0.48rem;
  }

  .pixel-place-button {
    min-height: 40px;
    margin-top: 0.52rem;
  }

  .dev-recovery-notice {
    top: calc(env(safe-area-inset-top, 0px) + 0.6rem);
    width: calc(100vw - 1.2rem);
  }

  .world-hud-bottom-left {
    display: none;
  }

  .world-shell.has-build-panel .world-hud-bottom-center {
    display: none;
  }

  .world-hud-placement,
  .world-hud-placement.is-floating {
    top: auto !important;
    right: 0;
    bottom: 0 !important;
    left: 0 !important;
    display: block;
    transform: none !important;
  }

  .pixel-placement-panel {
    width: 100%;
    height: min(304px, 33.333dvh);
    max-height: none;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: 0.34rem;
    overflow: hidden;
    padding: 0.48rem 0.58rem calc(0.48rem + env(safe-area-inset-bottom, 0px));
    padding-right: calc(0.58rem + env(safe-area-inset-right, 0px));
    padding-left: calc(0.58rem + env(safe-area-inset-left, 0px));
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 18px 18px 0 0;
  }

  .pixel-placement-panel.is-paint-mode {
    height: min(368px, 40dvh);
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  .pixel-placement-panel.is-claim-mode:not(.has-overlay-tool) {
    height: auto;
    grid-template-rows: auto auto auto auto;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool {
    height: min(420px, 48dvh);
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  }

  .pixel-placement-header {
    min-height: 32px;
    align-items: center;
    gap: 0.5rem;
    padding-bottom: 0.34rem;
    cursor: default;
    touch-action: auto;
  }

  .pixel-placement-header > div {
    min-width: 0;
  }

  .pixel-placement-title {
    margin-top: 0.04rem;
    font-size: 0.86rem;
    line-height: 1.1;
  }

  .pixel-placement-mode-help,
  .pixel-placement-owner {
    display: none;
  }

  .world-hud-placement .pixel-resource-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.08rem 0.45rem;
    margin-top: 0;
    padding: 0.28rem 0.46rem;
    border-radius: 10px;
  }

  .world-hud-placement .pixel-resource-summary span {
    font-size: 0.62rem;
  }

  .world-hud-placement .pixel-resource-summary strong {
    font-size: 0.82rem;
  }

  .world-hud-placement .pixel-resource-summary small,
  .world-hud-placement .pixel-resource-summary .resource-meter,
  .world-hud-placement .pixel-resource-summary .claim-batch-progress {
    display: none;
  }

  .pixel-placement-panel.is-paint-mode .pixel-resource-summary {
    display: none;
  }

  .pixel-placement-header-actions {
    min-width: auto;
    align-items: center;
    gap: 0.34rem;
  }

  .pixel-panel-close {
    width: 30px;
    height: 30px;
    font-size: 0.72rem;
  }

  .pixel-placement-panel.is-paint-mode .pixel-placement-heading-row {
    align-items: center;
    min-height: 28px;
  }

  .pixel-placement-panel.is-paint-mode .pixel-placement-heading-row .coordinate-label {
    white-space: nowrap;
  }

  .pixel-placement-panel.is-paint-mode .mobile-pending-label {
    display: block;
    margin-top: 0.02rem;
    color: var(--modal-copy);
    font-size: 0.64rem;
    font-weight: 900;
    letter-spacing: 0.03em;
  }

  .pixel-placement-panel.is-paint-mode .pixel-placement-title {
    display: none;
  }

  .pixel-placement-panel.is-paint-mode .paint-header-tool-row {
    display: inline-flex;
    align-items: center;
    gap: 0.24rem;
  }

  .pixel-placement-panel.is-claim-mode .claim-header-tool-row {
    display: inline-flex;
    align-items: center;
    gap: 0.24rem;
  }

  .pixel-placement-panel.is-paint-mode .paint-header-tool-row .claim-tool-button {
    width: 28px;
    height: 28px;
    min-height: 28px;
    flex: 0 0 auto;
    padding: 0;
    border-radius: 999px;
  }

  .pixel-placement-panel.is-claim-mode .claim-header-tool-button {
    width: 28px;
    height: 28px;
    min-height: 28px;
    flex: 0 0 auto;
    padding: 0;
    border-radius: 999px;
  }

  .pixel-placement-panel.is-paint-mode .paint-header-tool-row .tool-mini-icon {
    width: 0.76rem;
    height: 0.76rem;
  }

  .pixel-placement-panel.is-claim-mode .claim-header-tool-button .tool-mini-icon {
    width: 0.76rem;
    height: 0.76rem;
  }

  .pixel-placement-panel.is-paint-mode .pixel-palette-grid {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    gap: 0.22rem;
    margin-top: 0;
  }

  .pixel-placement-panel.is-paint-mode .pixel-palette-grid > .paint-tool-row {
    display: none;
  }

  .pixel-placement-panel.is-paint-mode .pixel-palette-desktop {
    display: none;
  }

  .pixel-placement-panel.is-paint-mode .pixel-palette-mobile {
    min-height: 0;
    display: grid;
    grid-template-rows: repeat(4, minmax(30px, 1fr)) 24px;
    gap: 0.22rem;
    overflow: hidden;
    overscroll-behavior: contain;
  }

  .pixel-placement-panel.is-paint-mode .pixel-palette-mobile.is-expanded {
    grid-template-rows: minmax(0, 1fr) 24px;
  }

  .pixel-placement-panel.is-paint-mode .pixel-palette-toggle {
    display: block;
    min-height: 24px;
    border: 1px solid var(--hud-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--hud-text);
    cursor: pointer;
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  .pixel-placement-panel.is-paint-mode .paint-tool-row {
    min-height: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.26rem;
  }

  .pixel-placement-panel.is-paint-mode .pixel-palette-row {
    min-height: 0;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 0.22rem;
  }

  .pixel-placement-panel.is-paint-mode .pixel-palette-expanded-colors {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(8, minmax(0, 1fr));
    gap: 0.16rem;
  }

  .pixel-placement-panel.is-paint-mode .pixel-color-button {
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    border-radius: 6px;
  }

  .pixel-placement-panel.is-paint-mode .pixel-palette-mobile.is-expanded .pixel-color-button {
    height: 100%;
    min-height: 0;
    border-radius: 4px;
  }

  .pixel-placement-panel.is-claim-mode .claim-tool-row {
    align-self: start;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.28rem;
    margin-top: 0;
  }

  .pixel-placement-panel.is-claim-mode .claim-eraser-tool-button {
    display: none;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .claim-overlay-tool {
    min-height: 0;
    align-content: start;
    overflow-y: auto;
    overscroll-behavior: contain;
    gap: 0.3rem;
    grid-auto-rows: max-content;
    margin-top: 0;
    padding-top: 0.34rem;
    padding-right: 0.12rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-drop-zone {
    min-height: 32px;
    gap: 0.08rem;
    border-radius: 8px;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-drop-zone strong {
    font-size: 0.76rem;
    line-height: 1.08;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-drop-zone span,
  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-control span,
  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-meta-row span {
    font-size: 0.62rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.28rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-control {
    gap: 0.2rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-control select,
  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-select-button {
    min-height: 30px;
    border-radius: 8px;
    font-size: 0.74rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-toggle {
    gap: 0.42rem;
    font-size: 0.72rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-action-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    gap: 0.24rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .pixel-clear-button {
    min-height: 28px;
    padding: 0 0.42rem;
    border-radius: 8px;
    font-size: 0.62rem;
    line-height: 1.05;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-action-row .pixel-clear-button {
    height: 30px;
    white-space: normal;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-meta-row {
    padding: 0.4rem 0.48rem;
    border-radius: 9px;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-palette-window {
    min-height: 0;
    gap: 0.26rem;
    overflow: visible;
    margin-top: 0;
    padding: 0.36rem;
    border-radius: 10px;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-palette-header {
    gap: 0.42rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-palette-header strong {
    font-size: 0.78rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-palette-header div {
    gap: 0.22rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-palette-header .pixel-clear-button {
    min-height: 22px;
    padding: 0 0.32rem;
    border-radius: 7px;
    font-size: 0.54rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-palette-colors {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.1rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-palette-row {
    min-height: 16px;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 0.1rem;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-color-toggle {
    aspect-ratio: auto;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-color-toggle span,
  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-color-spacer {
    width: 100%;
    height: 16px;
    border-radius: 4px;
  }

  .pixel-placement-panel.is-claim-mode.has-overlay-tool .overlay-color-toggle input:checked + span {
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, 0.9),
      0 0 0 2px rgba(49, 130, 255, 0.48);
  }

  .pixel-placement-panel.is-claim-mode:not(.has-overlay-tool) .pixel-placement-footer {
    margin-top: 0.1rem;
  }

  .claim-tool-button {
    min-height: 30px;
    padding: 0 0.35rem;
    border-radius: 9px;
  }

  .pixel-placement-footer {
    min-height: 0;
    margin-top: 0;
  }

  .pixel-pending-row {
    gap: 0.35rem;
    margin-bottom: 0.24rem;
    font-size: 0.66rem;
  }

  .pixel-placement-panel.is-paint-mode .pixel-pending-row {
    display: none;
  }

  .pixel-pending-actions {
    gap: 0.3rem;
  }

  .pixel-placement-panel.is-paint-mode .pixel-pending-actions {
    display: none;
  }

  .pixel-remove-selected-button {
    display: none;
  }

  .world-hud-placement .pixel-clear-button {
    min-height: 30px;
    padding: 0 0.52rem;
    font-size: 0.68rem;
  }

  .world-hud-placement .pixel-place-button {
    min-height: 42px;
    margin-top: 0;
    gap: 0.1rem;
    line-height: 1.05;
  }

  .pixel-placement-panel.is-paint-mode .pixel-place-resource {
    display: block;
    font-size: 0.58rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  .touch-paint-lock-button:not(.is-active) {
    border-color: var(--hud-border);
    background: rgba(255, 255, 255, 0.045);
    color: var(--hud-text);
    box-shadow: none;
  }

  .modal-backdrop.is-screen-modal {
    align-items: center;
  }

  .modal-backdrop.is-screen-modal .modal-window {
    width: 100%;
    height: calc(100dvh - 1.1rem);
    max-height: calc(100dvh - 1.1rem);
  }

  .modal-backdrop.is-screen-modal.is-areas-modal-backdrop .areas-modal {
    width: 100vw;
    height: 100dvh;
    max-height: 100dvh;
  }

  .modal-backdrop.is-screen-modal .modal-scroll-area {
    flex: 1 1;
    min-height: 0;
  }
}

@media (max-width: 480px) {
  .world-hud-left .hud-stack {
    max-width: calc(100vw - 5.8rem);
    flex-flow: row wrap;
  }

  .hud-version-button {
    padding: 0.26rem 0.52rem;
    font-size: 0.68rem;
  }

  .coordinate-panel,
  .holder-panel {
    min-width: 0;
    padding: 0.62rem 0.68rem;
  }

  .build-taskbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .build-tool-title,
  .build-tool-counter {
    max-width: 100%;
  }

  .pixel-pending-row {
    align-items: stretch;
    flex-direction: column;
  }

  .pixel-pending-actions {
    justify-content: stretch;
  }

  .pixel-pending-actions button {
    flex: 1 1;
  }

  .world-hud-placement .pixel-pending-row {
    align-items: center;
    flex-direction: row;
  }

  .world-hud-placement .pixel-pending-actions {
    justify-content: flex-end;
  }

  .world-hud-placement .pixel-pending-actions button {
    flex: 0 0 auto;
  }

  .area-pixel-audit-list {
    grid-template-columns: 1fr;
  }

  .area-reaction-controls,
  .area-primary-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .owned-area-toolbar div {
    padding: 0.52rem 0.56rem;
  }

  .owned-area-toolbar strong {
    font-size: 1.02rem;
  }

  .owned-area-filter-button {
    padding: 0 0.18rem;
    font-size: 0.66rem;
  }

  .owned-area-item {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 0.5rem;
    padding: 0.54rem;
  }

  .owned-area-preview {
    width: 88px;
  }

  .owned-area-title-row {
    flex-wrap: wrap;
    gap: 0.24rem;
  }

  .owned-area-title-row .area-role-tag {
    max-width: 92px;
  }

  .owned-area-main strong {
    flex-basis: 100%;
  }

  .owned-area-meta {
    gap: 0.28rem;
  }

  .owned-area-meta small {
    padding: 0.24rem 0.32rem;
    font-size: 0.64rem;
  }

  .owned-area-actions {
    grid-template-columns: minmax(0, 1fr) 36px;
  }

  .owned-area-actions .owned-area-options-button {
    width: 36px;
    min-width: 36px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .world-pixel-place-effects {
    display: none;
  }

  .world-pending-claim,
  .onboarding-guide-spotlight,
  .onboarding-preview-brush,
  .onboarding-preview-hotspot,
  .onboarding-preview-overlay-template,
  .onboarding-preview.is-claim-tools .onboarding-preview-tools span,
  .onboarding-preview.is-canvas-claim .onboarding-preview-reticle,
  .claim-tool-row[data-tour-focus] .claim-tool-button,
  .paint-tool-row[data-tour-focus] .claim-tool-button,
  .game-tool-grid[data-tour-focus] .game-tool-button,
  .game-sidebar-section[data-tour-focus] .game-sidebar-primary,
  .game-sidebar-section[data-tour-focus] .pixel-color-button,
  .claim-template-overlay-missing,
  .area-missing-pixel-help-button.is-active .area-missing-pixel-help-marker {
    animation: none;
  }
}

.moderation-evidence-frame {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.moderation-evidence-frame > img {
  display: block;
}

.moderation-evidence-marker {
  position: absolute;
  width: 22px;
  height: 22px;
  border: 3px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #0b0d0c, 0 0 0 5px #ff708f;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.moderation-evidence-marker::before,
.moderation-evidence-marker::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #ffffff;
  box-shadow: 0 0 0 1px #0b0d0c;
  transform: translate(-50%, -50%);
}

.moderation-evidence-marker::before {
  width: 34px;
  height: 2px;
}

.moderation-evidence-marker::after {
  width: 2px;
  height: 34px;
}

.moderation-marker-toggle {
  min-height: 38px;
  justify-self: start;
  padding: 0 0.7rem;
  border: 1px solid #675a78;
  border-radius: 8px;
  background: #221b2c;
  color: #f7f2ff;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.moderation-person-card.is-underworld-target {
  border-color: #675a78;
  background: #221b2c;
}

.moderation-subject-list {
  display: grid;
  gap: 0.55rem;
}

.moderation-subject-list p {
  margin: 0;
  color: #c9c2b3;
}

.moderation-subject-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.7rem;
  border: 1px solid #3c423e;
  border-radius: 8px;
  background: #202421;
}

.moderation-subject-list article strong {
  color: #f4f1e8;
}

.moderation-subject-list article span {
  color: #c9c2b3;
  font-size: 0.78rem;
  text-align: right;
}

.world-shell.theme-retro * {
  letter-spacing: 0;
}

.world-shell.theme-retro :is(button, input, textarea, select) {
  font-family: var(--font-pixel);
}

.world-shell.theme-retro :is(img, canvas, .world-tile-image, .claim-template-overlay-image, .claim-template-overlay-highlight, .outside-art-image) {
  image-rendering: pixelated;
}

.world-shell.theme-retro .world-viewport {
  background:
    linear-gradient(90deg, rgba(236, 231, 220, 0.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(236, 231, 220, 0.042) 1px, transparent 1px),
    repeating-linear-gradient(
      45deg,
      rgba(155, 183, 200, 0.055) 0 2px,
      transparent 2px 18px
    ),
    radial-gradient(circle at 50% 50%, rgba(214, 181, 109, 0.09), transparent 42%),
    var(--viewport-background);
  background-size: 32px 32px, 32px 32px, 36px 36px, auto, auto;
  box-shadow:
    inset 0 0 0 4px var(--retro-shadow),
    inset 0 0 0 8px var(--retro-outline),
    inset 0 0 0 12px var(--retro-panel-dark);
  cursor: crosshair;
}

.world-shell.theme-retro .world-viewport::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 60;
  display: block;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(236, 231, 220, 0.045) 0,
      rgba(236, 231, 220, 0.045) 1px,
      transparent 1px,
      transparent 5px
    );
  opacity: 0.42;
  pointer-events: none;
}

.world-shell.theme-retro .world-outside-art-image {
  display: none;
}

.world-shell.theme-retro .world-backdrop-glow {
  background: none;
}

.world-shell.theme-retro .world-grid-line.is-origin {
  box-shadow: none;
}

.world-shell.theme-retro .world-claim-outline-shadow.is-soft {
  display: none;
}

.world-shell.theme-retro .world-claim-outline-shadow.is-core {
  fill: rgba(5, 5, 5, 0.52);
}

.world-shell.theme-retro .world-limit {
  background: var(--retro-shadow);
  box-shadow: inset 0 0 0 2px #000;
}

.world-shell.theme-retro :is(.world-claimed-pixel, .world-pending-claim, .pixel-color-button, .overlay-color-toggle span) {
  border-radius: 0;
}

.world-shell.theme-retro .world-hovered-pixel,
.world-shell.theme-retro .world-selected-pixel {
  --pixel-reticle: #d0c7b8;
  --pixel-reticle-shadow: var(--retro-shadow);
}

.world-shell.theme-retro .world-pending-paint {
  border: 2px solid #ece7dc;
  box-shadow:
    inset 0 0 0 2px var(--retro-shadow),
    2px 2px 0 var(--retro-shadow);
}

.world-shell.theme-retro .world-paint-cursor {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.world-shell.theme-retro .world-pending-paint.is-high-zoom {
  border: 0;
  box-shadow:
    inset 0 0 0 2px #ece7dc,
    inset 0 0 0 4px var(--retro-shadow);
}

.world-shell.theme-retro .world-pending-paint.is-submitted,
.world-shell.theme-retro .world-pending-paint.is-high-zoom.is-submitted {
  border: 0;
  box-shadow: none;
}

.world-shell.theme-retro :is(.hud-icon-button, .hud-login-button, .hud-toggle, .hud-version-button, .modal-close, .google-button, .modal-icon-action, .account-icon-action, .account-theme-option, .pixel-clear-button, .pixel-panel-close, .claim-tool-button, .area-reaction-button, .area-share-button, .area-options-button, .area-player-options-button, .area-add-player-button, .area-id-copy, .area-request-toggle, .owned-area-filter-button, .modal-inline-action, .shop-purchase-close, .shop-quantity-max-button, .dev-recovery-dismiss) {
  border: 2px solid var(--retro-outline);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(236, 231, 220, 0.07), transparent 42%),
    var(--retro-panel-alt);
  color: var(--hud-text);
  box-shadow: 3px 3px 0 var(--retro-shadow);
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  text-transform: uppercase;
}

.world-shell.theme-retro :is(.hud-icon-button, .hud-login-button, .hud-toggle, .hud-version-button, .modal-close, .google-button, .modal-icon-action, .account-icon-action, .account-theme-option, .pixel-clear-button, .pixel-panel-close, .claim-tool-button, .area-reaction-button, .area-share-button, .area-options-button, .area-player-options-button, .area-add-player-button, .area-id-copy, .area-request-toggle, .owned-area-filter-button, .modal-inline-action, .shop-purchase-close, .shop-quantity-max-button, .dev-recovery-dismiss):not(:disabled):hover,
.world-shell.theme-retro :is(.hud-icon-button, .hud-login-button, .hud-toggle, .hud-version-button, .modal-close, .google-button, .modal-icon-action, .account-icon-action, .account-theme-option, .pixel-clear-button, .pixel-panel-close, .claim-tool-button, .area-reaction-button, .area-share-button, .area-options-button, .area-player-options-button, .area-add-player-button, .area-id-copy, .area-request-toggle, .owned-area-filter-button, .modal-inline-action, .shop-purchase-close, .shop-quantity-max-button, .dev-recovery-dismiss):not(:disabled):focus-visible {
  border-color: var(--retro-blue);
  background: #30363a;
  color: #ffffff;
  outline: none;
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--retro-shadow);
}

.world-shell.theme-retro :is(.hud-toggle.is-active, .account-icon-action.is-active, .account-theme-option.is-active, .build-tool-button.is-active, .claim-tool-button.is-active, .pixel-clear-button.is-active, .area-reaction-button.is-active, .area-request-toggle.is-active, .owned-area-filter-button.is-active) {
  border-color: var(--retro-shadow);
  background:
    repeating-linear-gradient(
      135deg,
      rgba(20, 20, 20, 0.12) 0,
      rgba(20, 20, 20, 0.12) 4px,
      transparent 4px,
      transparent 8px
    ),
    var(--cplace-retro-gold);
  color: var(--retro-panel-dark);
  box-shadow:
    inset 0 0 0 2px var(--cplace-retro-paper),
    3px 3px 0 var(--retro-shadow);
}

.world-shell.theme-retro :is(.account-icon-action.is-danger, .area-finish-button, .area-reaction-button.is-dislike.is-active) {
  border-color: var(--retro-danger);
  color: #efbeb8;
}

.world-shell.theme-retro :is(.build-panel-launcher, .coordinate-panel, .holder-panel, .build-taskbar, .account-popover, .world-area-panel, .pixel-placement-panel, .modal-window, .modal-restore-chip, .area-panel-restore-chip, .area-context-menu, .onboarding-guide-panel, .app-toast, .dev-recovery-notice, .perf-debug-panel) {
  border: 2px solid var(--retro-outline);
  border-radius: 0;
  background: var(--retro-panel);
  color: var(--hud-text);
  box-shadow: 5px 5px 0 var(--retro-shadow);
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}

.world-shell.theme-retro :is(.build-panel-launcher, .coordinate-panel, .holder-panel, .build-taskbar) {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(236, 231, 220, 0.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(236, 231, 220, 0.035) 1px, transparent 1px),
    var(--retro-panel);
  background-size: 8px 8px;
}

.world-shell.theme-retro :is(.build-panel-launcher, .coordinate-panel, .holder-panel, .build-taskbar)::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  left: 0;
  height: 8px;
  background:
    repeating-linear-gradient(
      90deg,
      var(--retro-blue) 0 8px,
      var(--cplace-retro-gold) 8px 16px,
      var(--retro-danger) 16px 24px,
      var(--retro-panel-alt) 24px 32px
    );
  box-shadow: 0 2px 0 var(--retro-shadow);
  pointer-events: none;
}

.world-shell.theme-retro :is(.build-panel-launcher, .coordinate-panel, .holder-panel, .build-taskbar) > * {
  position: relative;
  z-index: 1;
}

.world-shell.theme-retro .build-panel-launcher {
  padding-top: 1rem;
  min-width: 156px;
  transform: translateY(-50%) rotate(-1deg);
}

.world-shell.theme-retro .build-panel-launcher span {
  color: var(--cplace-retro-gold);
}

.world-shell.theme-retro .build-panel-launcher strong {
  color: var(--cplace-retro-paper);
  font-size: 1.05rem;
  text-transform: uppercase;
}

.world-shell.theme-retro :is(.coordinate-panel, .holder-panel) {
  padding-top: 1.05rem;
}

.world-shell.theme-retro .coordinate-value {
  color: var(--retro-blue);
  font-size: 1.08rem;
}

.world-shell.theme-retro .holder-value {
  color: var(--cplace-retro-gold);
  font-size: 1.1rem;
}

.world-shell.theme-retro .build-taskbar {
  padding-top: 0.78rem;
  transform: rotate(0.25deg);
}

.world-shell.theme-retro .build-tool-button {
  background:
    linear-gradient(90deg, rgba(155, 183, 200, 0.1), transparent 44%),
    var(--retro-panel-alt);
}

.world-shell.theme-retro .build-tool-title,
.world-shell.theme-retro .build-tool-counter {
  color: var(--cplace-retro-paper);
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .world-shell.theme-retro .modal-backdrop.is-areas-modal-backdrop .areas-modal {
    border: 0;
    box-shadow: none;
  }
}

.world-shell.theme-retro :is(.account-level-panel, .account-quick-stat, .account-danger-panel, .account-theme-menu, .account-notification-toggle, .account-notification-menu, .account-notification-item, .area-summary-card, .area-reaction-card, .area-share-card, .area-access-card, .area-edit-card, .area-admin-tools-card, .area-pixel-audit-card, .pixel-resource-summary, .tool-status-pill, .overlay-drop-zone, .overlay-meta-row, .overlay-render-progress, .overlay-palette-window, .modal-card, .shop-balance, .shop-purchase-window, .shop-purchase-equation div, .shop-perk, .shop-item-artwork, .owned-area-item, .owned-area-preview, .owned-area-inline-panel, .avatar-history-tile, .onboarding-preview, .onboarding-preview-world, .onboarding-preview-tools span, .area-stat-grid article) {
  border: 2px solid var(--retro-outline);
  border-radius: 0;
  background: var(--retro-panel-alt);
  color: var(--hud-text);
  box-shadow: none;
}

.world-shell.theme-retro :is(.account-input, .shop-quantity-input, .overlay-control select, .overlay-select-button) {
  border: 2px solid var(--retro-outline);
  border-radius: 0;
  background: var(--retro-panel-dark);
  color: var(--hud-text);
  box-shadow: inset 3px 3px 0 var(--retro-shadow);
}

.world-shell.theme-retro :is(.account-input:focus, .shop-quantity-input:focus, .overlay-control select:focus, .overlay-select-button:focus-visible) {
  border-color: var(--retro-blue);
  box-shadow:
    inset 3px 3px 0 var(--retro-shadow),
    0 0 0 2px var(--retro-blue);
}

.world-shell.theme-retro .overlay-control select option {
  background: var(--retro-panel-dark);
  color: var(--hud-text);
}

.world-shell.theme-retro :is(.account-launcher, .account-launcher-ring, .account-launcher-avatar, .account-popover-avatar, .account-avatar, .account-avatar-fallback, .account-avatar-edit-button, .area-participant-avatar, .avatar-editor-preview, .avatar-history-image, .me-avatar-large) {
  border-radius: 0;
}

.world-shell.theme-retro .account-launcher {
  width: 62px;
  height: 62px;
  border: 2px solid var(--retro-outline);
  background:
    conic-gradient(from 180deg, var(--retro-success) var(--account-level-progress), #3b3a36 0),
    var(--retro-panel);
}

.world-shell.theme-retro .account-launcher-ring {
  width: 48px;
  height: 48px;
  border: 2px solid var(--retro-panel-dark);
  background: var(--retro-panel-alt);
}

.world-shell.theme-retro .account-launcher-avatar {
  width: 44px;
  height: 44px;
}

.world-shell.theme-retro .account-level-chip {
  right: -0.42rem;
  bottom: -0.28rem;
  height: 22px;
  min-width: 34px;
  padding: 0 0.28rem;
  font-size: 0.66rem;
  line-height: 1;
}

.world-shell.theme-retro .account-level-chip::before {
  content: "LV ";
}

.world-shell.theme-retro :is(.account-level-chip, .account-notification-badge, .account-inline-badge, .build-tool-badge, .area-slot-pill, .area-role-tag) {
  border: 2px solid var(--retro-shadow);
  border-radius: 0;
  background: var(--accent-turquoise);
  color: #141414;
  box-shadow: 2px 2px 0 var(--retro-shadow);
}

.world-shell.theme-retro .area-role-tag.is-owner {
  background: #30363a;
  color: #dce8f0;
}

.world-shell.theme-retro .area-slot-pill {
  background: #3a342f;
  color: #e8d1bb;
}

.world-shell.theme-retro .account-notification-badge,
.world-shell.theme-retro .account-inline-badge {
  background: var(--retro-danger);
  color: #ffffff;
}

.world-shell.theme-retro .account-level-bar,
.world-shell.theme-retro .resource-meter,
.world-shell.theme-retro .claim-batch-progress-bar,
.world-shell.theme-retro .me-progress-bar {
  height: 10px;
  border: 2px solid var(--retro-shadow);
  border-radius: 0;
  background: var(--retro-panel-dark);
}

.world-shell.theme-retro .account-level-bar span,
.world-shell.theme-retro .resource-meter span,
.world-shell.theme-retro .owned-area-preview-progress,
.world-shell.theme-retro .me-progress-bar span {
  border-radius: 0;
  background: linear-gradient(90deg, var(--retro-success), var(--accent-turquoise));
}

.world-shell.theme-retro .claim-batch-progress-bar span {
  border-radius: 0;
  background: linear-gradient(90deg, var(--accent-turquoise), var(--retro-danger));
}

.world-shell.theme-retro :is(.build-tool-button, .claim-tool-button, .area-context-menu-item) {
  border: 2px solid var(--retro-outline);
  border-radius: 0;
  background: var(--retro-panel-alt);
  color: var(--hud-text);
  box-shadow: none;
}

.world-shell.theme-retro :is(.build-tool-button:not(:disabled):hover, .build-tool-button:not(:disabled):focus-visible, .claim-tool-button:not(:disabled):hover, .claim-tool-button:not(:disabled):focus-visible, .area-context-menu-item:hover) {
  border-color: var(--retro-blue);
  background: #30363a;
  color: #ffffff;
  box-shadow: 3px 3px 0 var(--retro-shadow);
}

.world-shell.theme-retro :is(.build-tool-button:disabled, .claim-tool-button:disabled) {
  border-color: #5d5750;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(236, 231, 220, 0.07) 0,
      rgba(236, 231, 220, 0.07) 5px,
      transparent 5px,
      transparent 10px
    ),
    #1d1d1b;
  color: #827b72;
}

.world-shell.theme-retro :is(.build-tool-icon, .shop-item-artwork, .area-add-player-button) {
  border-radius: 0;
  background: var(--retro-panel-dark);
  color: var(--accent-turquoise);
}

.world-shell.theme-retro .build-tool-button.is-blocked .build-tool-icon {
  color: var(--retro-danger);
}

.world-shell.theme-retro .build-tool-refill-meter {
  border-radius: 0;
  background: var(--retro-panel-dark);
  box-shadow: inset 0 0 0 1px var(--retro-outline);
}

.world-shell.theme-retro .build-tool-refill-meter span {
  border-radius: 0;
  background: linear-gradient(90deg, var(--retro-blue), #ece7dc);
}

.world-shell.theme-retro .modal-backdrop {
  background: rgba(5, 5, 5, 0.78);
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}

.world-shell.theme-retro :is(.modal-eyebrow, .coordinate-label, .holder-label, .holder-subtext, .build-panel-launcher span, .build-tool-counter, .account-popover-title span, .account-level-panel-top span, .account-quick-stat span, .account-theme-menu-header, .account-notification-item p, .account-notification-item time, .account-helper, .account-feedback, .modal-copy, .modal-card p, .pixel-placement-mode-help, .pixel-placement-owner, .pixel-pending-row, .pixel-placement-help, .area-summary-list dt, .area-access-header span, .area-access-list > span, .area-pixel-audit-list dt, .area-reaction-meta, .area-share-feedback, .area-field-limit, .area-stat-grid span, .area-stat-grid small, .area-description, .area-contributor-list small, .tool-status-pill, .overlay-drop-zone span, .overlay-control span, .overlay-meta-row span, .modal-version, .shop-price, .shop-perk-copy p, .shop-quantity-label, .owned-area-toolbar span, .owned-area-section-header span, .owned-area-main span, .owned-area-main small, .owned-area-meta small, .owned-area-reaction-row, .changelog-entry-summary, .changelog-entry-date, .changelog-intro, .changelog-section-title, .changelog-entry ul, .onboarding-guide-panel p, .onboarding-guide-panel ul, .onboarding-guide-header span) {
  color: var(--modal-copy);
}

.world-shell.theme-retro .shop-balance-label {
  color: var(--accent-turquoise);
}

.world-shell.theme-retro :is(.modal-header h2, .account-popover-title strong, .coordinate-value, .holder-value, .pixel-placement-title, .area-panel-header strong, .shop-balance strong, .owned-area-main strong, .onboarding-guide-panel h3) {
  font-family: var(--font-pixel);
  text-shadow: 2px 2px 0 var(--retro-shadow);
}

.world-shell.theme-retro .pixel-color-button {
  border: 2px solid var(--retro-shadow);
  box-shadow: 2px 2px 0 var(--retro-shadow);
  image-rendering: pixelated;
}

.world-shell.theme-retro .pixel-color-button.is-active {
  box-shadow:
    0 0 0 2px var(--accent-turquoise),
    4px 4px 0 var(--retro-shadow);
}

.world-shell.theme-retro :is(.pixel-color-button.is-transparent, .world-pending-paint.is-transparent) {
  background:
    linear-gradient(45deg, #ece7dc 25%, transparent 25%, transparent 75%, #ece7dc 75%, #ece7dc),
    linear-gradient(45deg, #ece7dc 25%, transparent 25%, transparent 75%, #ece7dc 75%, #ece7dc);
  background-color: #6d6a64;
  background-position: 0 0, 5px 5px;
  background-size: 10px 10px;
}

.world-shell.theme-retro .pixel-color-button.is-transparent::after,
.world-shell.theme-retro .world-pending-paint.is-transparent::after {
  display: none;
}

.world-shell.theme-retro .claim-template-overlay-border {
  border: 2px dashed var(--retro-blue);
  box-shadow: 3px 3px 0 var(--retro-shadow);
}

.world-shell.theme-retro .admin-claim-move-overlay.is-blocked {
  border-color: var(--retro-danger);
  box-shadow: 3px 3px 0 var(--retro-shadow);
}

.world-shell.theme-retro .admin-claim-move-overlay-issue-frame {
  border-color: var(--retro-danger);
  box-shadow: 3px 3px 0 var(--retro-shadow);
}

.world-shell.theme-retro .admin-claim-move-overlay-issue-label {
  border-color: var(--retro-danger);
  background: var(--retro-panel-dark);
  box-shadow: 2px 2px 0 var(--retro-shadow);
}

.world-shell.theme-retro .claim-template-resize-handle {
  width: 16px;
  height: 16px;
  border: 2px solid var(--retro-shadow);
  border-radius: 0;
  background: var(--accent-turquoise);
  box-shadow: 2px 2px 0 var(--retro-shadow);
}

.world-shell.theme-retro .shop-purchase-window {
  background:
    repeating-linear-gradient(
      135deg,
      rgba(155, 183, 200, 0.1) 0,
      rgba(155, 183, 200, 0.1) 6px,
      transparent 6px,
      transparent 12px
    ),
    var(--retro-panel-alt);
}

.world-shell.theme-retro .shop-firework span {
  width: 8px;
  height: 8px;
  border-radius: 0;
  background: var(--retro-success);
  box-shadow: 2px 2px 0 var(--retro-shadow);
}

.world-shell.theme-retro .shop-firework span:nth-child(1),
.world-shell.theme-retro .shop-firework span:nth-child(6) {
  background: #c7c1b4;
}

.world-shell.theme-retro .shop-firework span:nth-child(3) {
  background: var(--retro-danger);
}

.world-shell.theme-retro .shop-firework span:nth-child(4) {
  background: var(--retro-blue);
}

.world-shell.theme-retro .shop-firework span:nth-child(5) {
  background: #ece7dc;
}

.world-shell.theme-retro .shop-purchase-equation b {
  color: var(--retro-blue);
}

.world-shell.theme-retro .shop-art-bg {
  fill: #ece7dc;
  stroke: var(--retro-shadow);
}

.world-shell.theme-retro .owned-area-preview {
  background:
    linear-gradient(90deg, rgba(155, 183, 200, 0.11) 1px, transparent 1px),
    linear-gradient(0deg, rgba(155, 183, 200, 0.11) 1px, transparent 1px),
    var(--retro-panel-dark);
  background-size: 10px 10px;
}

.world-shell.theme-retro .onboarding-preview {
  background: var(--retro-panel-dark);
}

.world-shell.theme-retro .onboarding-preview-world {
  background:
    linear-gradient(90deg, rgba(155, 183, 200, 0.11) 1px, transparent 1px),
    linear-gradient(0deg, rgba(155, 183, 200, 0.11) 1px, transparent 1px),
    #141414;
  background-size: 12px 12px;
}

.world-shell.theme-retro .onboarding-preview-grid span {
  border-radius: 0;
  background: #2a2927;
  box-shadow: inset 0 0 0 1px #141414;
}

.world-shell.theme-retro .onboarding-preview-grid span.is-painted {
  background: var(--accent-turquoise);
  box-shadow: inset 0 0 0 1px #141414;
}

.world-shell.theme-retro .onboarding-preview-grid span.is-staged {
  background: var(--retro-success);
  box-shadow: inset 0 0 0 1px #141414;
}

.world-shell.theme-retro :is(.onboarding-preview-brush, .onboarding-preview-rectangle, .onboarding-preview-overlay-template, .onboarding-preview-reticle) {
  border-radius: 0;
  box-shadow: 3px 3px 0 var(--retro-shadow);
}

.world-shell.theme-retro .onboarding-guide-spotlight {
  border: 3px solid var(--accent-turquoise);
  border-radius: 0;
  box-shadow:
    0 0 0 9999px rgba(5, 5, 5, 0.66),
    0 0 0 6px var(--retro-shadow);
  animation-timing-function: steps(2, end);
}

.world-shell.theme-retro .onboarding-guide-spotlight::before,
.world-shell.theme-retro .onboarding-guide-spotlight::after {
  border-radius: 0;
  border-color: var(--retro-blue);
}

.world-shell.theme-retro .onboarding-guide-label {
  border-radius: 0;
  background: var(--retro-panel-dark);
  color: var(--accent-turquoise);
  box-shadow: 3px 3px 0 var(--retro-shadow);
}

.world-shell.theme-retro :is(.app-toast.is-info, .app-toast.is-warning) {
  border-color: var(--retro-blue);
  background: var(--retro-panel);
}

.world-shell.theme-retro .app-toast.is-success {
  border-color: var(--retro-success);
  background: #24313a;
}

.world-shell.theme-retro .app-toast.is-error {
  border-color: var(--retro-danger);
  background: #341b18;
  color: #ffe1dd;
}

.world-shell.theme-retro .app-toast.is-error .app-toast-dismiss {
  border-color: #efbeb8;
  color: #ffe1dd;
}

.world-shell.theme-retro :is(.app-toast, .app-toast-dismiss) {
  border-radius: 0;
}

.world-shell.theme-retro :is(.area-context-menu-header, .pixel-placement-header, .owned-area-section + .owned-area-section, .claim-overlay-tool) {
  border-color: rgba(155, 183, 200, 0.24);
}

.world-shell.theme-retro :is(.area-share-feedback.is-success, .account-feedback.is-success) {
  color: #dce8f0;
}

.world-shell.theme-retro :is(.area-share-feedback.is-error, .account-feedback.is-error, .pixel-placement-help.is-danger, .area-field-limit.is-error) {
  color: #efbeb8;
}

.world-shell.theme-retro .perf-debug-panel {
  border-color: var(--retro-success);
  background: #101820;
  color: #dce8f0;
}

.world-shell.theme-retro .perf-debug-panel :is(button, input) {
  border-radius: 0;
}

.world-shell.has-shell-sidebar {
  --viewport-background: #fbf7ee;
  --viewport-grid: rgba(31, 41, 55, 0.14);
  --viewport-major-grid: rgba(31, 41, 55, 0.07);
  --viewport-origin-axis: rgba(15, 148, 138, 0.45);
  --crosshair: rgba(31, 41, 55, 0.2);
  --crosshair-outside: rgba(190, 82, 68, 0.72);
  --backdrop-glow: transparent;
  --backdrop-glow-alt: transparent;
  --world-boundary: rgba(80, 70, 55, 0.72);
  --world-outside-shade: transparent;
  --world-outside-hatch: transparent;
  --world-outside-pattern-base: transparent;
  color-scheme: light;
  font-family: var(--font-main);
}

.world-shell.has-shell-sidebar .world-viewport {
  background: #fbf7ee;
  box-shadow: none;
  cursor: default;
}

.world-shell.has-shell-sidebar .world-viewport.is-color-picking,
.world-shell.has-shell-sidebar .world-viewport.is-audit-picking,
.world-shell.has-shell-sidebar .world-viewport.is-touch-paint-locked {
  cursor: default;
}

.world-shell.has-shell-sidebar .world-viewport::after,
.world-shell.has-shell-sidebar .world-backdrop-glow,
.world-shell.has-shell-sidebar .world-outside-pattern,
.world-shell.has-shell-sidebar .world-outside-art-image {
  display: none !important;
}

.world-shell.has-shell-sidebar :is(.world-tile-detail-image, .world-tile-parent-image, .world-pixel-grid) {
  transition: none;
}

.world-shell.has-shell-sidebar .world-tile-parent-image.is-softened {
  filter: none;
  transform: none;
}

.world-shell.has-shell-sidebar :is(.world-pending-claim, .world-hovered-pixel, .world-selected-pixel, .world-paint-cursor) {
  animation: none;
  border-radius: 0;
}

.world-shell.has-shell-sidebar .mobile-touch-paint-lock-button {
  display: none !important;
}

.world-shell.has-shell-sidebar:not(.has-sidebar-collapsed):not(.has-sidebar-undocked) {
  --game-sidebar-width: clamp(304px, 18vw, 348px);
}

.world-shell.has-shell-sidebar.has-sidebar-undocked .world-viewport {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.world-shell.has-shell-sidebar.has-sidebar-undocked.has-sidebar-collapsed .world-viewport {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.world-shell.has-shell-sidebar .game-sidebar {
  gap: 0.52rem;
  padding: calc(env(safe-area-inset-top, 0px) + 0.62rem) 0.68rem calc(env(safe-area-inset-bottom, 0px) + 0.62rem);
  background: #fbf7ee;
  box-shadow: 4px 0 0 rgba(80, 70, 55, 0.045);
  font-family: var(--font-main) !important;
}

.world-shell.has-shell-sidebar .game-sidebar.is-floating {
  inset: auto auto auto auto;
  max-height: min(82vh, 720px);
  border: 1px solid rgba(132, 120, 100, 0.32);
  box-shadow: 4px 4px 0 rgba(80, 70, 55, 0.14), 0 16px 36px rgba(80, 70, 55, 0.12);
}

.world-shell.has-shell-sidebar .game-sidebar.is-dragging {
  -webkit-user-select: none;
          user-select: none;
}

.world-shell.has-shell-sidebar .game-sidebar.is-collapsed {
  overflow: visible;
  padding-inline: 0.52rem;
}

.world-shell.has-shell-sidebar .game-sidebar-brand,
.world-shell.has-shell-sidebar .game-sidebar-subhead {
  min-height: 34px;
}

.world-shell.has-shell-sidebar .game-sidebar-brand {
  gap: 0.46rem;
}

.world-shell.has-shell-sidebar .game-sidebar-brand strong {
  font-size: 1.1rem;
}

.world-shell.has-shell-sidebar .game-sidebar-mark {
  width: 20px;
  height: 20px;
}

.world-shell.has-shell-sidebar .game-sidebar-section {
  gap: 0.54rem;
  padding: 0.58rem 0.32rem 0.64rem;
  border: 0;
  border-top: 1px solid rgba(132, 120, 100, 0.22);
  background: transparent;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .game-sidebar-section:first-of-type {
  border-top: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-section-head > span,
.world-shell.has-shell-sidebar .game-sidebar-subhead strong {
  font-size: 0.7rem;
}

.world-shell.has-shell-sidebar .game-profile-card {
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 0.56rem;
}

.world-shell.has-shell-sidebar .game-profile-avatar {
  width: 44px;
  height: 44px;
  border-width: 1px;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .game-profile-copy strong,
.world-shell.has-shell-sidebar .game-mode-button strong,
.world-shell.has-shell-sidebar .game-shop-item strong {
  font-size: 0.92rem;
}

.world-shell.has-shell-sidebar .game-profile-copy span,
.world-shell.has-shell-sidebar .game-mode-button small,
.world-shell.has-shell-sidebar .game-badge-row span,
.world-shell.has-shell-sidebar .game-status-card span,
.world-shell.has-shell-sidebar .game-shop-item span {
  font-size: 0.72rem;
}

.world-shell.has-shell-sidebar .game-profile-coins {
  padding: 0.28rem 0.44rem;
  font-size: 0.82rem;
}

.world-shell.has-shell-sidebar .game-level-strip {
  font-size: 0.78rem;
}

.world-shell.has-shell-sidebar .game-level-bar {
  height: 6px;
}

.world-shell.has-shell-sidebar .game-badge-row span {
  padding: 0.24rem 0.38rem;
}

.world-shell.has-shell-sidebar .game-mode-list,
.world-shell.has-shell-sidebar .game-settings-list,
.world-shell.has-shell-sidebar .game-shop-list {
  gap: 0.46rem;
}

.world-shell.has-shell-sidebar .game-mode-button {
  min-height: 56px;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 0.56rem;
  padding: 0.5rem 0.56rem;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .game-mode-icon {
  width: 36px;
  height: 36px;
}

.world-shell.has-shell-sidebar .game-mode-icon svg,
.world-shell.has-shell-sidebar .game-mode-icon .game-image-icon,
.world-shell.has-shell-sidebar .game-mode-button > svg,
.world-shell.has-shell-sidebar .game-tool-button svg,
.world-shell.has-shell-sidebar .game-tool-button .game-image-icon,
.world-shell.has-shell-sidebar .game-sidebar-icon-button svg,
.world-shell.has-shell-sidebar .game-sidebar-collapse-button svg,
.world-shell.has-shell-sidebar .game-sidebar-collapse-button .game-image-icon,
.world-shell.has-shell-sidebar .game-rail-button svg,
.world-shell.has-shell-sidebar .game-rail-button .game-image-icon,
.world-shell.has-shell-sidebar .game-rail-button .game-bitmap-icon {
  width: 20px;
  height: 20px;
}

.world-shell.has-shell-sidebar .game-mode-button em {
  min-width: 24px;
  height: 24px;
  font-size: 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar-icon-button,
.world-shell.has-shell-sidebar .game-sidebar-collapse-button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(132, 120, 100, 0.32);
  background: #fffaf0;
  color: #52606b;
  cursor: pointer;
  margin-left: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-brand > .game-sidebar-collapse-button:first-of-type {
  margin-left: auto;
}

.world-shell.has-shell-sidebar .game-sidebar-subhead-actions {
  gap: 0.24rem;
}

.world-shell.has-shell-sidebar .game-sidebar-back {
  min-height: 32px;
  padding: 0 0.5rem;
  font-size: 0.74rem;
}

.world-shell.has-shell-sidebar .game-tool-grid {
  gap: 0.4rem;
}

.world-shell.has-shell-sidebar .game-tool-grid.is-paint-tools {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.world-shell.has-shell-sidebar .game-tool-button,
.world-shell.has-shell-sidebar .game-sidebar .claim-tool-button,
.world-shell.has-shell-sidebar .game-sidebar .paint-tool-button {
  min-height: 50px !important;
  border: 1px solid rgba(132, 120, 100, 0.34) !important;
  border-radius: 0 !important;
  padding: 0.42rem 0.3rem !important;
  background: #fffaf0 !important;
  color: #344250 !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar .claim-tool-button.is-active,
.world-shell.has-shell-sidebar .game-sidebar .paint-tool-button.is-active,
.world-shell.has-shell-sidebar .game-tool-button.is-active,
.world-shell.has-shell-sidebar .game-theme-row button.is-active {
  border-color: #128f87 !important;
  background: #dff3ee !important;
  color: #0d716c !important;
}

.world-shell.has-shell-sidebar .game-color-grid {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.18rem;
}

.world-shell.has-shell-sidebar .game-sidebar .pixel-color-button {
  border: 1px solid rgba(15, 23, 42, 0.72);
  box-shadow: none;
}

.world-shell.has-shell-sidebar .game-status-card,
.world-shell.has-shell-sidebar .game-shop-item,
.world-shell.has-shell-sidebar .game-sidebar-area-item,
.world-shell.has-shell-sidebar .game-sidebar .pixel-resource-summary {
  border: 1px solid rgba(132, 120, 100, 0.26) !important;
  background: #fffaf0 !important;
  color: #1c2732 !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar .pixel-resource-summary {
  gap: 0.24rem;
  padding: 0.46rem;
}

.world-shell.has-shell-sidebar .game-sidebar .pixel-resource-summary span,
.world-shell.has-shell-sidebar .game-sidebar .pixel-resource-summary small,
.world-shell.has-shell-sidebar .game-sidebar .claim-batch-progress-header span {
  color: #66727c !important;
  font-size: 0.64rem !important;
}

.world-shell.has-shell-sidebar .game-sidebar .pixel-resource-summary strong,
.world-shell.has-shell-sidebar .game-sidebar .claim-batch-progress-header strong {
  color: #1c2732 !important;
  font-size: 0.82rem !important;
}

.world-shell.has-shell-sidebar .game-sidebar .resource-meter,
.world-shell.has-shell-sidebar .game-sidebar .claim-batch-progress-bar {
  height: 5px;
  border: 1px solid rgba(132, 120, 100, 0.28);
  background: #e9dfcf !important;
}

.world-shell.has-shell-sidebar .game-sidebar .resource-meter span,
.world-shell.has-shell-sidebar .game-sidebar .claim-batch-progress-bar span {
  background: #159d94 !important;
}

.world-shell.has-shell-sidebar .game-status-card {
  padding: 0.52rem;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .claim-overlay-tool {
  gap: 0.56rem;
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-drop-zone,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-meta-row,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-render-progress,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-palette-window {
  border: 1px solid rgba(132, 120, 100, 0.3);
  border-radius: 0;
  background: #fffaf0;
  color: #1c2732;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-drop-zone {
  min-height: 72px;
  padding: 0.58rem;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-drop-zone strong,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-meta-row strong,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-render-progress-label strong,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-palette-header strong {
  color: #1c2732;
  font-size: 0.86rem;
  font-weight: 700;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-drop-zone span,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-control span,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-meta-row span,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-render-progress-label span {
  color: #66727c;
  font-size: 0.72rem;
  font-weight: 500;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-control-grid,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-action-row {
  gap: 0.42rem;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-control select,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-select-button {
  min-height: 36px;
  border: 1px solid rgba(132, 120, 100, 0.34);
  border-radius: 0;
  background: #fffaf0;
  color: #1c2732;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-toggle {
  color: #1c2732;
  font-size: 0.76rem;
  font-weight: 600;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-cutout-help {
  width: 20px;
  height: 20px;
  border: 1px solid rgba(132, 120, 100, 0.34);
  background: #fff0cf;
  color: #5f4b35;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-cutout-help:hover,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-cutout-help:focus-visible {
  border-color: rgba(178, 86, 34, 0.48);
  background: #ffe6b5;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-cutout-help-icon {
  width: 12px;
  height: 12px;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-cutout-tooltip {
  border: 1px solid rgba(178, 86, 34, 0.3);
  background: #fffaf0;
  color: #5f4b35;
  box-shadow: 0 12px 24px rgba(43, 32, 20, 0.18);
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-cutout-tooltip strong {
  color: #8f4b1f;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-render-progress-track {
  border: 1px solid rgba(132, 120, 100, 0.28);
  background: #e9dfcf;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-render-progress-track span {
  background: #159d94;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-palette-window {
  padding: 0.52rem;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-palette-row {
  gap: 0.18rem;
}

.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-color-toggle span {
  border: 1px solid rgba(15, 23, 42, 0.72);
}

.world-shell.has-shell-sidebar .game-sidebar-primary,
.world-shell.has-shell-sidebar .game-sidebar-small-button,
.world-shell.has-shell-sidebar .game-sidebar-link {
  min-height: 36px;
  padding: 0 0.58rem;
  font-size: 0.76rem;
}

.world-shell.has-shell-sidebar .game-shop-item {
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 0.5rem 0.58rem;
  padding: 0.58rem;
}

.world-shell.has-shell-sidebar .game-shop-artwork {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(18, 143, 135, 0.34);
  background: #dff3ee;
  color: #128f87;
}

.world-shell.has-shell-sidebar .game-shop-artwork .shop-item-art {
  width: 42px;
  height: 42px;
}

.world-shell.has-shell-sidebar .game-shop-item input {
  min-height: 26px;
}

.world-shell.has-shell-sidebar .game-shop-item button {
  grid-column: 2;
  min-height: 30px;
}

.world-shell.has-shell-sidebar .game-shop-balance svg,
.world-shell.has-shell-sidebar .game-shop-balance .game-coin-icon,
.world-shell.has-shell-sidebar .game-shop-price svg,
.world-shell.has-shell-sidebar .game-shop-price .game-coin-icon {
  color: #a06f08;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  height: 58px;
}

.world-shell.has-shell-sidebar .game-theme-row button {
  min-height: 38px;
  font-size: 0.72rem;
}

.game-sidebar-rail-context {
  display: grid;
  justify-items: center;
  gap: 0.28rem;
  width: 100%;
}

.game-rail-divider {
  width: 26px;
  height: 1px;
  margin: 0.16rem 0;
  background: rgba(132, 120, 100, 0.32);
}

.game-rail-item {
  position: relative;
  display: grid;
  justify-items: center;
}

.game-rail-item.has-popover::after {
  content: "";
  position: absolute;
  z-index: 89;
  top: -0.35rem;
  left: 100%;
  width: 12px;
  height: calc(100% + 0.7rem);
}

.game-rail-button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(132, 120, 100, 0.32);
  background: #fffaf0;
  color: #344250;
  cursor: pointer;
}

.game-rail-button.is-active {
  border-color: #128f87;
  background: #dff3ee;
  color: #0d716c;
}

.game-rail-switch-button.is-on {
  border-color: #128f87;
  background: #dff3ee;
  color: #0d716c;
}

.game-rail-switch-button .game-settings-switch {
  pointer-events: none;
}

.game-rail-item:hover > .game-rail-button,
.game-rail-item:focus-within > .game-rail-button,
.game-rail-item:has(.game-rail-button:focus-visible) > .game-rail-button {
  border-color: #128f87;
  color: #128f87;
}

.game-rail-color-preview {
  width: 20px;
  height: 20px;
  display: block;
  border: 1px solid rgba(15, 23, 42, 0.7);
  background:
    linear-gradient(45deg, #d8d0bf 25%, transparent 25% 75%, #d8d0bf 75%),
    linear-gradient(45deg, #d8d0bf 25%, transparent 25% 75%, #d8d0bf 75%),
    #fffaf0;
  background-position: 0 0, 4px 4px;
  background-size: 8px 8px;
}

.game-rail-popover {
  position: absolute;
  z-index: 90;
  top: 0;
  left: calc(100% + 6px);
  width: 220px;
  display: none;
  gap: 0.42rem;
  padding: 0.52rem;
  border: 1px solid rgba(132, 120, 100, 0.34);
  background: #fbf7ee;
  color: #1c2732;
  box-shadow: 4px 4px 0 rgba(80, 70, 55, 0.14), 0 16px 36px rgba(80, 70, 55, 0.12);
}

.game-rail-popover strong {
  color: #1c2732;
  font-size: 0.88rem;
  font-weight: 950;
}

.game-rail-popover span,
.game-rail-popover label span {
  color: #66727c;
  font-size: 0.74rem;
  font-weight: 800;
}

.game-rail-item:hover,
.game-rail-item:focus-within,
.game-rail-item:has(.game-rail-button:focus-visible) {
  z-index: 96;
}

.game-rail-item:hover .game-rail-popover,
.game-rail-item:focus-within .game-rail-popover,
.game-rail-item:has(.game-rail-button:focus-visible) .game-rail-popover {
  display: grid;
}

.game-rail-palette {
  width: 236px;
}

.game-rail-shop-popover label {
  display: grid;
  grid-template-columns: auto 46px;
  align-items: center;
  gap: 0.4rem;
}

.game-rail-shop-popover input {
  width: 46px;
  min-height: 28px;
  border: 1px solid rgba(132, 120, 100, 0.36);
  background: #fffaf0;
  color: #1c2732;
  text-align: center;
}

.game-rail-shop-popover button {
  min-height: 30px;
  border: 1px solid rgba(132, 120, 100, 0.36);
  background: #fffaf0;
  color: #1c2732;
  font: inherit;
  font-size: 0.68rem;
  font-weight: 950;
  cursor: pointer;
}

.game-rail-shop-popover button:not(:disabled):hover,
.game-rail-shop-popover button:not(:disabled):focus-visible {
  border-color: #128f87;
}

.game-rail-shop-popover button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.game-rail-shop-artwork {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #128f87;
}

.game-rail-shop-artwork > * {
  width: 22px;
  height: 22px;
}

.game-rail-shop-artwork .shop-art-bg {
  fill: #dff3ee;
  stroke: rgba(18, 143, 135, 0.34);
}

@media (max-width: 760px) {
  .world-shell.has-shell-sidebar:not(.has-sidebar-collapsed):not(.has-sidebar-undocked) {
    --game-sidebar-width: min(90vw, 348px);
  }
}

.world-shell.has-shell-sidebar .game-sidebar,
.world-shell.has-shell-sidebar .game-sidebar * {
  font-family: var(--font-main) !important;
  text-shadow: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar-logo-button {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  min-width: 0;
  margin: 0 auto 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #17212b;
  cursor: pointer;
}

.world-shell.has-shell-sidebar .game-sidebar-logo-button.is-compact {
  width: 38px;
  height: 34px;
  justify-content: center;
  margin: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-logo-button:hover,
.world-shell.has-shell-sidebar .game-sidebar-logo-button:focus-visible {
  color: #0d8f87;
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar.is-floating {
  cursor: grab;
}

.world-shell.has-shell-sidebar .game-sidebar.is-dragging {
  cursor: grabbing;
}

.world-shell.has-shell-sidebar .game-sidebar.is-floating::before {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid transparent;
  pointer-events: none;
}

.world-shell.has-shell-sidebar .game-sidebar.is-floating:hover::before,
.world-shell.has-shell-sidebar .game-sidebar.is-dragging::before {
  border-color: rgba(18, 143, 135, 0.42);
}

.world-shell.has-shell-sidebar .game-sidebar :is(
  input,
  textarea,
  select,
  .account-input,
  .owned-area-filter-button,
  .google-button,
  .pixel-clear-button,
  .area-options-button,
  .owned-area-jump,
  .area-action-button,
  .area-add-player-button
) {
  border: 1px solid rgba(132, 120, 100, 0.34) !important;
  border-radius: 0 !important;
  background: #fffaf0 !important;
  color: #1c2732 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar :is(input, textarea, select, .account-input)::placeholder {
  color: #8a8172 !important;
  opacity: 1;
}

.world-shell.has-shell-sidebar .game-sidebar :is(input, textarea, select, .account-input):focus {
  border-color: #128f87 !important;
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar .owned-area-filter-button.is-active,
.world-shell.has-shell-sidebar .game-sidebar .owned-area-filter-button:hover,
.world-shell.has-shell-sidebar .game-sidebar .owned-area-filter-button:focus-visible {
  border-color: #128f87 !important;
  background: #dff3ee !important;
  color: #0d716c !important;
}

.world-shell.has-shell-sidebar .game-sidebar .account-helper,
.world-shell.has-shell-sidebar .game-sidebar-empty-state {
  margin: 0;
  color: #746b60 !important;
  font-size: 0.68rem;
  font-weight: 750;
  line-height: 1.35;
}

.world-shell.has-shell-sidebar .game-claim-slot-row {
  display: flex;
  align-items: center;
  gap: 0.34rem;
  min-height: 30px;
  padding: 0.3rem 0.42rem;
  border: 1px solid rgba(132, 120, 100, 0.26);
  background: #fffaf0;
  color: #25313b;
}

.world-shell.has-shell-sidebar .game-claim-slot-row svg {
  width: 17px;
  height: 17px;
  color: #128f87;
}

.world-shell.has-shell-sidebar .game-claim-slot-row strong {
  font-size: 0.72rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-sidebar-area-section {
  gap: 0.28rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-section-head {
  padding-top: 0.32rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item {
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 0.38rem;
  padding: 0.36rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  width: 44px;
  height: 44px;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-title-row {
  gap: 0.28rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main {
  gap: 0.08rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main strong {
  font-size: 0.74rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main span,
.world-shell.has-shell-sidebar .game-sidebar-area-main small {
  font-size: 0.61rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-actions {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) 32px;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-jump,
.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-options-button {
  min-height: 28px;
}

.world-shell.has-shell-sidebar .game-sidebar .area-role-tag {
  padding: 0.08rem 0.18rem;
  font-size: 0.52rem;
}

.world-shell.has-shell-sidebar .game-sidebar-footer {
  display: grid;
  gap: 0.38rem;
  margin-top: auto;
  padding: 0.46rem 0.24rem 0;
  border-top: 1px solid rgba(132, 120, 100, 0.22);
}

.world-shell.has-shell-sidebar .game-sidebar-cursor-readout {
  width: max-content;
  max-width: 100%;
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: start;
  gap: 0.36rem;
  margin: 0;
  padding: 0.22rem 0.42rem;
  border: 1px solid rgba(18, 143, 135, 0.28);
  border-radius: 6px;
  background: rgba(223, 243, 238, 0.72);
  color: var(--game-accent-strong);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.48);
}

.world-shell.has-shell-sidebar .game-sidebar-cursor-readout span {
  font-size: 0.62rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar-cursor-readout strong {
  color: #1c2732;
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-sidebar-notifications {
  position: relative;
  display: grid;
  gap: 0.34rem;
}

.world-shell.has-shell-sidebar .game-sidebar-footer-links :is(button, a) {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.34rem;
  border: 1px solid rgba(132, 120, 100, 0.34);
  background: #fffaf0;
  color: #1c2732;
  cursor: pointer;
  font: inherit;
  font-size: 0.66rem;
  font-weight: 900;
}

.world-shell.has-shell-sidebar .game-sidebar-footer-links :is(button, a):hover,
.world-shell.has-shell-sidebar .game-sidebar-footer-links :is(button, a):focus-visible {
  border-color: #128f87;
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar-notification-button {
  position: relative;
}

.world-shell.has-shell-sidebar .game-sidebar-icon-badge {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  padding: 0 3px;
  background: #d8a93a;
  color: #1c2732;
  font-size: 0.54rem;
  font-weight: 700;
  line-height: 1;
}

.world-shell.has-shell-sidebar .game-sidebar-notification-list {
  display: grid;
  gap: 0.32rem;
  max-height: 188px;
  overflow-y: auto;
  padding-right: 0.12rem;
}

.world-shell.has-shell-sidebar .game-sidebar-notification-list.is-floating {
  position: absolute;
  top: calc(100% + 0.38rem);
  right: 0;
  z-index: 120;
  width: min(260px, calc(var(--game-sidebar-width) - 1rem));
  max-height: min(320px, 46vh);
  padding: 0.42rem;
  border: 1px solid rgba(132, 120, 100, 0.34);
  background: #fbf7ee;
  box-shadow: 4px 4px 0 rgba(80, 70, 55, 0.14), 0 16px 36px rgba(80, 70, 55, 0.12);
}

.world-shell.has-shell-sidebar .game-sidebar-notification-list > p {
  margin: 0;
  color: #746b60;
  font-size: 0.66rem;
  font-weight: 750;
}

.world-shell.has-shell-sidebar .game-sidebar-notification {
  display: grid;
  gap: 0.18rem;
  padding: 0.38rem;
  border-left: 3px solid #128f87;
  background: #fffaf0;
  color: #1c2732;
}

.world-shell.has-shell-sidebar .game-sidebar-notification.is-warning {
  border-left-color: #d8a93a;
}

.world-shell.has-shell-sidebar .game-sidebar-notification.is-error {
  border-left-color: #b84f42;
}

.world-shell.has-shell-sidebar .game-sidebar-notification.is-read {
  opacity: 0.74;
}

.world-shell.has-shell-sidebar .game-sidebar-notification div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.4rem;
}

.world-shell.has-shell-sidebar .game-sidebar-notification strong {
  color: #1c2732;
  font-size: 0.66rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-sidebar-notification time,
.world-shell.has-shell-sidebar .game-sidebar-notification p {
  color: #66727c;
  font-size: 0.6rem;
  font-weight: 750;
  line-height: 1.3;
}

.world-shell.has-shell-sidebar .game-sidebar-notification p {
  margin: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-notification .notification-reward-button {
  min-height: 24px;
  border-color: rgba(18, 143, 135, 0.38);
  padding: 0 0.5rem;
  background: rgba(18, 143, 135, 0.1);
  color: #1c2732;
  font-size: 0.58rem;
}

.world-shell.has-shell-sidebar .game-sidebar-footer-links {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px auto;
  gap: 0.32rem;
}

.world-shell.has-shell-sidebar .game-sidebar-footer-links :is(button, a) {
  padding: 0 0.42rem;
}

.world-shell.has-shell-sidebar .game-sidebar-discord-icon {
  width: 18px;
  height: 18px;
}

.world-shell.has-shell-sidebar .game-rail-button {
  position: relative;
  font-size: 0.92rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-rail-area-info-button {
  border-color: var(--game-accent-border-strong);
}

.world-shell.has-shell-sidebar .game-rail-area-info-button.is-busy {
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-rail-button-badge {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(255, 253, 247, 0.95);
  border-radius: 999px;
  background: var(--game-accent);
  box-shadow: 0 0 0 1px rgba(18, 143, 135, 0.18);
}

.world-shell.has-shell-sidebar .game-rail-button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.world-shell.has-shell-sidebar .game-rail-popover {
  min-height: 48px;
  transform: translateX(-4px) scale(0.96);
  transform-origin: left center;
  transition: opacity 120ms ease, transform 120ms ease;
  opacity: 0;
}

.world-shell.has-shell-sidebar .game-rail-item:hover .game-rail-popover,
.world-shell.has-shell-sidebar .game-rail-item:focus-within .game-rail-popover,
.world-shell.has-shell-sidebar .game-rail-item:has(.game-rail-button:focus-visible) .game-rail-popover {
  opacity: 1;
  transform: translateX(0) scale(1);
}

.world-shell.has-shell-sidebar .game-sidebar.is-popover-left .game-rail-item.has-popover::after {
  right: 100%;
  left: auto;
}

.world-shell.has-shell-sidebar .game-sidebar.is-popover-left .game-rail-popover {
  right: calc(100% + 6px);
  left: auto;
  transform: translateX(4px) scale(0.96);
  transform-origin: right center;
}

.world-shell.has-shell-sidebar .game-sidebar.is-popover-left .game-rail-item:hover .game-rail-popover,
.world-shell.has-shell-sidebar .game-sidebar.is-popover-left .game-rail-item:focus-within .game-rail-popover,
.world-shell.has-shell-sidebar .game-sidebar.is-popover-left .game-rail-item:has(.game-rail-button:focus-visible) .game-rail-popover {
  transform: translateX(0) scale(1);
}

.world-shell.has-shell-sidebar .game-sidebar {
  font-weight: 500;
}

.world-shell.has-shell-sidebar .game-sidebar :is(strong, b) {
  font-weight: 700;
}

.world-shell.has-shell-sidebar .game-sidebar-section-head > span,
.world-shell.has-shell-sidebar .game-sidebar-subhead strong {
  font-weight: 700;
  letter-spacing: 0.04em;
}

.world-shell.has-shell-sidebar .game-profile-copy span,
.world-shell.has-shell-sidebar .game-mode-button small,
.world-shell.has-shell-sidebar .game-badge-row span,
.world-shell.has-shell-sidebar .game-status-card span,
.world-shell.has-shell-sidebar .game-shop-item span,
.world-shell.has-shell-sidebar .game-sidebar-notification time,
.world-shell.has-shell-sidebar .game-sidebar-notification p {
  font-weight: 500;
}

.world-shell.has-shell-sidebar .game-rail-popover.is-action-preview {
  width: 172px;
  align-content: center;
}

.world-shell.has-shell-sidebar .game-rail-popover :is(input, button) {
  border-radius: 0 !important;
}

.world-shell.has-shell-sidebar {
  --game-accent: #128f87;
  --game-accent-strong: #0d716c;
  --game-accent-soft: #dff3ee;
  --game-accent-wash: #eefaf6;
  --game-accent-panel: #f5fcf8;
  --game-accent-border: rgba(18, 143, 135, 0.28);
  --game-accent-border-strong: rgba(18, 143, 135, 0.48);
}

.world-shell.has-shell-sidebar .world-viewport {
  background:
    linear-gradient(180deg, rgba(18, 143, 135, 0.08), transparent 38%),
    #fbf7ee;
}

.world-shell.has-shell-sidebar .game-sidebar {
  border-right: 2px solid var(--game-accent-border-strong);
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.18) 0 5px, transparent 5px),
    linear-gradient(180deg, var(--game-accent-wash) 0, #fbf7ee 34%, #f7f0e4 100%);
  box-shadow:
    inset -1px 0 0 rgba(18, 143, 135, 0.14),
    4px 0 0 rgba(18, 143, 135, 0.06);
}

.world-shell.has-shell-sidebar .game-sidebar.is-floating {
  border-color: var(--game-accent-border-strong);
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.16) 0 5px, transparent 5px),
    linear-gradient(180deg, var(--game-accent-wash) 0, #fbf7ee 42%, #f7f0e4 100%);
}

.world-shell.has-shell-sidebar.has-sidebar-right .game-sidebar {
  border-right: 0;
  border-left: 2px solid var(--game-accent-border-strong);
  background:
    linear-gradient(270deg, rgba(18, 143, 135, 0.18) 0 5px, transparent 5px),
    linear-gradient(180deg, var(--game-accent-wash) 0, #fbf7ee 34%, #f7f0e4 100%);
  box-shadow:
    inset 1px 0 0 rgba(18, 143, 135, 0.14),
    -4px 0 0 rgba(18, 143, 135, 0.06);
}

.world-shell.has-shell-sidebar.has-sidebar-right .game-sidebar.is-floating {
  background:
    linear-gradient(270deg, rgba(18, 143, 135, 0.16) 0 5px, transparent 5px),
    linear-gradient(180deg, var(--game-accent-wash) 0, #fbf7ee 42%, #f7f0e4 100%);
  box-shadow: -4px 4px 0 rgba(80, 70, 55, 0.14), 0 16px 36px rgba(80, 70, 55, 0.12);
}

.world-shell.has-shell-sidebar .game-sidebar-section {
  border-top-color: rgba(18, 143, 135, 0.22);
}

.world-shell.has-shell-sidebar .game-sidebar-section-head > span,
.world-shell.has-shell-sidebar .game-sidebar-subhead strong {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-sidebar-section-head > span::before,
.world-shell.has-shell-sidebar .game-sidebar-subhead strong::before {
  content: "";
  width: 7px;
  height: 7px;
  display: inline-block;
  background: var(--game-accent);
}

.world-shell.has-shell-sidebar .game-sidebar-logo-button:hover,
.world-shell.has-shell-sidebar .game-sidebar-logo-button:focus-visible,
.world-shell.has-shell-sidebar .game-sidebar-brand strong:hover {
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar :is(
  .game-mode-button,
  .game-status-card,
  .game-shop-item,
  .game-sidebar-area-item,
  .game-sidebar .pixel-resource-summary,
  .game-claim-slot-row,
  .game-sidebar-template-section .overlay-drop-zone,
  .game-sidebar-template-section .overlay-meta-row,
  .game-sidebar-template-section .overlay-render-progress,
  .game-sidebar-template-section .overlay-palette-window,
  .game-sidebar-notification,
  .game-rail-popover,
  .game-sidebar-notification-list.is-floating
) {
  border-color: var(--game-accent-border) !important;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.1), rgba(255, 250, 240, 0.96) 46%),
    #fffaf0 !important;
  box-shadow: inset 3px 0 0 rgba(18, 143, 135, 0.22) !important;
}

.world-shell.has-shell-sidebar :is(
  .game-mode-button:hover,
  .game-mode-button:focus-visible,
  .game-sidebar-area-item:hover,
  .game-shop-item:hover,
  .game-sidebar-notification:hover
) {
  border-color: var(--game-accent-border-strong) !important;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.16), rgba(255, 250, 240, 0.98) 54%),
    #fffaf0 !important;
}

.world-shell.has-shell-sidebar :is(
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button,
  .game-sidebar-back,
  .game-sidebar-footer-links button,
  .game-rail-button,
  .game-shop-item button,
  .game-tool-button,
  .game-sidebar .claim-tool-button,
  .game-sidebar .paint-tool-button,
  .game-theme-row button,
  .game-sidebar .owned-area-filter-button,
  .game-sidebar .google-button,
  .game-sidebar .pixel-clear-button,
  .game-sidebar .area-options-button,
  .game-sidebar .owned-area-jump,
  .game-sidebar .area-action-button,
  .game-sidebar .area-add-player-button,
  .game-sidebar-template-section .overlay-select-button
) {
  border-color: rgba(18, 143, 135, 0.3) !important;
  background:
    linear-gradient(180deg, var(--game-accent-panel), #fffaf0) !important;
}

.world-shell.has-shell-sidebar :is(
  .game-sidebar-icon-button:hover,
  .game-sidebar-icon-button:focus-visible,
  .game-sidebar-collapse-button:hover,
  .game-sidebar-collapse-button:focus-visible,
  .game-sidebar-back:hover,
  .game-sidebar-back:focus-visible,
  .game-sidebar-footer-links button:hover,
  .game-sidebar-footer-links button:focus-visible,
  .game-rail-item:hover > .game-rail-button,
  .game-rail-item:focus-within > .game-rail-button,
  .game-rail-item:has(.game-rail-button:focus-visible) > .game-rail-button,
  .game-tool-button.is-active,
  .game-sidebar .claim-tool-button.is-active,
  .game-sidebar .paint-tool-button.is-active,
  .game-theme-row button.is-active,
  .game-sidebar .owned-area-filter-button.is-active,
  .game-sidebar .owned-area-filter-button:hover,
  .game-sidebar .owned-area-filter-button:focus-visible
) {
  border-color: var(--game-accent-strong) !important;
  background: var(--game-accent-strong) !important;
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar :is(
  .game-rail-button.is-active
) {
  border-color: var(--game-accent-border-strong) !important;
  background: #a8ded7 !important;
  color: var(--game-accent-strong) !important;
}

.world-shell.has-shell-sidebar .game-mode-icon,
.world-shell.has-shell-sidebar .game-shop-artwork {
  border: 1px solid rgba(18, 143, 135, 0.22);
  background:
    linear-gradient(180deg, #e5f7f2, #d5f0eb);
  color: var(--game-accent);
}

.world-shell.has-shell-sidebar .game-badge-row span {
  border-color: rgba(18, 143, 135, 0.26);
  background: #e9f7f3;
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-level-bar,
.world-shell.has-shell-sidebar .game-sidebar .resource-meter,
.world-shell.has-shell-sidebar .game-sidebar .claim-batch-progress-bar,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-render-progress-track {
  border-color: rgba(18, 143, 135, 0.24);
  background: #dbeee8 !important;
}

.world-shell.has-shell-sidebar .game-level-bar span,
.world-shell.has-shell-sidebar .game-sidebar .resource-meter span,
.world-shell.has-shell-sidebar .game-sidebar .claim-batch-progress-bar span,
.world-shell.has-shell-sidebar .game-sidebar-template-section .overlay-render-progress-track span {
  background: var(--game-accent) !important;
}

.world-shell.has-shell-sidebar .game-sidebar :is(input, textarea, select, .account-input) {
  border-color: rgba(18, 143, 135, 0.26) !important;
  background: #f9fffb !important;
}

.world-shell.has-shell-sidebar .game-sidebar :is(input, textarea, select, .account-input):focus {
  border-color: var(--game-accent-border-strong) !important;
  background: #ffffff !important;
}

.world-shell.has-shell-sidebar .game-sidebar {
  font-size: 0.94rem;
  line-height: 1.38;
}

.world-shell.has-shell-sidebar .game-sidebar-brand strong {
  font-size: 1.18rem;
}

.world-shell.has-shell-sidebar .game-sidebar-section-head > span,
.world-shell.has-shell-sidebar .game-sidebar-subhead strong {
  font-size: 0.78rem;
}

.world-shell.has-shell-sidebar .game-profile-copy strong,
.world-shell.has-shell-sidebar .game-mode-button strong,
.world-shell.has-shell-sidebar .game-shop-item strong,
.world-shell.has-shell-sidebar .game-status-card strong,
.world-shell.has-shell-sidebar .area-panel-header strong {
  font-size: 1rem;
}

.world-shell.has-shell-sidebar .game-profile-copy span,
.world-shell.has-shell-sidebar .game-mode-button small,
.world-shell.has-shell-sidebar .game-badge-row span,
.world-shell.has-shell-sidebar .game-status-card span,
.world-shell.has-shell-sidebar .game-shop-item span,
.world-shell.has-shell-sidebar .game-sidebar-notification time,
.world-shell.has-shell-sidebar .game-sidebar-notification p {
  font-size: 0.8rem;
}

.world-shell.has-shell-sidebar .game-level-strip,
.world-shell.has-shell-sidebar .game-profile-coins,
.world-shell.has-shell-sidebar .game-sidebar-primary,
.world-shell.has-shell-sidebar .game-sidebar-small-button,
.world-shell.has-shell-sidebar .game-sidebar-link,
.world-shell.has-shell-sidebar .game-sidebar-back,
.world-shell.has-shell-sidebar .game-shop-item button,
.world-shell.has-shell-sidebar .game-shop-item input,
.world-shell.has-shell-sidebar .game-theme-row button,
.world-shell.has-shell-sidebar .game-sidebar :is(input, textarea, select, .account-input) {
  font-size: 0.84rem;
}

.world-shell.has-shell-sidebar .game-tool-button,
.world-shell.has-shell-sidebar .game-sidebar .claim-tool-button,
.world-shell.has-shell-sidebar .game-sidebar .paint-tool-button {
  font-size: 0.78rem !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main strong {
  font-size: 0.86rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main span,
.world-shell.has-shell-sidebar .game-sidebar-area-main small,
.world-shell.has-shell-sidebar .game-sidebar-area-meta small,
.world-shell.has-shell-sidebar .game-sidebar .account-helper,
.world-shell.has-shell-sidebar .game-sidebar-empty-state {
  font-size: 0.7rem !important;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel {
  position: static;
  z-index: auto;
  width: 100%;
  max-height: none;
  display: grid;
  gap: 0.58rem;
  overflow: visible;
  padding: 0.58rem 0.32rem 0.64rem;
  border: 0;
  border-top: 1px solid rgba(18, 143, 135, 0.22);
  border-radius: 0;
  background: transparent;
  color: #1c2732;
  box-shadow: none;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel.has-admin-audit {
  width: 100%;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel .area-panel-header {
  align-items: center;
  gap: 0.52rem;
  padding-bottom: 0.12rem;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel .area-panel-actions {
  gap: 0.24rem;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel .area-panel-actions :is(.area-options-button, .area-panel-close) {
  width: 30px;
  height: 30px;
  min-height: 30px;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel :is(
  .area-summary-card,
  .area-reaction-card,
  .area-share-card,
  .area-access-card,
  .area-edit-card,
  .area-admin-tools-card,
  .area-pixel-audit-card
) {
  border-color: var(--game-accent-border) !important;
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.1), rgba(255, 250, 240, 0.96) 48%),
    #fffaf0 !important;
  box-shadow: inset 3px 0 0 rgba(18, 143, 135, 0.2);
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel :is(
  .area-summary-card,
  .area-reaction-card,
  .area-share-card,
  .area-access-card,
  .area-edit-card,
  .area-admin-tools-card,
  .area-pixel-audit-card
) {
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel .area-summary-list {
  gap: 0.4rem;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel .area-summary-list div {
  grid-template-columns: 88px minmax(0, 1fr);
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel :is(
  .area-summary-list dt,
  .area-access-header span,
  .area-access-list > span,
  .area-pixel-audit-list dt,
  .area-field-limit,
  .area-description,
  .area-reaction-meta,
  .area-share-feedback
) {
  font-size: 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel :is(
  .area-summary-list dd,
  .area-pixel-audit-list dd,
  .area-participant strong,
  .area-access-row strong
) {
  font-size: 0.86rem;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel .area-access-header {
  display: grid;
  gap: 0.46rem;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel .area-primary-actions,
.world-shell.has-shell-sidebar .game-sidebar .world-area-panel .area-inline-actions,
.world-shell.has-shell-sidebar .game-sidebar .world-area-panel .area-bottom-actions {
  gap: 0.46rem;
}

.world-shell.has-shell-sidebar .game-sidebar {
  font-size: 1.02rem;
}

.world-shell.has-shell-sidebar .game-sidebar-brand strong {
  font-size: 1.28rem;
}

.world-shell.has-shell-sidebar .game-sidebar-section-head > span,
.world-shell.has-shell-sidebar .game-sidebar-subhead strong {
  font-size: 0.86rem;
}

.world-shell.has-shell-sidebar .game-profile-copy strong,
.world-shell.has-shell-sidebar .game-mode-button strong,
.world-shell.has-shell-sidebar .game-shop-item strong,
.world-shell.has-shell-sidebar .game-status-card strong,
.world-shell.has-shell-sidebar .area-panel-header strong {
  font-size: 1.08rem;
}

.world-shell.has-shell-sidebar .game-profile-copy span,
.world-shell.has-shell-sidebar .game-mode-button small,
.world-shell.has-shell-sidebar .game-badge-row span,
.world-shell.has-shell-sidebar .game-status-card span,
.world-shell.has-shell-sidebar .game-shop-item span,
.world-shell.has-shell-sidebar .game-sidebar-notification time,
.world-shell.has-shell-sidebar .game-sidebar-notification p {
  font-size: 0.88rem;
}

.world-shell.has-shell-sidebar .game-level-strip,
.world-shell.has-shell-sidebar .game-profile-coins,
.world-shell.has-shell-sidebar .game-sidebar-primary,
.world-shell.has-shell-sidebar .game-sidebar-small-button,
.world-shell.has-shell-sidebar .game-sidebar-link,
.world-shell.has-shell-sidebar .game-sidebar-back,
.world-shell.has-shell-sidebar .game-shop-item button,
.world-shell.has-shell-sidebar .game-shop-item input,
.world-shell.has-shell-sidebar .game-theme-row button,
.world-shell.has-shell-sidebar .game-sidebar :is(input, textarea, select, .account-input) {
  font-size: 0.92rem;
}

.world-shell.has-shell-sidebar .game-tool-button,
.world-shell.has-shell-sidebar .game-sidebar .claim-tool-button,
.world-shell.has-shell-sidebar .game-sidebar .paint-tool-button {
  font-size: 0.86rem !important;
}

.world-shell.has-shell-sidebar .game-rail-shop-popover {
  width: 248px;
}

.game-rail-shop-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem;
}

.game-rail-shop-header strong {
  min-width: 0;
}

.game-rail-shop-balance {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  flex: 0 0 auto;
  padding: 0.16rem 0.32rem;
  border: 1px solid rgba(160, 111, 8, 0.32);
  background: #fff4cd;
  color: #7a5510 !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
}

.game-rail-shop-balance svg,
.game-rail-shop-balance .game-coin-icon {
  width: 18px;
  height: 18px;
  color: #a06f08;
}

.game-rail-shop-quantity,
.game-shop-quantity-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0.42rem;
}

.game-shop-max-button {
  min-width: 48px;
  padding-inline: 0.46rem;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-shop-quantity-row {
  grid-column: 2;
}

.world-shell.has-shell-sidebar .game-shop-quantity-row .game-shop-max-button {
  grid-column: auto;
  min-height: 26px;
}

.world-shell.has-shell-sidebar .game-shop-item > button {
  grid-column: 2;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area {
  gap: 0.78rem;
  padding: 0.68rem 0.38rem 0.78rem;
  border-top-color: rgba(18, 143, 135, 0.34);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-header {
  align-items: flex-start;
  padding: 0.62rem;
  border: 1px solid var(--game-accent-border);
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.16), rgba(249, 255, 251, 0.96) 54%),
    #f9fffb;
  box-shadow: inset 4px 0 0 rgba(18, 143, 135, 0.32);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(.coordinate-label, dt, .area-access-header span, .area-access-list > span) {
  color: var(--game-accent-strong) !important;
  opacity: 1 !important;
  font-size: 0.8rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.035em;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-title strong {
  color: #16232d;
  line-height: 1.2;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-actions :is(.area-options-button, .area-panel-close) {
  border-color: rgba(18, 143, 135, 0.38) !important;
  background: #f5fcf8 !important;
  color: var(--game-accent-strong) !important;
  opacity: 1;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(
  .area-summary-card,
  .area-reaction-card,
  .area-share-card,
  .area-access-card,
  .area-edit-card,
  .area-admin-tools-card,
  .area-pixel-audit-card
) {
  border-color: rgba(18, 143, 135, 0.36) !important;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.12), rgba(255, 250, 240, 0.98) 46%),
    #fffaf0 !important;
  box-shadow: inset 4px 0 0 rgba(18, 143, 135, 0.24);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-summary-list {
  gap: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-summary-list div {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.12rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(18, 143, 135, 0.16);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-summary-list div:first-child {
  padding-top: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-summary-list div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(.area-summary-list dd, .area-pixel-audit-list dd) {
  color: #17212b !important;
  font-size: 0.98rem !important;
  font-weight: 650;
  line-height: 1.28;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-summary-name-value {
  font-weight: 800;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-pixel-audit-list {
  gap: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-header strong,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-participant strong,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-access-row strong,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-reaction-button strong {
  color: #17212b;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(.area-description, .area-access-list > small, .area-reaction-meta, .area-share-feedback, .area-field-limit) {
  color: #5f6b72 !important;
  font-size: 0.82rem !important;
  font-weight: 650;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(.area-role-tag, .area-slot-pill) {
  border-color: rgba(18, 143, 135, 0.35);
  background: #e9f7f3;
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-reaction-button {
  min-height: 42px;
  border-color: rgba(18, 143, 135, 0.3);
  background: #f9fffb;
  color: #17212b;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-reaction-button.is-active {
  border-color: var(--game-accent-border-strong);
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area {
  gap: 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.62rem;
  padding: 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-title {
  gap: 0.32rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-title strong {
  font-size: 1.12rem;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-options-button {
  width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
}

.area-status-pill {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.24rem 0.5rem;
  border: 1px solid rgba(18, 143, 135, 0.34);
  background: #e9f7f3;
  color: #0d716c;
  font-size: 0.82rem;
  font-weight: 850;
}

.area-status-pill.is-finished {
  border-color: rgba(178, 86, 34, 0.34);
  background: #fff0df;
  color: #a24814;
}

.area-sidebar-options-menu {
  display: grid;
  gap: 0.34rem;
  padding: 0.52rem;
  border: 1px solid rgba(18, 143, 135, 0.34);
  background: #f9fffb;
  box-shadow: inset 3px 0 0 rgba(18, 143, 135, 0.24);
}

.area-sidebar-options-header {
  display: grid;
  gap: 0.1rem;
  padding: 0.26rem 0.34rem 0.42rem;
  border-bottom: 1px solid rgba(18, 143, 135, 0.18);
}

.area-sidebar-options-header span {
  color: #0d716c;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.area-sidebar-options-header strong {
  color: #17212b;
  font-size: 0.9rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-sidebar-options-menu .area-context-menu-item {
  min-height: 38px;
  border-color: rgba(18, 143, 135, 0.22) !important;
  border-radius: 0;
  background: #fffaf0 !important;
  color: #17212b !important;
  font-size: 0.86rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-sidebar-options-menu .area-context-menu-item:hover,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-sidebar-options-menu .area-context-menu-item:focus-visible {
  border-color: rgba(18, 143, 135, 0.48) !important;
  background: #dff3ee !important;
  color: #0d716c !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-summary-card {
  display: grid;
  gap: 0.68rem;
}

.area-overview-copy {
  display: grid;
  gap: 0.22rem;
}

.area-overview-label,
.area-metric-card span {
  color: #0d716c;
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-overview-copy .area-description {
  color: #17212b !important;
  font-size: 0.96rem !important;
  font-weight: 620;
  line-height: 1.38;
}

.area-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.48rem;
}

.area-metric-card {
  min-width: 0;
  display: grid;
  gap: 0.18rem;
  padding: 0.48rem;
  border: 1px solid rgba(18, 143, 135, 0.24);
  background: #f9fffb;
}

.area-metric-card strong {
  color: #17212b;
  font-size: 0.94rem;
  font-weight: 780;
  overflow-wrap: anywhere;
}

.area-metric-card small {
  min-width: 0;
  color: #65727a;
  font-size: 0.76rem;
  font-weight: 720;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.area-metric-card.is-finished {
  border-color: rgba(178, 86, 34, 0.34);
  background: #fff0df;
}

.area-metric-card.is-finished span,
.area-metric-card.is-finished strong {
  color: #a24814;
}

.area-metric-card.is-muted {
  border-color: rgba(132, 120, 100, 0.24);
  background: #f6f0e4;
}

.area-metric-card.is-muted span,
.area-metric-card.is-muted strong {
  color: #6d6250;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-pixel-audit-card {
  display: grid;
  gap: 0.58rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-pixel-audit-header {
  padding-bottom: 0.42rem;
  border-bottom: 1px solid rgba(18, 143, 135, 0.18);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-pixel-audit-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-card {
  border-color: rgba(184, 79, 66, 0.42) !important;
  background:
    linear-gradient(90deg, rgba(184, 79, 66, 0.14), rgba(255, 250, 240, 0.98) 48%),
    #fff7f3 !important;
  box-shadow: inset 4px 0 0 rgba(184, 79, 66, 0.32);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-card .coordinate-label,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-card .area-admin-tools-header span {
  color: #a94435 !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-card .area-action-button {
  border-color: rgba(184, 79, 66, 0.34) !important;
  background: #fffaf0 !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-card .area-action-button:hover,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-card .area-action-button:focus-visible,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-card .area-action-button.is-active {
  border-color: rgba(184, 79, 66, 0.56) !important;
  background: #ffe3da !important;
  color: #8f3328 !important;
}

/* Sidebar art-card refresh */
.world-shell.has-shell-sidebar {
  --game-paper: #fffaf0;
  --game-paper-strong: #fffdf7;
  --game-paper-soft: #f8f0df;
  --game-sidebar-outline: rgba(151, 139, 113, 0.34);
}

.world-shell.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(384px, 22vw, 438px);
}

.world-shell.has-shell-sidebar.has-sidebar-collapsed {
  --game-sidebar-width: 60px;
}

.world-shell.has-shell-sidebar .game-sidebar {
  overflow-x: hidden;
  gap: 0.82rem;
  padding: calc(env(safe-area-inset-top, 0px) + 0.82rem) 0.86rem calc(env(safe-area-inset-bottom, 0px) + 0.86rem);
  border-right: 2px solid rgba(18, 143, 135, 0.42);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  background:
    linear-gradient(180deg, rgba(238, 250, 246, 0.88) 0, rgba(255, 250, 240, 0.96) 34%, rgba(248, 240, 223, 0.98) 100%),
    var(--game-paper);
  box-shadow:
    inset -1px 0 0 rgba(255, 255, 255, 0.8),
    5px 0 0 rgba(18, 143, 135, 0.07),
    14px 0 28px rgba(38, 34, 27, 0.08);
  font-size: 1.05rem;
  line-height: 1.42;
}

.world-shell.has-shell-sidebar .game-sidebar::after {
  content: "";
  position: absolute;
  left: 18px;
  bottom: 32px;
  width: min(170px, calc(var(--game-sidebar-width) - 52px));
  height: 76px;
  pointer-events: none;
  opacity: 0.34;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.22) 3px, transparent 3px),
    linear-gradient(180deg, rgba(18, 143, 135, 0.22) 3px, transparent 3px);
  background-size: 18px 18px;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0, #000 22%, transparent 100%);
}

.world-shell.has-shell-sidebar .game-sidebar.is-collapsed::after {
  display: none;
}

.world-shell.has-shell-sidebar .game-sidebar > * {
  position: relative;
  z-index: 1;
}

.world-shell.has-shell-sidebar .game-sidebar-brand {
  min-height: 42px;
  padding: 0 0.12rem 0.7rem;
  border-bottom: 1px dashed rgba(18, 143, 135, 0.22);
}

.world-shell.has-shell-sidebar .game-sidebar-logo-button {
  min-width: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-brand strong {
  color: #16232d;
  font-size: 1.22rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-sidebar-mark {
  width: 24px;
  height: 24px;
  color: var(--game-accent);
}

.world-shell.has-shell-sidebar .game-sidebar-section {
  gap: 0.66rem;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .game-sidebar-section:first-of-type {
  padding: 0.74rem;
  border: 1px solid var(--game-sidebar-outline);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.09), rgba(255, 253, 247, 0.96) 48%),
    var(--game-paper-strong);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    3px 3px 0 rgba(80, 70, 55, 0.08);
}

.world-shell.has-shell-sidebar .game-sidebar-section-head > span,
.world-shell.has-shell-sidebar .game-sidebar-subhead strong {
  color: var(--game-accent-strong);
  font-size: 0.86rem;
  font-weight: 950;
  letter-spacing: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-section-head > span::before,
.world-shell.has-shell-sidebar .game-sidebar-subhead strong::before {
  width: 8px;
  height: 8px;
}

.world-shell.has-shell-sidebar .game-sidebar-icon-button,
.world-shell.has-shell-sidebar .game-sidebar-collapse-button,
.world-shell.has-shell-sidebar .game-sidebar-back {
  width: 34px;
  height: 34px;
  min-height: 34px;
  border-radius: 4px;
  border-color: rgba(18, 143, 135, 0.28) !important;
  background: rgba(255, 253, 247, 0.9) !important;
  box-shadow: 1px 1px 0 rgba(80, 70, 55, 0.08);
}

.world-shell.has-shell-sidebar .game-sidebar-back {
  width: auto;
  padding-inline: 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar-subhead {
  min-height: 42px;
  padding-bottom: 0.62rem;
  border-bottom: 1px dashed rgba(18, 143, 135, 0.22);
}

.world-shell.has-shell-sidebar .game-profile-card {
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 0.7rem;
  align-items: center;
}

.world-shell.has-shell-sidebar .game-profile-avatar {
  width: 58px;
  height: 58px;
  border: 2px solid rgba(18, 143, 135, 0.28);
  border-radius: 7px;
  background: #f4efe4;
  box-shadow: 2px 2px 0 rgba(18, 143, 135, 0.12);
}

.world-shell.has-shell-sidebar .game-profile-copy strong {
  color: #16232d;
  font-size: 1.08rem;
  line-height: 1.14;
}

.world-shell.has-shell-sidebar .game-profile-copy span {
  color: #5f6b72;
  font-size: 0.9rem;
}

.world-shell.has-shell-sidebar .game-profile-coins {
  grid-column: 2 / -1;
  justify-self: start;
  padding: 0.34rem 0.52rem;
  border-radius: 999px;
  border-color: rgba(204, 154, 36, 0.42);
  background: #fff4c9;
  font-size: 0.92rem;
}

.world-shell.has-shell-sidebar .game-level-strip {
  font-size: 0.92rem;
}

.world-shell.has-shell-sidebar .game-level-bar {
  height: 8px;
  border-radius: 999px;
}

.world-shell.has-shell-sidebar .game-badge-row {
  gap: 0.42rem;
}

.world-shell.has-shell-sidebar .game-badge-row span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  padding: 0.28rem 0.46rem;
  border-radius: 6px;
  border-color: rgba(18, 143, 135, 0.22);
  background: rgba(18, 143, 135, 0.08);
  color: var(--game-accent-strong);
  font-size: 0.82rem;
}

.world-shell.has-shell-sidebar .game-badge-row span::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  background: currentColor;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.78);
}

.world-shell.has-shell-sidebar .game-mode-list,
.world-shell.has-shell-sidebar .game-settings-list,
.world-shell.has-shell-sidebar .game-shop-list {
  gap: 0.64rem;
}

.world-shell.has-shell-sidebar .game-mode-button {
  position: relative;
  min-height: 66px;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 0.72rem;
  padding: 0.68rem 2.35rem 0.68rem 0.7rem;
  border-radius: 8px;
  border-color: rgba(151, 139, 113, 0.32) !important;
  background:
    linear-gradient(90deg, rgba(255, 253, 247, 0.98), rgba(255, 250, 240, 0.96)),
    var(--game-paper) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.7),
    3px 3px 0 rgba(80, 70, 55, 0.08) !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button::after {
  content: ">";
  position: absolute;
  right: 0.74rem;
  top: 50%;
  color: currentColor;
  font-size: 1.1rem;
  font-weight: 950;
  transform: translateY(-50%);
  opacity: 0.76;
}

.world-shell.has-shell-sidebar .game-mode-list .game-settings-toggle-button {
  padding-right: 0.7rem;
}

.world-shell.has-shell-sidebar .game-mode-list .game-settings-toggle-button::after {
  content: none;
}

.world-shell.has-shell-sidebar .game-mode-icon {
  width: 46px;
  height: 46px;
  border-radius: 6px;
  border: 1px solid rgba(18, 143, 135, 0.22);
  background:
    linear-gradient(180deg, rgba(223, 243, 238, 0.96), rgba(201, 235, 229, 0.96));
  color: var(--game-accent);
}

.world-shell.has-shell-sidebar .game-mode-button strong {
  color: #16232d;
  font-size: 1.04rem;
  line-height: 1.15;
}

.world-shell.has-shell-sidebar .game-mode-button small {
  color: #5d6871;
  font-size: 0.86rem;
  line-height: 1.24;
}

.world-shell.has-shell-sidebar .game-mode-button em {
  margin-right: 0.86rem;
  border-radius: 4px;
  background: #f0bd34;
}

.world-shell.has-shell-sidebar .game-mode-button:hover,
.world-shell.has-shell-sidebar .game-mode-button:focus-visible {
  border-color: var(--game-accent-border-strong) !important;
  transform: translate(-1px, -1px);
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button {
  border-color: rgba(151, 139, 113, 0.32) !important;
  background:
    linear-gradient(90deg, rgba(255, 253, 247, 0.98), rgba(255, 250, 240, 0.96)),
    var(--game-paper) !important;
  color: #16232d;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    3px 3px 0 rgba(80, 70, 55, 0.08) !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button :is(strong, small),
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button::after,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:first-child :is(strong, small),
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:first-child::after {
  color: inherit !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button small,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button .game-sidebar-coin-detail,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button .game-sidebar-coin-detail span {
  color: #52606b !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button .game-sidebar-coin-detail svg,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button .game-sidebar-coin-detail .game-coin-icon {
  color: #a06f08 !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button .game-mode-icon,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:first-child .game-mode-icon {
  border-color: rgba(18, 143, 135, 0.32);
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:hover,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:focus-visible {
  border-color: rgba(18, 143, 135, 0.62) !important;
  background:
    linear-gradient(90deg, #22bfb0, #159d94),
    var(--game-accent) !important;
  color: #ffffff;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:hover :is(strong, small),
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:focus-visible :is(strong, small),
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:hover::after,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:focus-visible::after,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:hover .game-sidebar-coin-detail,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:focus-visible .game-sidebar-coin-detail,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:hover .game-sidebar-coin-detail span,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:focus-visible .game-sidebar-coin-detail span,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:hover .game-sidebar-coin-detail svg,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:focus-visible .game-sidebar-coin-detail svg,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:hover .game-sidebar-coin-detail .game-coin-icon,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:focus-visible .game-sidebar-coin-detail .game-coin-icon {
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:hover .game-mode-icon,
.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:focus-visible .game-mode-icon {
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.world-shell.has-shell-sidebar .game-mode-list .game-settings-toggle-button:hover .game-settings-switch,
.world-shell.has-shell-sidebar .game-mode-list .game-settings-toggle-button:focus-visible .game-settings-switch {
  border-color: rgba(255, 255, 255, 0.68);
  background: rgba(255, 255, 255, 0.3);
}

.world-shell.has-shell-sidebar .game-mode-list .game-settings-toggle-button:hover .game-settings-switch > span,
.world-shell.has-shell-sidebar .game-mode-list .game-settings-toggle-button:focus-visible .game-settings-switch > span {
  background: #ffffff;
}

.world-shell.has-shell-sidebar .game-mode-list .game-settings-toggle-button:hover .game-settings-switch.is-on > span,
.world-shell.has-shell-sidebar .game-mode-list .game-settings-toggle-button:focus-visible .game-settings-switch.is-on > span {
  background: #0d716c;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area * {
  box-sizing: border-box;
}

.world-shell.has-shell-sidebar .game-sidebar .world-area-panel {
  min-width: 0;
  max-width: 100%;
  padding: 0;
  border-top: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 0.86rem;
  padding: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-header {
  width: 100%;
  min-width: 0;
  padding: 0.78rem;
  border-radius: 8px;
  overflow: visible;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-title {
  min-width: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-title strong {
  max-width: 100%;
  font-size: 1.14rem;
  line-height: 1.18;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-sidebar-options-menu,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(
  .area-summary-card,
  .area-reaction-card,
  .area-share-card,
  .area-access-card,
  .area-edit-card,
  .area-admin-tools-card,
  .area-pixel-audit-card
) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  border-radius: 8px;
  padding: 0.78rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-summary-card {
  gap: 0.74rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-overview-copy {
  min-width: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-overview-copy .area-description,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-description,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(dd, p, strong, small) {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-overview-copy .area-description {
  color: #17212b !important;
  font-size: 1rem !important;
  line-height: 1.45;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-metric-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.54rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-metric-card {
  min-width: 0;
  border-radius: 6px;
  padding: 0.58rem 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-pixel-audit-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.18rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tool-actions {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-card .area-action-button {
  min-width: 0;
  min-height: 48px;
  border-radius: 6px;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-access-header,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-access-row,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-primary-actions,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-inline-actions,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-bottom-actions,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-move-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-invite-row {
  grid-template-columns: minmax(0, 1fr) 46px;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-invite-row input {
  min-width: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-reaction-controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.54rem;
}

@media (max-width: 760px) {
  .world-shell.has-shell-sidebar:not(.has-sidebar-collapsed) {
    --game-sidebar-width: min(94vw, 438px);
  }

  .world-shell.has-shell-sidebar .game-sidebar {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}

/* Full-menu pixel grid and My Areas refresh */
.world-shell.has-shell-sidebar .game-sidebar {
  isolation: isolate;
}

.world-shell.has-shell-sidebar .game-sidebar::after {
  inset: 0;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: auto;
  height: auto;
  opacity: 0.16;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.2) 2px, transparent 2px),
    linear-gradient(180deg, rgba(18, 143, 135, 0.2) 2px, transparent 2px);
  background-position: 14px 14px;
  background-size: 18px 18px;
  -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.24));
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.78), rgba(0, 0, 0, 0.24));
}

.world-shell.has-shell-sidebar .game-sidebar-areas-entry-section {
  padding: 0;
}

.world-shell.has-shell-sidebar .game-area-entry-card {
  position: relative;
  width: 100%;
  min-height: 104px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  grid-template-areas:
    "icon copy count"
    "icon progress progress"
    "meta meta meta";
  align-items: center;
  gap: 0.52rem 0.72rem;
  overflow: hidden;
  padding: 0.78rem 2.2rem 0.72rem 0.78rem;
  border: 1px solid rgba(18, 143, 135, 0.38);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.18), rgba(255, 253, 247, 0.98) 45%, rgba(255, 250, 240, 0.94)),
    var(--game-paper-strong);
  color: #16232d;
  cursor: pointer;
  font: inherit;
  text-align: left;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    3px 3px 0 rgba(18, 143, 135, 0.12);
}

.world-shell.has-shell-sidebar .game-area-entry-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.18;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.24) 2px, transparent 2px),
    linear-gradient(180deg, rgba(18, 143, 135, 0.24) 2px, transparent 2px);
  background-size: 16px 16px;
}

.world-shell.has-shell-sidebar .game-area-entry-card::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 0.82rem;
  color: var(--game-accent-strong);
  font-size: 1.12rem;
  font-weight: 950;
  transform: translateY(-50%);
}

.world-shell.has-shell-sidebar .game-area-entry-card > * {
  position: relative;
  z-index: 1;
}

.world-shell.has-shell-sidebar .game-area-entry-card:hover,
.world-shell.has-shell-sidebar .game-area-entry-card:focus-visible {
  border-color: rgba(18, 143, 135, 0.62);
  background:
    linear-gradient(90deg, #22bfb0, #159d94),
    var(--game-accent);
  color: #ffffff;
  outline: none;
  transform: translate(-1px, -1px);
}

.world-shell.has-shell-sidebar .game-area-entry-card:hover :is(strong, small, span),
.world-shell.has-shell-sidebar .game-area-entry-card:focus-visible :is(strong, small, span),
.world-shell.has-shell-sidebar .game-area-entry-card:hover::after,
.world-shell.has-shell-sidebar .game-area-entry-card:focus-visible::after {
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .game-area-entry-card:hover .game-area-entry-icon,
.world-shell.has-shell-sidebar .game-area-entry-card:focus-visible .game-area-entry-icon {
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.world-shell.has-shell-sidebar .game-area-entry-icon {
  grid-area: icon;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(18, 143, 135, 0.32);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(223, 243, 238, 0.98), rgba(197, 233, 227, 0.96));
  color: var(--game-accent);
}

.world-shell.has-shell-sidebar .game-area-entry-icon svg {
  width: 24px;
  height: 24px;
}

.world-shell.has-shell-sidebar .game-area-entry-icon .tool-mini-icon,
.world-shell.has-shell-sidebar .game-area-entry-icon .game-image-icon {
  width: 30px;
  height: 30px;
}

.world-shell.has-shell-sidebar .game-area-entry-copy {
  grid-area: copy;
  min-width: 0;
  display: grid;
  gap: 0.16rem;
}

.world-shell.has-shell-sidebar .game-area-entry-copy strong {
  color: #16232d;
  font-size: 1.12rem;
  font-weight: 950;
  line-height: 1.14;
}

.world-shell.has-shell-sidebar .game-area-entry-copy small,
.world-shell.has-shell-sidebar .game-area-entry-meta {
  color: #5d6871;
  font-size: 0.86rem;
  font-weight: 800;
}

.world-shell.has-shell-sidebar .game-area-entry-count {
  grid-area: count;
  min-width: 48px;
  display: grid;
  place-items: center;
  gap: 0.04rem;
  margin-right: 0.54rem;
  padding: 0.36rem 0.42rem;
  border: 1px solid rgba(219, 164, 36, 0.38);
  border-radius: 8px;
  background: #fff0ba;
  color: #7a5510;
}

.world-shell.has-shell-sidebar .game-area-entry-count strong {
  font-size: 1.02rem;
  line-height: 1;
}

.world-shell.has-shell-sidebar .game-area-entry-count small {
  font-size: 0.68rem;
  font-weight: 850;
  line-height: 1;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-area-entry-progress {
  grid-area: progress;
  height: 8px;
  overflow: hidden;
  border: 1px solid rgba(18, 143, 135, 0.24);
  border-radius: 999px;
  background: rgba(18, 143, 135, 0.1);
}

.world-shell.has-shell-sidebar .game-area-entry-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--game-accent);
}

.world-shell.has-shell-sidebar .game-area-entry-meta {
  grid-area: meta;
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-area-entry-meta::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  background: currentColor;
}

.world-shell.has-shell-sidebar .game-sidebar-areas-section {
  gap: 0.78rem;
}

.world-shell.has-shell-sidebar .game-sidebar-areas-section > .game-sidebar-small-button {
  justify-self: start;
  min-height: 36px;
  border-radius: 6px;
}

.world-shell.has-shell-sidebar .game-sidebar-area-controls {
  gap: 0.58rem;
  padding: 0.68rem;
  border: 1px solid rgba(18, 143, 135, 0.26);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.08), rgba(255, 253, 247, 0.96) 58%),
    var(--game-paper-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .owned-area-search {
  min-height: 42px;
  border-radius: 6px;
  font-size: 0.92rem;
}

.world-shell.has-shell-sidebar .game-sidebar .owned-area-filter-row {
  gap: 0.38rem;
}

.world-shell.has-shell-sidebar .game-sidebar .owned-area-filter-button {
  min-height: 34px;
  border-radius: 6px;
  font-size: 0.74rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-list {
  gap: 0.78rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-section {
  gap: 0.52rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-section-head {
  padding: 0.1rem 0 0.34rem;
  border-top: 0;
  border-bottom: 1px dashed rgba(18, 143, 135, 0.24);
}

.world-shell.has-shell-sidebar .game-sidebar-area-section-head strong {
  color: var(--game-accent-strong);
  font-size: 0.9rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-section-head span {
  color: #5d6871;
  font-size: 0.8rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item {
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 0.62rem;
  align-items: start;
  padding: 0.66rem;
  border-color: rgba(18, 143, 135, 0.28) !important;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.1), rgba(255, 250, 240, 0.98) 48%),
    var(--game-paper) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.7),
    2px 2px 0 rgba(80, 70, 55, 0.07);
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  grid-row: span 2;
  width: 104px;
  height: 80px;
  border-radius: 7px;
  border-color: rgba(18, 143, 135, 0.28);
}

.world-shell.has-shell-sidebar .game-sidebar-area-main {
  gap: 0.24rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-title-row {
  gap: 0.34rem;
  align-items: start;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main strong {
  color: #16232d;
  font-size: 0.98rem;
  line-height: 1.18;
  white-space: normal;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main span,
.world-shell.has-shell-sidebar .game-sidebar-area-main small {
  font-size: 0.82rem !important;
  line-height: 1.34;
  white-space: normal;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-actions {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) 40px;
  gap: 0.42rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-jump,
.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-options-button {
  min-height: 40px;
  border-radius: 6px;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-inline-panel {
  grid-column: 1 / -1;
  border-radius: 8px;
}

/* Profile, My Areas list and menu polish */
.world-shell.has-shell-sidebar .game-sidebar {
  padding-inline: 0.72rem;
}

.world-shell.has-shell-sidebar .game-profile-card {
  grid-template-columns: 58px minmax(0, 1fr);
  grid-template-areas:
    "avatar copy"
    "wallet wallet";
}

.world-shell.has-shell-sidebar .game-profile-avatar {
  grid-area: avatar;
}

.world-shell.has-shell-sidebar .game-profile-copy {
  grid-area: copy;
}

.world-shell.has-shell-sidebar .game-profile-name-row {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.36rem;
}

.world-shell.has-shell-sidebar .game-profile-name-row strong {
  min-width: 0;
  overflow: hidden;
  color: #16232d;
  font-size: 1.1rem;
  font-weight: 950;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-profile-role-tag {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0.16rem 0.42rem;
  border: 1px solid rgba(18, 143, 135, 0.34);
  border-radius: 999px;
  background: #dff3ee;
  color: var(--game-accent-strong);
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-profile-coins {
  grid-area: wallet;
  grid-column: 1 / -1;
  width: 100%;
  justify-content: flex-start;
  gap: 0.36rem;
  padding: 0.46rem 0.58rem;
  border-radius: 8px;
  border-color: rgba(204, 154, 36, 0.44);
  background:
    linear-gradient(90deg, rgba(255, 240, 186, 0.96), rgba(255, 250, 224, 0.94)),
    #fff0ba;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58);
}

.world-shell.has-shell-sidebar .game-profile-coins::before {
  content: "Coins";
  margin-right: auto;
  color: #7a5510;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-profile-stats {
  display: grid;
  gap: 0.42rem;
}

.world-shell.has-shell-sidebar .game-profile-stat-card {
  min-width: 0;
  min-height: 42px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.46rem;
  padding: 0.42rem 0.5rem;
  border: 1px solid rgba(18, 143, 135, 0.24);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.08), rgba(255, 253, 247, 0.94)),
    var(--game-paper-strong);
}

.world-shell.has-shell-sidebar .game-profile-stat-card svg {
  width: 18px;
  height: 18px;
  color: var(--game-accent);
}

.world-shell.has-shell-sidebar .game-profile-stat-card span {
  min-width: 0;
  color: var(--game-accent-strong);
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1.1;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-profile-stat-card strong {
  color: #16232d;
  font-size: 0.9rem;
  font-weight: 950;
  line-height: 1.1;
  text-align: right;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-profile-stat-card.is-timer {
  border-color: rgba(204, 154, 36, 0.32);
  background:
    linear-gradient(90deg, rgba(255, 240, 186, 0.5), rgba(255, 253, 247, 0.95)),
    var(--game-paper-strong);
}

.world-shell.has-shell-sidebar .game-profile-stat-card.is-timer svg,
.world-shell.has-shell-sidebar .game-profile-stat-card.is-timer span {
  color: #8a6412;
}

.world-shell.has-shell-sidebar .game-sidebar-areas-section,
.world-shell.has-shell-sidebar .game-sidebar-area-controls,
.world-shell.has-shell-sidebar .game-sidebar-area-list,
.world-shell.has-shell-sidebar .game-sidebar-area-section,
.world-shell.has-shell-sidebar .game-sidebar-area-item {
  width: 100%;
  min-width: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-areas-section {
  gap: 0.84rem;
  width: calc(100% + 0.64rem);
  margin-inline: -0.32rem;
  padding-inline: 0.38rem !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item {
  grid-template-columns: minmax(126px, 39%) minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 0.54rem 0.62rem;
  align-items: stretch;
  padding: 0.56rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 100%;
  height: 118px;
  align-self: stretch;
  border-radius: 8px;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-actions {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 0.44rem;
  height: 44px;
  align-items: stretch;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-jump,
.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-options-button {
  height: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  margin: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-options-button {
  width: 42px;
  padding: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .area-role-tag {
  border-color: rgba(18, 143, 135, 0.42);
  background: #dff3ee;
  color: var(--game-accent-strong);
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .area-role-tag.is-owner {
  border-color: rgba(204, 154, 36, 0.4);
  background: #fff0ba;
  color: #7a5510;
}

/* My Areas refreshed artwork rows */
.world-shell.has-shell-sidebar .game-sidebar-areas-section {
  width: calc(100% + 0.4rem);
  margin-inline: -0.2rem;
  padding-inline: 0.5rem !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-controls {
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item {
  grid-template-columns: 92px minmax(0, 1fr) 76px;
  grid-template-rows: auto;
  gap: 0.52rem;
  align-items: stretch;
  min-height: 112px;
  padding: 0.58rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  grid-column: 1;
  grid-row: 1;
  width: 92px;
  height: 92px;
  align-self: center;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.14) 1px, transparent 1px),
    linear-gradient(0deg, rgba(18, 143, 135, 0.14) 1px, transparent 1px),
    #f4fbf7;
  background-size: 10px 10px;
}

.world-shell.theme-dark.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  background:
    linear-gradient(90deg, rgba(136, 163, 174, 0.12) 1px, transparent 1px),
    linear-gradient(0deg, rgba(136, 163, 174, 0.12) 1px, transparent 1px),
    #182028;
  background-size: 10px 10px;
}

.world-shell.theme-light.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.13) 1px, transparent 1px),
    linear-gradient(0deg, rgba(18, 143, 135, 0.13) 1px, transparent 1px),
    #f8fffb;
  background-size: 10px 10px;
}

.world-shell.theme-retro.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.12) 1px, transparent 1px),
    linear-gradient(0deg, rgba(18, 143, 135, 0.12) 1px, transparent 1px),
    #f8f0df;
  background-size: 10px 10px;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  gap: 0.32rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.28rem;
  align-items: start;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-title-row .area-role-tag {
  justify-self: start;
  max-width: 100%;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-actions {
  grid-column: 3;
  grid-row: 1;
  align-self: stretch;
  display: grid !important;
  grid-template-columns: 1fr;
  grid-template-rows: minmax(42px, 1fr) 42px;
  gap: 0.44rem;
  width: 100%;
  height: auto;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-jump,
.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-options-button {
  width: 100%;
  height: 100%;
  min-height: 42px;
  display: grid;
  place-items: center;
  margin: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-options-button {
  padding: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .owned-area-filter-button {
  min-height: 36px;
  border-radius: 6px;
  border-color: rgba(18, 143, 135, 0.32);
  background: rgba(255, 253, 247, 0.9);
  color: var(--game-accent-strong);
  font-size: 0.8rem;
  letter-spacing: 0;
  text-transform: none;
}

.world-shell.has-shell-sidebar .game-sidebar .owned-area-filter-button.is-active,
.world-shell.has-shell-sidebar .game-sidebar .owned-area-filter-button:hover,
.world-shell.has-shell-sidebar .game-sidebar .owned-area-filter-button:focus-visible {
  border-color: rgba(18, 143, 135, 0.52);
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-sidebar-area-item {
  grid-template-columns: 86px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 0.5rem 0.62rem;
  align-items: center;
  min-height: 108px;
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 86px;
  height: 86px;
  align-self: center;
  border-radius: 8px;
  background: #f8fffb;
  background-size: auto;
}

.world-shell.theme-dark.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  background: #182028;
}

.world-shell.theme-light.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  background: #f8fffb;
}

.world-shell.theme-retro.has-shell-sidebar .game-sidebar-area-item .owned-area-preview {
  background: #fffaf0;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview::before {
  display: none;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview,
.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview * {
  image-rendering: crisp-edges !important;
  image-rendering: pixelated !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-main {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  gap: 0.28rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-title-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem;
  align-items: center;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .area-role-tag,
.world-shell.has-shell-sidebar .game-sidebar-area-item .area-role-tag.is-owner {
  max-width: 100%;
  border-color: rgba(18, 143, 135, 0.42);
  border-radius: 999px;
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
  box-shadow: none;
  font-size: 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-actions {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 42px;
  grid-template-rows: 40px;
  gap: 0.42rem;
  width: 100%;
  height: 40px;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-jump,
.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-options-button {
  width: 100%;
  height: 40px;
  min-height: 40px;
  border-color: rgba(18, 143, 135, 0.38) !important;
  border-radius: 6px;
  background: var(--game-accent-soft) !important;
  color: var(--game-accent-strong) !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-options-button {
  width: 42px;
  padding: 0;
}

.world-shell.has-shell-sidebar .area-context-menu {
  width: 248px;
  display: grid;
  gap: 0.48rem;
  padding: 0.62rem;
  border: 1px solid rgba(18, 143, 135, 0.38);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.1), rgba(255, 253, 247, 0.98) 42%, rgba(255, 250, 240, 0.98)),
    var(--game-paper-strong);
  color: #16232d;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.7),
    0 16px 32px rgba(26, 35, 45, 0.18);
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}

.world-shell.has-shell-sidebar .area-context-menu-header {
  gap: 0.16rem;
  padding: 0.36rem 0.42rem 0.48rem;
  border-bottom: 1px dashed rgba(18, 143, 135, 0.24);
}

.world-shell.has-shell-sidebar .area-context-menu-header span {
  color: var(--game-accent-strong);
  font-size: 0.78rem;
  letter-spacing: 0;
}

.world-shell.has-shell-sidebar .area-context-menu-header strong {
  color: #16232d;
  font-size: 0.96rem;
}

.world-shell.has-shell-sidebar .area-context-menu-item {
  min-height: 42px;
  padding: 0.48rem 0.58rem;
  border: 1px solid rgba(18, 143, 135, 0.2);
  border-radius: 6px;
  background: rgba(255, 253, 247, 0.9);
  color: #16232d;
  font-size: 0.9rem;
  font-weight: 900;
}

.world-shell.has-shell-sidebar .area-context-menu-item:hover,
.world-shell.has-shell-sidebar .area-context-menu-item:focus-visible {
  border-color: rgba(18, 143, 135, 0.48);
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
  outline: none;
}

/* Selected Area compact mode */
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area {
  gap: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-header {
  align-items: start;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.14), rgba(255, 253, 247, 0.96) 54%),
    var(--game-paper-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-title {
  min-width: 0;
  gap: 0.42rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-panel-title strong {
  font-size: 1.12rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-status-pill {
  border-radius: 999px;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-quick-actions {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-quick-action-button {
  min-height: 44px;
  border-color: rgba(18, 143, 135, 0.42);
  border-radius: 8px;
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.58),
    2px 2px 0 rgba(80, 70, 55, 0.08);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-quick-action-button span {
  font-size: 0.86rem;
  line-height: 1.05;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-status-pill.is-finished,
.area-status-pill.is-finished {
  border-color: rgba(28, 142, 78, 0.38);
  background: #e3f7e9;
  color: #176f3f;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-compact-reactions {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.34rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-compact-reactions .area-reaction-button {
  flex: 0 0 auto;
  min-width: 54px;
  height: 32px;
  min-height: 32px;
  border-radius: 8px;
  padding: 0.18rem 0.48rem;
  border-color: rgba(18, 143, 135, 0.3);
  background: rgba(255, 253, 247, 0.92);
  box-shadow: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-compact-reactions .area-reaction-button svg {
  width: 16px;
  height: 16px;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-collapsible-card {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(18, 143, 135, 0.32);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.08), rgba(255, 253, 247, 0.96) 54%),
    var(--game-paper-strong);
  overflow: hidden;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-collapsible-card summary {
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.58rem;
  padding: 0.64rem 0.72rem;
  color: var(--game-accent-strong);
  cursor: pointer;
  font-weight: 950;
  list-style: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-collapsible-card summary::-webkit-details-marker {
  display: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-collapsible-card summary span {
  min-width: 0;
  font-size: 0.86rem;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-collapsible-card summary strong {
  min-width: 0;
  color: #16232d;
  font-size: 0.9rem;
  text-align: right;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-more-info-card {
  border: 0;
  background: transparent;
  overflow: visible;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-more-info-card summary {
  min-height: 44px;
  grid-template-columns: minmax(0, 1fr) auto 28px;
  border: 1px solid rgba(18, 143, 135, 0.36);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(18, 143, 135, 0.16), rgba(255, 253, 247, 0.98) 52%),
    var(--game-paper-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-more-info-card .area-more-info-caret {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(18, 143, 135, 0.34);
  border-radius: 6px;
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
  font-size: 1.02rem;
  font-weight: 950;
  line-height: 1;
  text-transform: none;
  transition: transform 120ms ease;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-more-info-card[open] .area-more-info-caret {
  transform: rotate(45deg);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-more-info-card[open] summary {
  border-bottom-color: rgba(18, 143, 135, 0.18);
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-more-info-card .area-collapsible-content {
  padding: 0.62rem;
  border: 1px solid rgba(18, 143, 135, 0.3);
  border-top: 0;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.07), rgba(255, 253, 247, 0.96) 54%),
    var(--game-paper-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-open-card-header {
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.58rem;
  padding: 0.64rem 0.72rem;
  border-bottom: 1px dashed rgba(18, 143, 135, 0.24);
  color: var(--game-accent-strong);
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-open-card-header span {
  min-width: 0;
  font-size: 0.86rem;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-open-card-header strong {
  min-width: 0;
  color: #16232d;
  font-size: 0.9rem;
  text-align: right;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-collapsible-content {
  display: grid;
  gap: 0.62rem;
  padding: 0 0.68rem 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-management-card.is-open .area-collapsible-content {
  padding-top: 0.68rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-collapsible-content > :is(
  .area-fact-list,
  .area-summary-card,
  .area-pixel-audit-card,
  .area-admin-tools-card,
  .area-edit-card,
  .area-access-card
) {
  border-radius: 7px;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-fact-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(18, 143, 135, 0.28);
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.08), rgba(255, 253, 247, 0.96) 54%),
    var(--game-paper-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-fact-row {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 0.64rem;
  align-items: start;
  min-height: 38px;
  padding: 0.5rem 0.56rem;
  border-bottom: 1px dashed rgba(18, 143, 135, 0.18);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-fact-row:last-child {
  border-bottom: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-fact-row dt {
  color: var(--game-accent-strong);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-fact-row dd {
  min-width: 0;
  margin: 0;
  color: #16232d;
  font-size: 0.9rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-fact-row.is-finished {
  background: rgba(227, 247, 233, 0.62);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-fact-row.is-finished dd {
  color: #176f3f;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-metric-card.is-finished {
  border-color: rgba(28, 142, 78, 0.34);
  background: #eaf8ee;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-metric-card.is-finished span,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-metric-card.is-finished strong {
  color: #176f3f;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(
  .area-action-button,
  .area-quick-action-button,
  .area-request-toggle,
  .area-add-player-button,
  .area-player-options-button,
  .area-options-button
) {
  border-color: rgba(18, 143, 135, 0.42) !important;
  background: var(--game-accent-soft) !important;
  color: var(--game-accent-strong) !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(
  .area-action-button,
  .area-quick-action-button,
  .area-request-toggle,
  .area-add-player-button,
  .area-player-options-button,
  .area-options-button
):not(:disabled):hover,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(
  .area-action-button,
  .area-quick-action-button,
  .area-request-toggle,
  .area-add-player-button,
  .area-player-options-button,
  .area-options-button
):not(:disabled):focus-visible {
  border-color: rgba(18, 143, 135, 0.6) !important;
  background: #c9eee8 !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(button:disabled, .area-action-button:disabled) {
  opacity: 0.5;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-finish-button {
  border-color: rgba(184, 79, 66, 0.44) !important;
  background: #ffe3da !important;
  color: #8f3328 !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-summary-card {
  gap: 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-summary-top {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 78px;
  gap: 0.72rem;
  align-items: start;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-title-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 0.5rem;
  align-items: start;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-title {
  min-width: 0;
  color: #16232d;
  font-size: 1.1rem;
  font-weight: 950;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-status-row {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.34rem;
  align-items: center;
  margin-top: 0.16rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-status-pill.is-role {
  border-color: rgba(49, 93, 140, 0.32);
  background: #e7eff8;
  color: #315d8c;
}

.selected-area-artwork-preview {
  position: relative;
  width: 78px;
  max-width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid rgba(18, 143, 135, 0.28);
  border-radius: 7px;
  background:
    linear-gradient(rgba(18, 143, 135, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 143, 135, 0.08) 1px, transparent 1px),
    #f8efdf;
  background-size: 8px 8px;
  box-shadow: inset 0 0 0 3px rgba(255, 253, 247, 0.68);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 0.74rem;
  align-items: center;
  padding: 0.72rem;
  border: 1px solid rgba(18, 143, 135, 0.26);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.08), rgba(255, 253, 247, 0.96) 54%),
    var(--game-paper-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-ring {
  width: 68px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, var(--game-paper-strong) 0 52%, transparent 53%),
    conic-gradient(var(--game-accent-strong) 0 var(--area-progress, 0%), rgba(18, 143, 135, 0.13) var(--area-progress, 0%) 100%);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-ring strong {
  color: var(--game-accent-strong);
  font-size: 0.95rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-copy {
  min-width: 0;
  display: grid;
  gap: 0.14rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-copy strong {
  min-width: 0;
  color: #16232d;
  font-size: 1.05rem;
  font-weight: 950;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-copy small {
  min-width: 0;
  color: #5f6b72;
  font-size: 0.76rem;
  font-weight: 720;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.32rem;
  padding: 0.24rem;
  border: 1px solid rgba(18, 143, 135, 0.2);
  border-radius: 8px;
  background: rgba(244, 232, 210, 0.72);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-button {
  min-width: 0;
  min-height: 36px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #5f6b72;
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-button.is-active {
  border-color: rgba(18, 143, 135, 0.3);
  background: var(--game-paper-strong);
  color: var(--game-accent-strong);
  box-shadow: 1px 1px 0 rgba(80, 70, 55, 0.08);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-button:not(.is-active):hover,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-button:not(.is-active):focus-visible {
  border-color: rgba(18, 143, 135, 0.24);
  background: rgba(255, 253, 247, 0.64);
  color: var(--game-accent-strong);
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-panel {
  width: 100%;
  min-width: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-overview-tab-panel {
  display: grid;
  gap: 0.62rem;
  padding: 0.62rem;
  border: 1px solid rgba(18, 143, 135, 0.3);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(18, 143, 135, 0.07), rgba(255, 253, 247, 0.96) 54%),
    var(--game-paper-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-fact-card {
  min-width: 0;
  min-height: 82px;
  display: grid;
  align-content: start;
  gap: 0.18rem;
  padding: 0.58rem;
  border: 1px solid rgba(18, 143, 135, 0.22);
  border-radius: 7px;
  background: rgba(255, 253, 247, 0.86);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-fact-card span {
  min-width: 0;
  color: var(--game-accent-strong);
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-fact-card strong {
  min-width: 0;
  color: #16232d;
  font-size: 0.98rem;
  font-weight: 950;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-fact-card small {
  min-width: 0;
  color: #5f6b72;
  font-size: 0.72rem;
  font-weight: 720;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-fact-card.is-finished {
  border-color: rgba(28, 142, 78, 0.34);
  background: #eaf8ee;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-launch-card small,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-empty-card small {
  min-width: 0;
  color: #5f6b72;
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-launch-card,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-empty-card {
  display: grid;
  gap: 0.62rem;
  padding: 0.62rem;
  border: 1px solid rgba(18, 143, 135, 0.24);
  border-radius: 7px;
  background: rgba(255, 253, 247, 0.86);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-launch-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-launch-card div,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-empty-card {
  min-width: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-launch-card strong,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-empty-card strong {
  display: block;
  margin-top: 0.12rem;
  color: #16232d;
  font-size: 0.94rem;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .area-context-menu-item.is-danger {
  border-color: rgba(184, 79, 66, 0.28);
  color: #8f3328;
}

.world-shell.has-shell-sidebar .area-context-menu-item.is-danger:hover,
.world-shell.has-shell-sidebar .area-context-menu-item.is-danger:focus-visible {
  border-color: rgba(184, 79, 66, 0.56);
  background: #ffe3da;
  color: #8f3328;
}

/* Paper desk canvas */
.world-shell.has-shell-sidebar {
  --paper-canvas: #fffaf0;
  --paper-canvas-soft: #f8f0df;
  --paper-grid-line: rgba(118, 98, 67, 0.055);
  --paper-edge: rgba(96, 75, 49, 0.38);
  --desk-shadow: rgba(41, 27, 14, 0.32);
  --world-outside-shade: rgba(255, 250, 240, 0.42);
  --world-outside-hatch: rgba(118, 98, 67, 0.045);
  --world-outside-pattern-base: rgba(255, 250, 240, 0.12);
  --viewport-grid: rgba(118, 98, 67, 0.075);
  --viewport-major-grid: rgba(118, 98, 67, 0.05);
  background:
    radial-gradient(circle at 18% 12%, rgba(255, 244, 219, 0.08), transparent 28%),
    linear-gradient(90deg, rgba(255, 244, 219, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(84, 55, 32, 0.98), rgba(45, 30, 19, 0.98)),
    #3a2618;
  background-size: auto, 128px 100%, auto, auto;
}

.world-shell.has-shell-sidebar .world-viewport {
  box-sizing: border-box;
  width: calc(100% - var(--game-sidebar-width));
  height: 100vh;
  min-height: 100vh;
  margin: 0 0 0 var(--game-sidebar-width);
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 28% 18%, rgba(255, 255, 255, 0.72), transparent 32%),
    radial-gradient(circle at 86% 78%, rgba(198, 175, 132, 0.14), transparent 30%),
    linear-gradient(180deg, var(--paper-canvas), var(--paper-canvas-soft));
  background-position: 0 0, 0 0, 0 0;
  background-size: auto, auto, auto;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .world-viewport::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 59;
  height: 12px;
  pointer-events: none;
  background:
    repeating-linear-gradient(90deg, transparent 0 13px, rgba(96, 75, 49, 0.18) 13px 14px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.62), rgba(218, 200, 166, 0.18));
  border-bottom: 1px solid rgba(96, 75, 49, 0.13);
  opacity: 0.68;
}

.world-shell.has-shell-sidebar .world-pixel-grid {
  display: none !important;
}

@supports (height: 100dvh) {
  .world-shell.has-shell-sidebar .world-viewport {
    height: 100dvh;
    min-height: 100dvh;
  }
}

.world-shell.has-shell-sidebar.has-sidebar-undocked .world-viewport,
.world-shell.has-shell-sidebar.has-sidebar-undocked.has-sidebar-collapsed .world-viewport {
  width: 100%;
  margin: 0;
}

.world-shell.has-shell-sidebar.has-sidebar-right:not(.has-sidebar-undocked) .world-viewport {
  margin: 0 var(--game-sidebar-width) 0 0;
}

.world-shell.has-shell-sidebar .world-backdrop-glow {
  opacity: 0.32;
}

.world-finished-postit {
  position: absolute;
  right: clamp(14px, 1.8vw, 26px);
  bottom: clamp(14px, 1.8vw, 24px);
  z-index: 58;
  width: clamp(96px, 7.2vw, 128px);
  display: grid;
  gap: 0.22rem;
  padding: 0.42rem;
  border: 1px solid rgba(174, 133, 36, 0.26);
  border-radius: 4px 4px 8px 4px;
  background:
    linear-gradient(135deg, rgba(255, 246, 160, 0.96), rgba(255, 222, 92, 0.96)),
    #ffe66f;
  color: #5e4310;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transform: rotate(-2deg);
  transform-origin: center;
  box-shadow:
    3px 5px 10px rgba(64, 43, 18, 0.18),
    inset 0 0 0 1px rgba(255, 255, 255, 0.42);
}

.world-finished-postit::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  width: 42px;
  height: 12px;
  border: 1px solid rgba(18, 143, 135, 0.16);
  background: rgba(67, 181, 163, 0.56);
  transform: translateX(-50%) rotate(1deg);
  box-shadow: 0 1px 2px rgba(64, 43, 18, 0.08);
}

.world-finished-postit:hover,
.world-finished-postit:focus-visible {
  outline: none;
  transform: rotate(-1deg) translateY(-1px);
}

.world-finished-postit .owned-area-preview {
  width: 100%;
  height: clamp(58px, 4.8vw, 76px);
  border-color: rgba(94, 67, 16, 0.26);
  border-radius: 3px;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none;
}

.world-finished-postit .owned-area-preview.is-artwork-only {
  border-color: rgba(94, 67, 16, 0.18);
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}

.world-finished-postit .owned-area-preview.is-artwork-only .owned-area-preview-tiles,
.world-finished-postit .owned-area-preview.is-artwork-only img {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}

.world-finished-postit .owned-area-preview-progress {
  display: none;
}

.world-finished-postit > span {
  min-width: 0;
  overflow: hidden;
  color: #5e4310;
  font-size: 0.64rem;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .world-shell.has-shell-sidebar .world-viewport {
    width: calc(100% - var(--game-sidebar-width) - 8px);
    height: calc(100vh - 8px);
    min-height: calc(100vh - 8px);
    margin: 4px 4px 4px calc(var(--game-sidebar-width) + 4px);
    border-radius: 8px;
  }

  .world-shell.has-shell-sidebar.has-sidebar-undocked .world-viewport,
  .world-shell.has-shell-sidebar.has-sidebar-undocked.has-sidebar-collapsed .world-viewport {
    width: calc(100% - 8px);
    margin: 4px;
  }

  .world-shell.has-shell-sidebar.has-sidebar-right:not(.has-sidebar-undocked) .world-viewport {
    margin: 4px calc(var(--game-sidebar-width) + 4px) 4px 4px;
  }

  .world-finished-postit {
    display: none;
  }
}

/* Paper theme cleanup: keep turquoise as an accent, not as a surface wash. */
.world-shell.has-shell-sidebar {
  --game-paper: #fffaf0;
  --game-paper-strong: #fffdf7;
  --game-paper-soft: #f6eedf;
  --paper-canvas: #fffaf0;
  --paper-canvas-soft: #fffaf0;
  --paper-grid-line: rgba(118, 98, 67, 0.08);
  --world-outside-hatch: rgba(118, 98, 67, 0.045);
  --viewport-grid: rgba(118, 98, 67, 0.075);
  --viewport-major-grid: rgba(118, 98, 67, 0.05);
}

.world-shell.has-shell-sidebar .world-viewport {
  background: var(--paper-canvas) !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar {
  border-right-color: rgba(84, 58, 34, 0.5);
  background-color: var(--game-paper) !important;
  background-image:
    linear-gradient(rgba(118, 98, 67, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px) !important;
  background-size: 18px 18px !important;
  box-shadow:
    inset -1px 0 0 rgba(255, 255, 255, 0.72),
    4px 0 0 rgba(73, 49, 29, 0.22),
    14px 0 28px rgba(38, 34, 27, 0.16);
}

.world-shell.has-shell-sidebar .game-sidebar-brand {
  position: relative;
}

.world-shell.has-shell-sidebar .game-sidebar-brand::before {
  content: "";
  position: absolute;
  top: -0.48rem;
  left: 50%;
  width: 36px;
  height: 6px;
  pointer-events: none;
  border: 1px solid rgba(84, 58, 34, 0.22);
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(246, 241, 229, 0.96), rgba(190, 176, 150, 0.9));
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6),
    0 2px 4px rgba(42, 28, 18, 0.14);
  opacity: 0.72;
  transform: translateX(-50%);
}

.world-shell.has-shell-sidebar .game-sidebar::after {
  background:
    linear-gradient(90deg, rgba(118, 98, 67, 0.2) 3px, transparent 3px),
    linear-gradient(180deg, rgba(118, 98, 67, 0.18) 3px, transparent 3px);
}

.world-shell.has-shell-sidebar :is(
  .game-sidebar-section:first-of-type,
  .game-mode-button,
  .game-mode-list .game-mode-button,
  .game-area-entry-card,
  .game-sidebar-area-controls,
  .game-sidebar-area-item,
  .area-context-menu,
  .game-sidebar .game-sidebar-selected-area .area-panel-header,
  .game-sidebar .game-sidebar-selected-area .area-collapsible-card,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card summary,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card .area-collapsible-content,
  .game-sidebar .game-sidebar-selected-area .area-fact-list
) {
  background: var(--game-paper-strong) !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar :is(
  .game-badge-row span,
  .game-area-entry-progress,
  .game-sidebar .game-sidebar-selected-area .area-more-info-caret,
  .game-sidebar .game-sidebar-selected-area .area-reaction-button,
  .game-sidebar .game-sidebar-selected-area .area-quick-action-button,
  .game-sidebar .game-sidebar-selected-area .area-action-button,
  .game-sidebar .game-sidebar-selected-area .area-request-toggle,
  .game-sidebar .game-sidebar-selected-area .area-add-player-button,
  .game-sidebar .game-sidebar-selected-area .area-player-options-button,
  .game-sidebar .game-sidebar-selected-area .area-options-button
) {
  background: var(--game-paper-soft) !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar :is(
  .game-mode-button,
  .game-area-entry-card,
  .game-sidebar-area-item,
  .area-context-menu,
  .game-sidebar .game-sidebar-selected-area .area-collapsible-card,
  .game-sidebar .game-sidebar-selected-area .area-fact-list
) {
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.68),
    3px 3px 0 rgba(80, 70, 55, 0.08) !important;
}

.world-shell.has-shell-sidebar :is(.game-mode-button, .game-area-entry-card):hover,
.world-shell.has-shell-sidebar :is(.game-mode-button, .game-area-entry-card):focus-visible {
  background: var(--game-accent) !important;
  background-image: none !important;
  color: #ffffff;
}

.world-shell.has-shell-sidebar :is(.game-mode-button, .game-area-entry-card):hover :is(strong, small, span, svg),
.world-shell.has-shell-sidebar :is(.game-mode-button, .game-area-entry-card):focus-visible :is(strong, small, span, svg),
.world-shell.has-shell-sidebar :is(.game-mode-button, .game-area-entry-card):hover::after,
.world-shell.has-shell-sidebar :is(.game-mode-button, .game-area-entry-card):focus-visible::after {
  color: #ffffff !important;
}

.world-finished-postit::before {
  border-color: rgba(104, 86, 59, 0.16);
  background: rgba(174, 151, 104, 0.42);
}

/* Paper theme hover states: flat turquoise, no wash/gradient, always readable. */
.world-shell.has-shell-sidebar :is(
  .game-mode-list .game-mode-button,
  .game-area-entry-card,
  .game-sidebar-primary,
  .game-sidebar-small-button,
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button,
  .game-sidebar-back,
  .game-sidebar .owned-area-filter-button,
  .game-sidebar-area-item .owned-area-jump,
  .game-sidebar-area-item .owned-area-options-button,
  .area-context-menu-item,
  .game-sidebar .game-sidebar-selected-area .area-action-button,
  .game-sidebar .game-sidebar-selected-area .area-quick-action-button,
  .game-sidebar .game-sidebar-selected-area .area-request-toggle,
  .game-sidebar .game-sidebar-selected-area .area-add-player-button,
  .game-sidebar .game-sidebar-selected-area .area-player-options-button,
  .game-sidebar .game-sidebar-selected-area .area-options-button
):not(:disabled):not(.is-danger):hover,
.world-shell.has-shell-sidebar :is(
  .game-mode-list .game-mode-button,
  .game-area-entry-card,
  .game-sidebar-primary,
  .game-sidebar-small-button,
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button,
  .game-sidebar-back,
  .game-sidebar .owned-area-filter-button,
  .game-sidebar-area-item .owned-area-jump,
  .game-sidebar-area-item .owned-area-options-button,
  .area-context-menu-item,
  .game-sidebar .game-sidebar-selected-area .area-action-button,
  .game-sidebar .game-sidebar-selected-area .area-quick-action-button,
  .game-sidebar .game-sidebar-selected-area .area-request-toggle,
  .game-sidebar .game-sidebar-selected-area .area-add-player-button,
  .game-sidebar .game-sidebar-selected-area .area-player-options-button,
  .game-sidebar .game-sidebar-selected-area .area-options-button
):not(:disabled):not(.is-danger):focus-visible {
  border-color: #0d716c !important;
  background: #128f87 !important;
  background-image: none !important;
  color: #ffffff !important;
  outline: none;
}

.world-shell.has-shell-sidebar :is(
  .game-mode-list .game-mode-button,
  .game-area-entry-card,
  .game-sidebar-primary,
  .game-sidebar-small-button,
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button,
  .game-sidebar-back,
  .game-sidebar .owned-area-filter-button,
  .game-sidebar-area-item .owned-area-jump,
  .game-sidebar-area-item .owned-area-options-button,
  .area-context-menu-item,
  .game-sidebar .game-sidebar-selected-area .area-action-button,
  .game-sidebar .game-sidebar-selected-area .area-quick-action-button,
  .game-sidebar .game-sidebar-selected-area .area-request-toggle,
  .game-sidebar .game-sidebar-selected-area .area-add-player-button,
  .game-sidebar .game-sidebar-selected-area .area-player-options-button,
  .game-sidebar .game-sidebar-selected-area .area-options-button
):not(:disabled):not(.is-danger):hover :is(strong, small, span, svg, em),
.world-shell.has-shell-sidebar :is(
  .game-mode-list .game-mode-button,
  .game-area-entry-card,
  .game-sidebar-primary,
  .game-sidebar-small-button,
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button,
  .game-sidebar-back,
  .game-sidebar .owned-area-filter-button,
  .game-sidebar-area-item .owned-area-jump,
  .game-sidebar-area-item .owned-area-options-button,
  .area-context-menu-item,
  .game-sidebar .game-sidebar-selected-area .area-action-button,
  .game-sidebar .game-sidebar-selected-area .area-quick-action-button,
  .game-sidebar .game-sidebar-selected-area .area-request-toggle,
  .game-sidebar .game-sidebar-selected-area .area-add-player-button,
  .game-sidebar .game-sidebar-selected-area .area-player-options-button,
  .game-sidebar .game-sidebar-selected-area .area-options-button
):not(:disabled):not(.is-danger):focus-visible :is(strong, small, span, svg, em),
.world-shell.has-shell-sidebar :is(.game-mode-list .game-mode-button, .game-area-entry-card):not(:disabled):hover::after,
.world-shell.has-shell-sidebar :is(.game-mode-list .game-mode-button, .game-area-entry-card):not(:disabled):focus-visible::after {
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar :is(
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button
):not(:disabled):not(.is-danger):is(:hover, :focus-visible) {
  border-color: var(--game-accent-border-strong) !important;
  background: rgba(18, 143, 135, 0.1) !important;
  background-image: none !important;
  color: var(--game-accent-strong) !important;
  outline: none;
}

.world-shell.has-shell-sidebar :is(
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button
):not(:disabled):not(.is-danger):is(:hover, :focus-visible) svg {
  color: var(--game-accent-strong) !important;
}

.world-shell.has-shell-sidebar :is(
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button
):not(:disabled):not(.is-danger):is(:hover, :focus-visible) .game-image-icon {
  background: currentColor !important;
}

.world-shell.has-shell-sidebar :is(.game-mode-list .game-mode-button, .game-area-entry-card):not(:disabled):hover :is(.game-mode-icon, .game-area-entry-icon),
.world-shell.has-shell-sidebar :is(.game-mode-list .game-mode-button, .game-area-entry-card):not(:disabled):focus-visible :is(.game-mode-icon, .game-area-entry-icon) {
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: rgba(255, 255, 255, 0.16) !important;
  background-image: none !important;
  color: #ffffff !important;
}

/* Notebook flat pass: remove remaining gradients and the perforated canvas strip. */
.world-shell.has-shell-sidebar {
  background: #3a2618 !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar .world-viewport::before {
  display: none !important;
}

.world-shell.has-shell-sidebar :is(
  .game-profile-card,
  .game-profile-stat-card,
  .game-status-card,
  .game-shop-item,
  .game-mode-button,
  .game-area-entry-card,
  .game-sidebar-area-item,
  .game-sidebar-area-controls,
  .game-sidebar .pixel-resource-summary,
  .game-claim-slot-row,
  .game-sidebar-template-section .overlay-drop-zone,
  .game-sidebar-template-section .overlay-meta-row,
  .game-sidebar-template-section .overlay-render-progress,
  .game-sidebar-template-section .overlay-palette-window,
  .game-sidebar-notification,
  .game-rail-popover,
  .game-sidebar-notification-list.is-floating,
  .game-sidebar .game-sidebar-selected-area .area-panel-header,
  .game-sidebar .game-sidebar-selected-area .area-collapsible-card,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card summary,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card .area-collapsible-content,
  .game-sidebar .game-sidebar-selected-area .area-fact-list,
  .area-context-menu
):not(:hover):not(:focus-visible) {
  background-color: var(--game-paper-strong) !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar :is(
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button,
  .game-sidebar-back,
  .game-sidebar-footer-links button,
  .game-rail-button,
  .game-shop-item button,
  .game-tool-button,
  .game-sidebar .claim-tool-button,
  .game-sidebar .paint-tool-button,
  .game-theme-row button,
  .game-sidebar .owned-area-filter-button,
  .game-sidebar .google-button,
  .game-sidebar .pixel-clear-button,
  .game-sidebar .area-options-button,
  .game-sidebar .owned-area-jump,
  .game-sidebar .area-action-button,
  .game-sidebar .area-quick-action-button,
  .game-sidebar .area-add-player-button,
  .game-sidebar-template-section .overlay-select-button
):not(:disabled):not(:hover):not(:focus-visible):not(.is-active) {
  background-color: var(--game-paper-strong) !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar :is(
  .game-profile-coins,
  .game-profile-stat-card.is-timer,
  .world-finished-postit
):not(:hover):not(:focus-visible) {
  background-color: #fff0ba !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar :is(
  .game-shop-artwork,
  .game-badge-row span,
  .game-area-entry-progress,
  .game-sidebar .game-sidebar-selected-area .area-more-info-caret,
  .game-sidebar .game-sidebar-selected-area .area-reaction-button,
  .game-sidebar .game-sidebar-selected-area .area-quick-action-button,
  .game-sidebar .game-sidebar-selected-area .area-action-button,
  .game-sidebar .game-sidebar-selected-area .area-request-toggle,
  .game-sidebar .game-sidebar-selected-area .area-add-player-button,
  .game-sidebar .game-sidebar-selected-area .area-player-options-button,
  .game-sidebar .game-sidebar-selected-area .area-options-button
):not(:hover):not(:focus-visible):not(.is-active) {
  background-color: var(--game-paper-soft) !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button:not(:hover):not(:focus-visible) .game-mode-icon,
.world-shell.has-shell-sidebar .game-area-entry-card:not(:hover):not(:focus-visible) .game-area-entry-icon {
  background-color: var(--game-paper-soft) !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar-brand::before,
.world-finished-postit::before {
  background-image: none !important;
}

/* Notebook interaction fixes: highlighted cards invert their icon tiles with the button. */
.world-shell.has-shell-sidebar :is(
  .game-mode-list .game-mode-button,
  .game-area-entry-card
):not(:disabled):is(:hover, :focus-visible) :is(.game-mode-icon, .game-area-entry-icon) {
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: rgba(255, 255, 255, 0.16) !important;
  background-image: none !important;
  color: #ffffff !important;
}

.world-shell.world-shell.has-shell-sidebar .game-sidebar .game-mode-list .game-mode-button:not(:disabled):is(:hover, :focus-visible) .game-mode-icon,
.world-shell.world-shell.has-shell-sidebar .game-sidebar .game-area-entry-card.game-area-entry-card:not(:disabled):is(:hover, :focus-visible) .game-area-entry-icon {
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: rgba(255, 255, 255, 0.16) !important;
  background-image: none !important;
  color: #ffffff !important;
}

.world-shell.world-shell.has-shell-sidebar .game-sidebar .game-area-entry-card.game-area-entry-card:not(:disabled):is(:hover, :focus-visible) .game-area-entry-count.game-area-entry-count {
  border-color: rgba(255, 232, 167, 0.9) !important;
  background: #fff0ba !important;
  color: #7a5510 !important;
}

.world-shell.world-shell.has-shell-sidebar .game-sidebar .game-area-entry-card.game-area-entry-card:not(:disabled):is(:hover, :focus-visible) .game-area-entry-count.game-area-entry-count :is(strong, small) {
  color: #7a5510 !important;
}

.world-shell.world-shell.has-shell-sidebar .game-sidebar .game-area-entry-card.game-area-entry-card:not(:disabled):is(:hover, :focus-visible) .game-area-entry-progress.game-area-entry-progress {
  border-color: rgba(255, 255, 255, 0.52) !important;
  background: rgba(255, 255, 255, 0.24) !important;
}

.world-shell.world-shell.has-shell-sidebar .game-sidebar .game-area-entry-card.game-area-entry-card:not(:disabled):is(:hover, :focus-visible) .game-area-entry-progress.game-area-entry-progress span {
  background: #ffffff !important;
}

.world-shell.has-shell-sidebar :is(
  .game-mode-list .game-mode-button,
  .game-area-entry-card
):not(:disabled):is(:hover, :focus-visible) :is(.game-mode-icon svg, .game-mode-icon .game-image-icon, .game-area-entry-icon svg, .game-area-entry-icon .game-image-icon) {
  color: #ffffff !important;
  stroke: currentColor !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview.is-artwork-only {
  border-color: rgba(18, 143, 135, 0.28) !important;
  background-color: transparent !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview.is-artwork-only .owned-area-preview-tiles,
.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-preview.is-artwork-only img {
  background-color: transparent !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar :is(
  .owned-area-filter-button,
  .owned-area-jump,
  .owned-area-options-button
) {
  border-color: rgba(18, 143, 135, 0.42) !important;
  border-radius: 4px !important;
  background-color: var(--game-accent-soft) !important;
  background-image: none !important;
  color: var(--game-accent-strong) !important;
  font-size: 0.82rem !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-jump {
  min-width: 0;
}

.world-shell.has-shell-sidebar .game-sidebar-area-item .owned-area-options-button svg {
  width: 18px;
  height: 18px;
  color: currentColor !important;
  stroke: currentColor !important;
}

.world-shell.has-shell-sidebar .game-sidebar :is(
  .owned-area-filter-button,
  .owned-area-jump,
  .owned-area-options-button
):not(:disabled):is(:hover, :focus-visible, .is-active) {
  border-color: #0d716c !important;
  background-color: #128f87 !important;
  background-image: none !important;
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .game-sidebar :is(
  .owned-area-filter-button,
  .owned-area-jump,
  .owned-area-options-button
):not(:disabled):is(:hover, :focus-visible, .is-active) :is(svg, span, strong) {
  color: #ffffff !important;
  stroke: currentColor !important;
}

/* My Areas gallery mode */
.world-shell.has-shell-sidebar .game-sidebar-area-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-section-head,
.world-shell.has-shell-sidebar .game-sidebar-area-section > .account-helper {
  grid-column: 1 / -1;
}

.world-shell.has-shell-sidebar .game-sidebar-area-gallery-item {
  min-width: 0;
  display: grid;
  padding: 0.34rem;
  border: 1px solid rgba(18, 143, 135, 0.3);
  border-radius: 8px;
  background: rgba(255, 253, 247, 0.92);
  cursor: pointer;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.68),
    2px 2px 0 rgba(80, 70, 55, 0.06);
}

.world-shell.has-shell-sidebar .game-sidebar-area-gallery-item:not(:disabled):hover,
.world-shell.has-shell-sidebar .game-sidebar-area-gallery-item:focus-visible {
  border-color: rgba(18, 143, 135, 0.58);
  background: rgba(240, 250, 247, 0.96);
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar-area-gallery-item.is-selected {
  padding: 0.24rem;
  border: 3px solid rgba(116, 203, 193, 0.96);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    0 7px 14px rgba(0, 105, 96, 0.16);
}

.world-shell.has-shell-sidebar .game-sidebar-area-gallery-item .owned-area-preview {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1.08;
  border: 0;
  border-radius: 5px;
  background: #fffdf8 !important;
}

.world-shell.theme-dark.has-shell-sidebar .game-sidebar-area-gallery-item .owned-area-preview {
  background: #182028 !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-gallery-item .owned-area-preview-progress {
  display: none;
}

.world-shell.has-shell-sidebar .game-sidebar-area-gallery-item .owned-area-preview,
.world-shell.has-shell-sidebar .game-sidebar-area-gallery-item .owned-area-preview * {
  image-rendering: crisp-edges !important;
  image-rendering: pixelated !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail {
  position: relative;
  grid-column: 1 / -1;
  display: grid;
  gap: 0.62rem;
  padding: 0.72rem;
  border: 2px solid rgba(116, 203, 193, 0.96);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(251, 247, 238, 0.98)),
    var(--game-paper-strong);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.68),
    0 8px 18px rgba(30, 47, 51, 0.16);
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-caret {
  position: absolute;
  top: -9px;
  width: 14px;
  height: 14px;
  border-top: 2px solid rgba(116, 203, 193, 0.96);
  border-left: 2px solid rgba(116, 203, 193, 0.96);
  background: #fffdf8;
  transform: rotate(45deg);
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail.is-from-left .game-sidebar-area-detail-caret {
  left: 23%;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail.is-from-right .game-sidebar-area-detail-caret {
  right: 23%;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: start;
  gap: 0.5rem;
  padding-bottom: 0.48rem;
  border-bottom: 1px dashed rgba(80, 70, 55, 0.24);
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-head > div {
  min-width: 0;
  display: grid;
  justify-items: start;
  gap: 0.32rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-head strong {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  color: #16232d;
  font-size: 1.08rem;
  font-weight: 950;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-head .area-role-tag {
  border-color: rgba(18, 143, 135, 0.42);
  border-radius: 999px;
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
  box-shadow: none;
  font-size: 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-close {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(18, 143, 135, 0.34);
  border-radius: 6px;
  background: rgba(255, 253, 247, 0.94);
  color: var(--game-accent-strong);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-close:hover,
.world-shell.has-shell-sidebar .game-sidebar-area-detail-close:focus-visible {
  border-color: #0d716c;
  background: #128f87;
  color: #ffffff;
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-body {
  display: grid;
  grid-template-columns: 98px minmax(0, 1fr);
  gap: 0.62rem;
  align-items: start;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-body .owned-area-preview {
  width: 98px !important;
  height: 104px !important;
  border-radius: 6px;
  background: #fffdf8 !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-body .owned-area-preview-progress {
  display: none;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-summary {
  min-width: 0;
  display: grid;
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-status span {
  min-width: 0;
  overflow: hidden;
  color: #5d6871;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-status strong {
  color: var(--game-accent-strong);
  font-size: 1.18rem;
  font-weight: 950;
  line-height: 1;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-progress {
  height: 9px;
  overflow: hidden;
  border: 1px solid rgba(18, 143, 135, 0.28);
  border-radius: 999px;
  background: rgba(241, 238, 229, 0.92);
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #058f8b, #72c8b7);
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.38rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-facts span {
  min-width: 0;
  min-height: 40px;
  display: grid;
  align-content: center;
  gap: 0.08rem;
  padding: 0.34rem 0.42rem;
  border: 1px solid rgba(18, 143, 135, 0.22);
  border-radius: 6px;
  background: rgba(240, 250, 247, 0.58);
  color: #496674;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.08;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-facts strong {
  overflow: hidden;
  color: #16232d;
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-primary-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-primary-actions .owned-area-jump {
  min-height: 44px;
  margin-top: 0;
  border-color: #0d716c !important;
  border-radius: 6px !important;
  background-color: var(--game-accent-soft) !important;
  background-image: none !important;
  color: var(--game-accent-strong) !important;
  font-size: 0.92rem !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-primary-actions .owned-area-jump:not(:disabled):hover,
.world-shell.has-shell-sidebar .game-sidebar-area-detail-primary-actions .owned-area-jump:not(:disabled):focus-visible {
  border-color: #0d716c !important;
  background-color: #c8ebe4 !important;
  color: #095f5b !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-primary-actions .owned-area-options-button {
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 6px !important;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-secondary-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.38rem;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-secondary-actions .pixel-clear-button {
  min-width: 0;
  min-height: 34px;
  padding: 0 0.42rem;
  border-color: rgba(18, 143, 135, 0.3) !important;
  border-radius: 6px !important;
  background: rgba(255, 253, 247, 0.94) !important;
  color: #456372 !important;
  font-size: 0.78rem;
  font-weight: 950;
  text-align: center;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail-secondary-actions .pixel-clear-button:not(:disabled):hover,
.world-shell.has-shell-sidebar .game-sidebar-area-detail-secondary-actions .pixel-clear-button:not(:disabled):focus-visible {
  border-color: #0d716c !important;
  background: var(--game-accent-soft) !important;
  color: var(--game-accent-strong) !important;
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar-area-detail .owned-area-inline-panel {
  padding: 0.64rem;
  border-color: rgba(18, 143, 135, 0.24);
  border-radius: 8px;
  background: rgba(240, 250, 247, 0.52);
}

/* Report Area modal in the notebook UI language. */
.world-shell.has-shell-sidebar .area-report-backdrop {
  align-items: center;
  padding: 0.75rem;
  background:
    linear-gradient(rgba(58, 38, 24, 0.5), rgba(58, 38, 24, 0.5)),
    rgba(0, 0, 0, 0.18) !important;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.world-shell.has-shell-sidebar .area-report-modal {
  width: min(540px, 100%);
  max-height: calc(100dvh - 1.5rem);
  padding: 0.82rem;
  border: 1px solid rgba(84, 58, 34, 0.42);
  border-radius: 10px;
  background-color: #fffaf0 !important;
  background-image:
    linear-gradient(rgba(118, 98, 67, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px) !important;
  background-size: 18px 18px;
  color: #16232d;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.78),
    5px 5px 0 rgba(73, 49, 29, 0.22),
    0 22px 48px rgba(32, 24, 17, 0.24);
}

.world-shell.has-shell-sidebar .area-report-modal .modal-header {
  align-items: center;
  margin: 0 0 0.72rem;
  padding: 0.14rem 0.12rem 0.72rem;
  border: 0;
  border-bottom: 1px dashed rgba(18, 143, 135, 0.32);
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .area-report-modal .modal-eyebrow {
  margin-bottom: 0.22rem;
  color: var(--game-accent-strong) !important;
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0;
}

.world-shell.has-shell-sidebar .area-report-modal .modal-header h2 {
  color: #16232d !important;
  font-size: clamp(1.42rem, 4vw, 1.86rem);
  line-height: 1.02;
  text-shadow: none;
}

.world-shell.has-shell-sidebar .area-report-modal .modal-header-actions {
  gap: 0.36rem;
}

.world-shell.has-shell-sidebar .area-report-modal .modal-icon-action {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(18, 143, 135, 0.42) !important;
  border-radius: 6px;
  background: #f6eedf !important;
  color: var(--game-accent-strong) !important;
  box-shadow: none !important;
  font-size: 0.86rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .area-report-modal .modal-icon-action:not(:disabled):hover,
.world-shell.has-shell-sidebar .area-report-modal .modal-icon-action:not(:disabled):focus-visible {
  border-color: #0d716c !important;
  background: #128f87 !important;
  color: #ffffff !important;
  outline: none;
  transform: none;
}

.world-shell.has-shell-sidebar .area-report-modal .modal-scroll-area {
  padding-right: 0;
}

.world-shell.has-shell-sidebar .area-report-card {
  display: grid;
  gap: 0.76rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: #16232d !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .area-report-card .area-field-stack {
  gap: 0.42rem;
}

.world-shell.has-shell-sidebar .area-report-target {
  min-height: 46px;
  padding: 0.58rem 0.66rem;
  border: 1px solid rgba(18, 143, 135, 0.34) !important;
  border-radius: 7px;
  background: #fffdf7 !important;
  color: #16232d !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68);
}

.world-shell.has-shell-sidebar .area-report-target span,
.world-shell.has-shell-sidebar .area-report-modal .account-label {
  color: var(--game-accent-strong) !important;
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .area-report-target strong {
  color: #16232d !important;
  font-size: 0.92rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .area-report-reason-grid {
  gap: 0.48rem;
}

.world-shell.has-shell-sidebar .area-report-reason-option {
  min-height: 44px;
  padding: 0.55rem 0.62rem;
  border: 1px solid rgba(18, 143, 135, 0.28) !important;
  border-radius: 7px;
  background: #fffdf7 !important;
  color: #16232d !important;
  font-size: 0.88rem;
  font-weight: 900;
  line-height: 1.12;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58);
}

.world-shell.has-shell-sidebar .area-report-reason-option:hover,
.world-shell.has-shell-sidebar .area-report-reason-option:focus-visible {
  border-color: #0d716c !important;
  background: #d9f2ec !important;
  color: var(--game-accent-strong) !important;
  outline: none;
}

.world-shell.has-shell-sidebar .area-report-reason-option.is-selected {
  border-color: #0d716c !important;
  background: #128f87 !important;
  color: #ffffff !important;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .area-report-modal .account-input,
.world-shell.has-shell-sidebar .area-report-modal .area-textarea {
  border: 1px solid rgba(18, 143, 135, 0.3) !important;
  border-radius: 7px;
  background: #fffdf7 !important;
  color: #16232d !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58) !important;
}

.world-shell.has-shell-sidebar .area-report-modal .account-input::placeholder,
.world-shell.has-shell-sidebar .area-report-modal .area-textarea::placeholder {
  color: rgba(22, 35, 45, 0.45);
}

.world-shell.has-shell-sidebar .area-report-modal .account-input:focus,
.world-shell.has-shell-sidebar .area-report-modal .area-textarea:focus {
  border-color: #0d716c !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(18, 143, 135, 0.14) !important;
}

.world-shell.has-shell-sidebar .area-report-modal .area-textarea {
  min-height: 106px;
  resize: vertical;
}

.world-shell.has-shell-sidebar .area-report-modal .area-field-limit {
  color: rgba(22, 35, 45, 0.62) !important;
  font-size: 0.72rem;
  font-weight: 900;
}

.world-shell.has-shell-sidebar .area-report-modal .area-field-limit.is-error,
.world-shell.has-shell-sidebar .area-report-modal .account-feedback.is-error {
  color: #8f3328 !important;
}

.world-shell.has-shell-sidebar .area-report-modal .account-feedback {
  margin: 0;
  padding: 0.56rem 0.64rem;
  border: 1px solid rgba(18, 143, 135, 0.24);
  border-radius: 7px;
  background: #f6eedf !important;
  color: #16232d !important;
  font-size: 0.84rem;
  font-weight: 850;
}

.world-shell.has-shell-sidebar .area-report-modal .account-feedback.is-success {
  border-color: rgba(28, 142, 78, 0.34);
  background: #eaf8ee !important;
  color: #176f3f !important;
}

.world-shell.has-shell-sidebar .area-report-modal .account-feedback.is-error {
  border-color: rgba(184, 79, 66, 0.34);
  background: #ffe3da !important;
}

.world-shell.has-shell-sidebar .area-report-card .area-inline-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.52rem;
  margin-top: 0.06rem;
}

.world-shell.has-shell-sidebar .area-report-modal .area-action-button,
.world-shell.has-shell-sidebar .area-report-modal .pixel-clear-button {
  min-height: 44px;
  border-radius: 7px;
  font-size: 0.86rem;
  font-weight: 950;
  letter-spacing: 0;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .area-report-modal .area-action-button {
  border: 1px solid #0d716c !important;
  background: #128f87 !important;
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .area-report-modal .area-action-button:not(:disabled):hover,
.world-shell.has-shell-sidebar .area-report-modal .area-action-button:not(:disabled):focus-visible {
  border-color: #095f5b !important;
  background: #0d716c !important;
  color: #ffffff !important;
  outline: none;
}

.world-shell.has-shell-sidebar .area-report-modal .area-action-button:disabled {
  border-color: rgba(18, 143, 135, 0.2) !important;
  background: #dbe5e1 !important;
  color: #465861 !important;
  cursor: not-allowed;
  opacity: 1;
}

.world-shell.has-shell-sidebar .area-report-modal .pixel-clear-button {
  border: 1px solid rgba(18, 143, 135, 0.34) !important;
  background: #fffdf7 !important;
  color: var(--game-accent-strong) !important;
}

.world-shell.has-shell-sidebar .area-report-modal .pixel-clear-button:not(:disabled):hover,
.world-shell.has-shell-sidebar .area-report-modal .pixel-clear-button:not(:disabled):focus-visible {
  border-color: #0d716c !important;
  background: #128f87 !important;
  color: #ffffff !important;
  outline: none;
}

@media (max-width: 620px) {
  .world-shell.has-shell-sidebar .area-report-backdrop {
    align-items: stretch;
    padding: 0.5rem;
  }

  .world-shell.has-shell-sidebar .area-report-modal {
    max-height: calc(100dvh - 1rem);
    padding: 0.64rem;
  }

  .world-shell.has-shell-sidebar .area-report-modal .modal-header {
    gap: 0.64rem;
    padding-bottom: 0.62rem;
  }

  .world-shell.has-shell-sidebar .area-report-reason-grid,
  .world-shell.has-shell-sidebar .area-report-card .area-inline-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Notebook menu completion pass: align remaining modal and popover menus with the sidebar system. */
.world-shell.has-shell-sidebar {
  --notebook-ink: #16232d;
  --notebook-muted: #66727c;
  --notebook-edge: rgba(84, 58, 34, 0.42);
  --notebook-edge-soft: rgba(132, 120, 100, 0.28);
  --notebook-paper: var(--game-paper, #fffaf0);
  --notebook-paper-strong: var(--game-paper-strong, #fffdf7);
  --notebook-paper-soft: var(--game-paper-soft, #f6eedf);
  --notebook-accent: #128f87;
  --notebook-accent-strong: #0d716c;
  --notebook-accent-soft: #dff3ee;
  --notebook-danger: #b84f42;
  --notebook-danger-soft: #ffe3da;
  --notebook-success: #1c8e4e;
  --notebook-success-soft: #eaf8ee;
}

.world-shell.has-shell-sidebar .app-toast-stack {
  z-index: 150;
  top: calc(env(safe-area-inset-top, 0px) + 0.74rem);
  right: calc(env(safe-area-inset-right, 0px) + 0.82rem);
  width: min(340px, calc(100vw - 1.64rem));
  gap: 0.48rem;
}

.world-shell.has-shell-sidebar.has-sidebar-right:not(.has-sidebar-undocked) .app-toast-stack {
  right: calc(var(--game-sidebar-width) + env(safe-area-inset-right, 0px) + 0.82rem);
}

.world-shell.has-shell-sidebar .app-toast {
  --toast-edge: var(--notebook-accent);
  --toast-surface: var(--notebook-paper-strong);
  --toast-title: var(--notebook-ink);
  min-height: 62px;
  gap: 0.16rem 0.66rem;
  padding: 0.62rem 0.62rem 0.62rem 0.78rem;
  border: 1px solid var(--notebook-edge-soft) !important;
  border-radius: 0 !important;
  background-color: var(--toast-surface) !important;
  background-image:
    linear-gradient(rgba(118, 98, 67, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px) !important;
  background-size: 14px 14px !important;
  color: var(--notebook-ink) !important;
  box-shadow:
    inset 4px 0 0 var(--toast-edge),
    3px 3px 0 rgba(80, 70, 55, 0.16),
    0 10px 24px rgba(42, 28, 18, 0.1) !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
}

.world-shell.has-shell-sidebar .app-toast.is-info {
  --toast-edge: var(--notebook-accent);
  --toast-surface: #f8fffc;
}

.world-shell.has-shell-sidebar .app-toast.is-success {
  --toast-edge: var(--notebook-success);
  --toast-surface: var(--notebook-success-soft);
  --toast-title: #176f3f;
}

.world-shell.has-shell-sidebar .app-toast.is-warning {
  --toast-edge: #d8a93a;
  --toast-surface: #fff6d8;
  --toast-title: #7b5811;
}

.world-shell.has-shell-sidebar .app-toast.is-error {
  --toast-edge: var(--notebook-danger);
  --toast-surface: var(--notebook-danger-soft);
  --toast-title: #8f3328;
}

.world-shell.has-shell-sidebar .app-toast strong {
  color: var(--toast-title);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  line-height: 1.25;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .app-toast span {
  color: var(--notebook-muted);
  font-size: 0.74rem;
  font-weight: 750;
  line-height: 1.35;
}

.world-shell.has-shell-sidebar .app-toast-dismiss {
  position: relative;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(132, 120, 100, 0.34) !important;
  border-radius: 0 !important;
  background: rgba(255, 253, 247, 0.9) !important;
  color: var(--notebook-muted) !important;
  font-size: 0;
  opacity: 1;
  box-shadow: 2px 2px 0 rgba(80, 70, 55, 0.12) !important;
}

.world-shell.has-shell-sidebar .app-toast-dismiss::before,
.world-shell.has-shell-sidebar .app-toast-dismiss::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
}

.world-shell.has-shell-sidebar .app-toast-dismiss::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.world-shell.has-shell-sidebar .app-toast-dismiss::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.world-shell.has-shell-sidebar .app-toast-dismiss:hover,
.world-shell.has-shell-sidebar .app-toast-dismiss:focus-visible {
  border-color: var(--toast-edge) !important;
  background: #ffffff !important;
  color: var(--toast-edge) !important;
  outline: none;
  transform: translate(-1px, -1px);
}

@media (max-width: 1024px) {
  .world-shell.has-shell-sidebar .app-toast-stack,
  .world-shell.has-shell-sidebar.has-sidebar-right:not(.has-sidebar-undocked) .app-toast-stack {
    top: calc(env(safe-area-inset-top, 0px) + 0.58rem);
    right: calc(env(safe-area-inset-right, 0px) + 0.58rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.58rem);
    width: auto;
  }

  .world-shell.has-shell-sidebar .app-toast {
    min-height: 58px;
    padding: 0.58rem 0.58rem 0.58rem 0.72rem;
  }
}

.world-shell.has-shell-sidebar .modal-backdrop {
  padding-left: calc(var(--game-sidebar-width) + 1rem);
  background:
    linear-gradient(rgba(58, 38, 24, 0.52), rgba(58, 38, 24, 0.52)),
    rgba(0, 0, 0, 0.16) !important;
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.world-shell.has-shell-sidebar.has-sidebar-right .modal-backdrop {
  padding-right: calc(var(--game-sidebar-width) + 1rem);
  padding-left: 1rem;
}

.world-shell.has-shell-sidebar .modal-window,
.world-shell.has-shell-sidebar .account-popover,
.world-shell.has-shell-sidebar .shop-purchase-window,
.world-shell.has-shell-sidebar .modal-restore-chip,
.world-shell.has-shell-sidebar .area-panel-restore-chip {
  border: 1px solid var(--notebook-edge) !important;
  border-radius: 10px !important;
  background-color: var(--notebook-paper) !important;
  background-image:
    linear-gradient(rgba(118, 98, 67, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px) !important;
  background-size: 18px 18px !important;
  color: var(--notebook-ink) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.78),
    5px 5px 0 rgba(73, 49, 29, 0.22),
    0 22px 48px rgba(32, 24, 17, 0.24) !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
}

.world-shell.has-shell-sidebar .modal-window {
  padding: 0.82rem !important;
}

.world-shell.has-shell-sidebar .modal-header,
.world-shell.has-shell-sidebar .info-modal-head,
.world-shell.has-shell-sidebar .account-popover-head,
.world-shell.has-shell-sidebar .shop-purchase-title {
  border: 0;
  border-bottom: 1px dashed rgba(18, 143, 135, 0.3);
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .modal-header,
.world-shell.has-shell-sidebar .account-popover-head {
  margin: 0 0 0.72rem;
  padding: 0.12rem 0.1rem 0.72rem;
}

.world-shell.has-shell-sidebar .info-modal-head {
  padding: 0.18rem 3.2rem 0.82rem;
}

.world-shell.has-shell-sidebar .modal-eyebrow,
.world-shell.has-shell-sidebar .info-meta-links,
.world-shell.has-shell-sidebar .account-popover-title span,
.world-shell.has-shell-sidebar .account-level-panel-top span,
.world-shell.has-shell-sidebar .account-quick-stat span,
.world-shell.has-shell-sidebar .account-theme-menu-header,
.world-shell.has-shell-sidebar .account-notification-item time,
.world-shell.has-shell-sidebar .account-notification-item p,
.world-shell.has-shell-sidebar .account-helper,
.world-shell.has-shell-sidebar .modal-card p,
.world-shell.has-shell-sidebar .changelog-entry-summary,
.world-shell.has-shell-sidebar .changelog-entry-date,
.world-shell.has-shell-sidebar .changelog-intro,
.world-shell.has-shell-sidebar .changelog-section-title,
.world-shell.has-shell-sidebar .changelog-entry ul,
.world-shell.has-shell-sidebar .owned-area-toolbar span,
.world-shell.has-shell-sidebar .owned-area-section-header span,
.world-shell.has-shell-sidebar .owned-area-main span,
.world-shell.has-shell-sidebar .owned-area-main small,
.world-shell.has-shell-sidebar .owned-area-meta small,
.world-shell.has-shell-sidebar .owned-area-reaction-row,
.world-shell.has-shell-sidebar .shop-perk-copy p,
.world-shell.has-shell-sidebar .shop-quantity-label,
.world-shell.has-shell-sidebar .shop-price,
.world-shell.has-shell-sidebar .info-brand-stack p,
.world-shell.has-shell-sidebar .info-section-heading p,
.world-shell.has-shell-sidebar .info-rule-title span,
.world-shell.has-shell-sidebar .info-rule-dropdown p,
.world-shell.has-shell-sidebar .info-quick-grid p,
.world-shell.has-shell-sidebar .modal-version {
  color: var(--notebook-muted) !important;
  letter-spacing: 0 !important;
}

.world-shell.has-shell-sidebar .modal-eyebrow,
.world-shell.has-shell-sidebar .account-theme-menu-header,
.world-shell.has-shell-sidebar .account-quick-stat span,
.world-shell.has-shell-sidebar .changelog-section-title,
.world-shell.has-shell-sidebar .owned-area-toolbar span,
.world-shell.has-shell-sidebar .owned-area-section-header span,
.world-shell.has-shell-sidebar .shop-quantity-label,
.world-shell.has-shell-sidebar .info-rule-title small {
  font-size: 0.74rem !important;
  font-weight: 950 !important;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar :is(
  .modal-header h2,
  .info-brand-row h2,
  .modal-card h3,
  .account-popover-title strong,
  .account-level-panel-top strong,
  .account-quick-stat strong,
  .owned-area-main strong,
  .owned-area-toolbar strong,
  .owned-area-section-header strong,
  .shop-balance strong,
  .shop-perk-copy h3,
  .shop-purchase-title strong,
  .changelog-entry-version strong,
  .info-section h3,
  .info-rule-title strong,
  .info-tour-caption strong
) {
  color: var(--notebook-ink) !important;
  text-shadow: none !important;
}

.world-shell.has-shell-sidebar .modal-header h2,
.world-shell.has-shell-sidebar .info-brand-row h2 {
  font-size: clamp(1.42rem, 4vw, 1.86rem);
  line-height: 1.02;
}

.world-shell.has-shell-sidebar :is(
  .modal-icon-action,
  .modal-close,
  .google-button,
  .pixel-clear-button,
  .modal-inline-action,
  .shop-quantity-max-button,
  .shop-purchase-close,
  .account-icon-action,
  .account-theme-option,
  .account-notification-toggle,
  .account-admin-link,
  .owned-area-filter-button,
  .owned-area-jump,
  .owned-area-options-button,
  .area-context-menu-item
) {
  border: 1px solid rgba(18, 143, 135, 0.34) !important;
  border-radius: 7px !important;
  background: var(--notebook-paper-strong) !important;
  color: var(--notebook-accent-strong) !important;
  box-shadow: none !important;
  font-weight: 950;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.world-shell.has-shell-sidebar :is(
  .modal-icon-action,
  .shop-purchase-close,
  .account-icon-action
) {
  width: 38px;
  height: 38px;
  min-height: 38px;
}

.world-shell.has-shell-sidebar :is(
  .modal-icon-action,
  .modal-close,
  .google-button,
  .pixel-clear-button,
  .modal-inline-action,
  .shop-quantity-max-button,
  .shop-purchase-close,
  .account-icon-action,
  .account-theme-option,
  .account-notification-toggle,
  .account-admin-link,
  .owned-area-filter-button,
  .owned-area-jump,
  .owned-area-options-button,
  .area-context-menu-item
):not(:disabled):hover,
.world-shell.has-shell-sidebar :is(
  .modal-icon-action,
  .modal-close,
  .google-button,
  .pixel-clear-button,
  .modal-inline-action,
  .shop-quantity-max-button,
  .shop-purchase-close,
  .account-icon-action,
  .account-theme-option,
  .account-notification-toggle,
  .account-admin-link,
  .owned-area-filter-button,
  .owned-area-jump,
  .owned-area-options-button,
  .area-context-menu-item
):not(:disabled):focus-visible {
  border-color: var(--notebook-accent-strong) !important;
  background: var(--notebook-accent) !important;
  color: #ffffff !important;
  outline: none;
}

.world-shell.has-shell-sidebar :is(
  .modal-icon-action,
  .modal-close,
  .google-button,
  .pixel-clear-button,
  .modal-inline-action,
  .shop-quantity-max-button,
  .shop-purchase-close,
  .account-icon-action,
  .account-theme-option,
  .account-notification-toggle,
  .account-admin-link,
  .owned-area-filter-button,
  .owned-area-jump,
  .owned-area-options-button,
  .area-context-menu-item
):not(:disabled):hover :is(svg, span, strong),
.world-shell.has-shell-sidebar :is(
  .modal-icon-action,
  .modal-close,
  .google-button,
  .pixel-clear-button,
  .modal-inline-action,
  .shop-quantity-max-button,
  .shop-purchase-close,
  .account-icon-action,
  .account-theme-option,
  .account-notification-toggle,
  .account-admin-link,
  .owned-area-filter-button,
  .owned-area-jump,
  .owned-area-options-button,
  .area-context-menu-item
):not(:disabled):focus-visible :is(svg, span, strong) {
  color: #ffffff !important;
  stroke: currentColor !important;
}

.world-shell.has-shell-sidebar :is(button:disabled, .google-button:disabled, .pixel-clear-button:disabled) {
  cursor: not-allowed;
  opacity: 0.5;
}

.world-shell.has-shell-sidebar .modal-scroll-area {
  padding-right: 0.2rem;
}

.world-shell.has-shell-sidebar .modal-scroll-area::-webkit-scrollbar,
.world-shell.has-shell-sidebar .account-popover::-webkit-scrollbar,
.world-shell.has-shell-sidebar .account-notification-menu::-webkit-scrollbar {
  width: 8px;
}

.world-shell.has-shell-sidebar .modal-scroll-area::-webkit-scrollbar-thumb,
.world-shell.has-shell-sidebar .account-popover::-webkit-scrollbar-thumb,
.world-shell.has-shell-sidebar .account-notification-menu::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(18, 143, 135, 0.32);
  background-clip: padding-box;
}

.world-shell.has-shell-sidebar :is(
  .modal-card,
  .changelog-card,
  .changelog-entry,
  .changelog-section,
  .owned-area-card,
  .owned-area-toolbar,
  .owned-area-controls,
  .owned-area-section,
  .owned-area-item,
  .owned-area-inline-panel,
  .shop-balance,
  .shop-perk,
  .shop-item-artwork,
  .shop-purchase-equation div,
  .account-level-panel,
  .account-quick-stat,
  .account-theme-menu,
  .account-notification-menu,
  .account-notification-item,
  .account-danger-panel,
  .account-coin-pill,
  .info-rule-dropdown,
  .info-quick-grid article,
  .info-tour-caption,
  .onboarding-prompt-card
) {
  border: 1px solid rgba(18, 143, 135, 0.24) !important;
  border-radius: 7px !important;
  background: var(--notebook-paper-strong) !important;
  color: var(--notebook-ink) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.64),
    2px 2px 0 rgba(80, 70, 55, 0.08) !important;
}

.world-shell.has-shell-sidebar .modal-card,
.world-shell.has-shell-sidebar .owned-area-card,
.world-shell.has-shell-sidebar .onboarding-prompt-card {
  padding: 0.72rem !important;
}

.world-shell.has-shell-sidebar .changelog-card {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .login-modal .modal-card {
  display: grid;
  gap: 0.72rem;
}

.world-shell.has-shell-sidebar .login-modal .modal-card p {
  margin: 0;
}

.world-shell.has-shell-sidebar .login-modal .google-button {
  min-height: 44px;
}

.world-shell.has-shell-sidebar .changelog-list {
  gap: 0.72rem;
}

.world-shell.has-shell-sidebar .changelog-entry {
  padding: 0;
}

.world-shell.has-shell-sidebar .changelog-entry-summary {
  align-items: center;
  padding: 0.72rem 0.82rem;
}

.world-shell.has-shell-sidebar .changelog-entry-version strong {
  font-size: 1.08rem;
}

.world-shell.has-shell-sidebar .changelog-entry-toggle {
  border-color: rgba(18, 143, 135, 0.3);
  color: var(--notebook-accent-strong);
}

.world-shell.has-shell-sidebar .changelog-entry-body {
  padding: 0 0.82rem 0.82rem;
  border-top: 1px dashed rgba(18, 143, 135, 0.24);
}

.world-shell.has-shell-sidebar .changelog-sections {
  gap: 0.68rem;
}

.world-shell.has-shell-sidebar .changelog-section {
  padding: 0.72rem 0.78rem;
  background: var(--notebook-paper-soft) !important;
}

.world-shell.has-shell-sidebar .changelog-entry ul {
  padding-left: 0;
  color: var(--notebook-ink) !important;
  line-height: 1.52;
}

.world-shell.has-shell-sidebar .owned-area-toolbar {
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .owned-area-controls {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.58rem;
}

.world-shell.has-shell-sidebar .owned-area-section {
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .owned-area-section + .owned-area-section {
  border-top: 0;
}

.world-shell.has-shell-sidebar .owned-area-item {
  border-color: rgba(132, 120, 100, 0.3) !important;
  background: var(--notebook-paper-strong) !important;
}

.world-shell.has-shell-sidebar .owned-area-preview {
  border-color: rgba(18, 143, 135, 0.24) !important;
  border-radius: 4px !important;
  background-color: transparent !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar .owned-area-inline-panel {
  background: var(--notebook-accent-soft) !important;
}

.world-shell.has-shell-sidebar .owned-area-filter-button.is-active,
.world-shell.has-shell-sidebar .account-theme-option.is-active {
  border-color: var(--notebook-accent-strong) !important;
  background: var(--notebook-accent) !important;
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .shop-modal {
  width: min(860px, 100%);
}

.world-shell.has-shell-sidebar .shop-content {
  gap: 0.72rem;
}

.world-shell.has-shell-sidebar .shop-balance {
  padding: 0.62rem 0.72rem;
  background: #fff0ba !important;
  border-color: rgba(174, 133, 36, 0.28) !important;
}

.world-shell.has-shell-sidebar .shop-balance-label,
.world-shell.has-shell-sidebar .shop-price svg,
.world-shell.has-shell-sidebar .shop-price .game-coin-icon,
.world-shell.has-shell-sidebar .shop-balance-label svg,
.world-shell.has-shell-sidebar .shop-balance-label .game-coin-icon {
  color: #a06f08 !important;
}

.world-shell.has-shell-sidebar .shop-perk {
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 0.7rem;
  padding: 0.72rem;
}

.world-shell.has-shell-sidebar .shop-item-artwork {
  width: 64px;
  height: 64px;
  background: var(--notebook-accent-soft) !important;
  color: var(--notebook-accent-strong) !important;
}

.world-shell.has-shell-sidebar .shop-item-art {
  width: 48px;
}

.world-shell.has-shell-sidebar .shop-perk-actions {
  min-width: 154px;
}

.world-shell.has-shell-sidebar .shop-quantity-input,
.world-shell.has-shell-sidebar .account-input,
.world-shell.has-shell-sidebar .area-textarea {
  border: 1px solid rgba(18, 143, 135, 0.3) !important;
  border-radius: 7px !important;
  background: var(--notebook-paper-strong) !important;
  color: var(--notebook-ink) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58) !important;
}

.world-shell.has-shell-sidebar :is(.shop-quantity-input, .account-input, .area-textarea)::placeholder {
  color: rgba(22, 35, 45, 0.45) !important;
  opacity: 1;
}

.world-shell.has-shell-sidebar :is(.shop-quantity-input, .account-input, .area-textarea):focus {
  border-color: var(--notebook-accent-strong) !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(18, 143, 135, 0.14) !important;
  outline: none;
}

.world-shell.has-shell-sidebar .shop-purchase-dialog-backdrop {
  background:
    linear-gradient(rgba(58, 38, 24, 0.42), rgba(58, 38, 24, 0.42)),
    rgba(0, 0, 0, 0.24) !important;
}

.world-shell.has-shell-sidebar .shop-purchase-window {
  gap: 0.72rem;
  padding: 0.82rem;
}

.world-shell.has-shell-sidebar .shop-purchase-title {
  padding: 0.12rem 2.4rem 0.72rem 0.1rem;
}

.world-shell.has-shell-sidebar .shop-purchase-title span,
.world-shell.has-shell-sidebar .shop-purchase-equation span {
  color: var(--notebook-muted) !important;
  letter-spacing: 0 !important;
}

.world-shell.has-shell-sidebar .shop-purchase-equation div {
  background: var(--notebook-paper-strong) !important;
}

.world-shell.has-shell-sidebar .shop-purchase-equation .is-total {
  border-color: rgba(28, 142, 78, 0.34) !important;
  background: var(--notebook-success-soft) !important;
}

.world-shell.has-shell-sidebar .shop-purchase-equation b {
  color: var(--notebook-accent-strong) !important;
}

.world-shell.has-shell-sidebar .shop-firework span {
  border-radius: 0 !important;
  box-shadow: 1px 1px 0 rgba(73, 49, 29, 0.24);
}

.world-shell.has-shell-sidebar .account-popover {
  right: -0.12rem;
  width: min(360px, calc(100vw - 1.6rem));
  padding: 0.72rem;
}

.world-shell.has-shell-sidebar .account-popover-avatar,
.world-shell.has-shell-sidebar .account-avatar-fallback,
.world-shell.has-shell-sidebar .account-avatar-edit-button {
  border-radius: 6px !important;
}

.world-shell.has-shell-sidebar .account-coin-pill {
  background: #fff0ba !important;
  border-color: rgba(174, 133, 36, 0.28) !important;
  color: #5e4310 !important;
}

.world-shell.has-shell-sidebar .account-coin-pill svg,
.world-shell.has-shell-sidebar .account-coin-pill .game-coin-icon {
  color: #a06f08 !important;
}

.world-shell.has-shell-sidebar .account-level-panel,
.world-shell.has-shell-sidebar .account-quick-stat,
.world-shell.has-shell-sidebar .account-theme-menu,
.world-shell.has-shell-sidebar .account-notification-menu,
.world-shell.has-shell-sidebar .account-danger-panel {
  background: var(--notebook-paper-strong) !important;
}

.world-shell.has-shell-sidebar .account-notification-item {
  background: var(--notebook-accent-soft) !important;
  border-color: rgba(18, 143, 135, 0.28) !important;
}

.world-shell.has-shell-sidebar .account-notification-item.is-warning {
  background: #fff0ba !important;
  border-color: rgba(174, 133, 36, 0.28) !important;
}

.world-shell.has-shell-sidebar .account-notification-item.is-success {
  background: var(--notebook-success-soft) !important;
  border-color: rgba(28, 142, 78, 0.28) !important;
}

.world-shell.has-shell-sidebar .account-danger-panel {
  border-color: rgba(184, 79, 66, 0.3) !important;
  background: var(--notebook-danger-soft) !important;
}

.world-shell.has-shell-sidebar .account-danger-panel span,
.world-shell.has-shell-sidebar .account-icon-action.is-danger {
  color: #8f3328 !important;
}

.world-shell.has-shell-sidebar .account-danger-panel .account-delete-button,
.world-shell.has-shell-sidebar .area-context-menu-item.is-danger {
  border-color: rgba(184, 79, 66, 0.42) !important;
  background: var(--notebook-danger-soft) !important;
  color: #8f3328 !important;
}

.world-shell.has-shell-sidebar .account-danger-panel .account-delete-button:not(:disabled):hover,
.world-shell.has-shell-sidebar .account-danger-panel .account-delete-button:not(:disabled):focus-visible,
.world-shell.has-shell-sidebar .area-context-menu-item.is-danger:not(:disabled):hover,
.world-shell.has-shell-sidebar .area-context-menu-item.is-danger:not(:disabled):focus-visible {
  border-color: #8f3328 !important;
  background: var(--notebook-danger) !important;
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .account-level-bar {
  border-radius: 999px;
  background: #e9dfcf !important;
}

.world-shell.has-shell-sidebar .account-level-bar span {
  background: var(--notebook-accent) !important;
}

.world-shell.has-shell-sidebar .info-modal-window {
  width: min(960px, calc(100vw - var(--game-sidebar-width) - 2rem));
}

.world-shell.has-shell-sidebar .info-pixel-logo {
  box-shadow: none;
}

.world-shell.has-shell-sidebar .info-meta-links a,
.world-shell.has-shell-sidebar .info-modal-footer a {
  color: var(--notebook-accent-strong) !important;
  text-decoration: none;
}

.world-shell.has-shell-sidebar .info-meta-links a:hover,
.world-shell.has-shell-sidebar .info-meta-links a:focus-visible,
.world-shell.has-shell-sidebar .info-modal-footer a:hover,
.world-shell.has-shell-sidebar .info-modal-footer a:focus-visible {
  color: var(--notebook-ink) !important;
  outline: none;
}

.world-shell.has-shell-sidebar .info-modal-footer {
  border-top: 1px dashed rgba(18, 143, 135, 0.28);
}

.world-shell.has-shell-sidebar .info-tour-preview {
  border-color: rgba(18, 143, 135, 0.28) !important;
  border-radius: 7px !important;
  background: var(--notebook-paper-soft) !important;
}

.world-shell.has-shell-sidebar .info-tour-preview::after {
  background: linear-gradient(180deg, rgba(255, 253, 247, 0) 0%, rgba(255, 253, 247, 0.34) 48%, rgba(255, 253, 247, 0.88) 100%);
}

.world-shell.has-shell-sidebar .info-tour-preview .onboarding-preview {
  background: var(--notebook-paper-soft) !important;
}

.world-shell.has-shell-sidebar .info-tour-preview .onboarding-preview-topbar {
  color: var(--notebook-muted);
}

.world-shell.has-shell-sidebar .info-tour-preview .onboarding-preview-topbar strong {
  border-color: var(--game-accent-border-strong);
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .info-tour-caption {
  background: rgba(255, 253, 247, 0.92) !important;
}

.world-shell.has-shell-sidebar .info-tour-caption span {
  color: var(--notebook-muted) !important;
}

.world-shell.has-shell-sidebar .info-tour-play {
  border-color: var(--game-accent-border-strong);
  border-radius: 999px;
  background: var(--notebook-accent);
  box-shadow: 2px 2px 0 rgba(73, 49, 29, 0.2);
}

.world-shell.has-shell-sidebar .info-tour-preview:hover .info-tour-play,
.world-shell.has-shell-sidebar .info-tour-preview:focus-visible .info-tour-play {
  border-color: var(--notebook-accent-strong);
  background: var(--notebook-accent-strong);
}

.world-shell.has-shell-sidebar .info-rule-action {
  border: 1px solid rgba(184, 79, 66, 0.32);
  border-radius: 5px;
  background: var(--notebook-danger-soft);
  color: #8f3328;
}

.world-shell.has-shell-sidebar .info-rule-chevron {
  border-color: var(--notebook-muted);
}

.world-shell.has-shell-sidebar .onboarding-prompt-card {
  grid-template-columns: minmax(180px, 0.78fr) minmax(0, 1fr);
}

.world-shell.has-shell-sidebar .onboarding-prompt-card .onboarding-preview {
  border-radius: 5px !important;
  background: var(--notebook-paper-soft) !important;
}

.world-shell.has-shell-sidebar .tour-actions {
  align-items: center;
}

.world-shell.has-shell-sidebar .onboarding-guide-layer {
  z-index: 180;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel {
  width: min(330px, calc(100vw - 1.2rem));
  gap: 0.58rem;
  overflow: hidden;
  padding: 0.86rem;
  border: 1px solid var(--notebook-edge-soft);
  border-left: 4px solid var(--notebook-accent);
  border-radius: 9px;
  background:
    linear-gradient(rgba(118, 98, 67, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px),
    var(--notebook-paper-strong);
  background-size: 18px 18px;
  color: var(--notebook-ink);
  box-shadow: var(--notebook-card-shadow);
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
}

.world-shell.has-shell-sidebar .onboarding-guide-header span {
  min-height: 24px;
  border-color: var(--game-accent-border);
  border-radius: 7px;
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
  letter-spacing: 0.02em;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel .modal-icon-action {
  box-sizing: border-box;
  width: 34px;
  height: 34px;
  min-height: 34px;
  border-color: var(--game-accent-border);
  border-radius: 7px;
  background: var(--notebook-paper-strong);
  color: var(--game-accent-strong);
  box-shadow: none;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel .modal-icon-action:hover,
.world-shell.has-shell-sidebar .onboarding-guide-panel .modal-icon-action:focus-visible {
  border-color: var(--game-accent-strong);
  background: var(--game-accent-strong);
  color: #ffffff;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel h3 {
  color: var(--notebook-ink);
  font-size: 1.08rem;
  line-height: 1.14;
  text-shadow: none;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel p,
.world-shell.has-shell-sidebar .onboarding-guide-panel ul {
  color: var(--notebook-ink);
  text-shadow: none;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel ul {
  gap: 0.32rem;
  font-size: 0.82rem;
  line-height: 1.45;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel .tour-step-actions {
  position: static;
  justify-content: flex-end;
  margin: 0.12rem 0 0;
  padding: 0;
  background: transparent;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel .tour-step-actions .google-button {
  min-height: 48px;
  border: 1px solid var(--game-accent-border);
  border-radius: 7px;
  background: var(--notebook-paper-strong);
  color: var(--game-accent-strong);
  box-shadow: none;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel .tour-step-actions .google-button:not(.google-button-secondary) {
  border-color: var(--game-accent-border-strong);
  background: #fffdf7;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel .tour-step-actions .google-button:hover,
.world-shell.has-shell-sidebar .onboarding-guide-panel .tour-step-actions .google-button:focus-visible {
  border-color: var(--game-accent-strong);
  background: var(--game-accent-strong);
  color: #ffffff;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel .tour-step-actions .google-button:disabled {
  border-color: var(--notebook-edge-soft);
  background: var(--notebook-paper-soft);
  color: var(--notebook-muted);
  opacity: 1;
}

.world-shell.has-shell-sidebar .onboarding-guide-spotlight {
  border-color: var(--game-accent-strong);
  border-radius: 9px;
  box-shadow:
    0 0 0 9999px rgba(3, 8, 12, 0.76),
    0 0 0 4px rgba(255, 253, 247, 0.82),
    0 0 0 7px rgba(18, 143, 135, 0.66),
    0 18px 34px rgba(3, 8, 12, 0.38);
}

.world-shell.has-shell-sidebar .onboarding-guide-label {
  display: none;
}

.world-shell.has-shell-sidebar.is-tour-guide .game-mode-button[data-tour-focus] {
  border-color: var(--game-accent-strong) !important;
  background: #fffdf7 !important;
  color: var(--game-accent-strong) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.9),
    0 0 0 3px rgba(255, 253, 247, 0.95),
    0 0 0 7px rgba(18, 143, 135, 0.72),
    0 16px 30px rgba(3, 8, 12, 0.34) !important;
}

.world-shell.has-shell-sidebar.is-tour-guide .game-mode-button[data-tour-focus] :is(strong, small, span, svg, em),
.world-shell.has-shell-sidebar.is-tour-guide .game-mode-button[data-tour-focus]::after {
  color: var(--game-accent-strong) !important;
}

@media (max-width: 1024px) {
  .world-shell.has-shell-sidebar .onboarding-guide-panel {
    gap: 0.46rem;
    padding: 0.68rem;
  }

  .world-shell.has-shell-sidebar .onboarding-guide-panel h3 {
    font-size: 0.98rem;
  }

  .world-shell.has-shell-sidebar .onboarding-guide-panel p {
    font-size: 0.76rem;
    line-height: 1.34;
  }

  .world-shell.has-shell-sidebar .onboarding-guide-panel ul {
    display: none;
  }

  .world-shell.has-shell-sidebar .onboarding-guide-panel .tour-step-actions {
    margin-top: 0.08rem;
    justify-content: stretch;
  }
}

.world-shell.has-shell-sidebar .area-context-menu {
  border-radius: 7px !important;
  background: var(--notebook-paper) !important;
  background-image:
    linear-gradient(rgba(118, 98, 67, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px) !important;
  background-size: 18px 18px !important;
}

.world-shell.has-shell-sidebar .area-context-menu-header {
  border-bottom: 1px dashed rgba(18, 143, 135, 0.28);
}

.world-shell.has-shell-sidebar .modal-restore-chip,
.world-shell.has-shell-sidebar .area-panel-restore-chip {
  min-height: 42px;
  border-radius: 7px !important;
}

.world-shell.has-shell-sidebar .modal-restore-chip span,
.world-shell.has-shell-sidebar .area-panel-restore-chip span {
  color: var(--notebook-accent-strong) !important;
}

.world-shell.has-shell-sidebar .modal-restore-chip strong,
.world-shell.has-shell-sidebar .area-panel-restore-chip strong {
  color: var(--notebook-ink) !important;
}

/* Notebook surface variant B: flat cards with clear accent edges, no shimmer. */
.world-shell.has-shell-sidebar {
  --notebook-card-shadow: 2px 2px 0 rgba(80, 70, 55, 0.08);
  --notebook-edge-accent: rgba(18, 143, 135, 0.58);
  --notebook-edge-muted: rgba(18, 143, 135, 0.28);
  --notebook-edge-danger: rgba(184, 79, 66, 0.62);
}

.world-shell.has-shell-sidebar :is(
  .game-profile-card,
  .game-profile-stat-card,
  .game-status-card,
  .game-shop-item,
  .game-mode-list .game-mode-button,
  .game-area-entry-card,
  .game-sidebar-area-controls,
  .game-sidebar-area-item,
  .game-sidebar .pixel-resource-summary,
  .game-claim-slot-row,
  .game-sidebar-template-section .overlay-drop-zone,
  .game-sidebar-template-section .overlay-meta-row,
  .game-sidebar-template-section .overlay-render-progress,
  .game-sidebar-template-section .overlay-palette-window,
  .game-sidebar-notification,
  .game-rail-popover,
  .game-sidebar-notification-list.is-floating,
  .area-context-menu,
  .game-sidebar .game-sidebar-selected-area .area-panel-header,
  .game-sidebar .game-sidebar-selected-area .area-collapsible-card,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card summary,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card .area-collapsible-content,
  .game-sidebar .game-sidebar-selected-area .area-fact-list,
  .game-sidebar .game-sidebar-selected-area .area-summary-card,
  .game-sidebar .game-sidebar-selected-area .area-reaction-card,
  .game-sidebar .game-sidebar-selected-area .area-share-card,
  .game-sidebar .game-sidebar-selected-area .area-access-card,
  .game-sidebar .game-sidebar-selected-area .area-edit-card,
  .game-sidebar .game-sidebar-selected-area .area-pixel-audit-card,
  .modal-card,
  .shop-balance,
  .shop-perk,
  .shop-purchase-window,
  .shop-purchase-equation div,
  .owned-area-item,
  .owned-area-section,
  .account-level-panel,
  .account-quick-stat,
  .account-theme-menu,
  .account-notification-menu,
  .account-notification-item,
  .onboarding-prompt-card,
  .onboarding-preview,
  .onboarding-preview-world
) {
  background-color: var(--notebook-paper-strong) !important;
  background-image: none !important;
  box-shadow: var(--notebook-card-shadow) !important;
}

.world-shell.has-shell-sidebar .onboarding-preview.is-tour-overview {
  background:
    linear-gradient(rgba(132, 120, 100, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(132, 120, 100, 0.08) 1px, transparent 1px),
    var(--notebook-paper-soft) !important;
  background-size: 18px 18px !important;
}

.world-shell.has-shell-sidebar .onboarding-tour-step {
  border-color: var(--notebook-edge-soft);
  background: var(--notebook-paper-strong) !important;
  box-shadow: var(--notebook-card-shadow);
}

.world-shell.has-shell-sidebar .onboarding-tour-step-grid {
  background:
    linear-gradient(rgba(132, 120, 100, 0.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(132, 120, 100, 0.13) 1px, transparent 1px),
    rgba(255, 253, 247, 0.34);
  background-size: calc(100% / 14) calc(100% / 8);
}

.world-shell.has-shell-sidebar .onboarding-tour-claim-area {
  border-color: rgba(62, 152, 129, 0.34);
  background: rgba(70, 208, 164, 0.18);
  box-shadow:
    2px 2px 0 rgba(73, 49, 29, 0.2),
    inset 0 0 0 1px rgba(255, 255, 255, 0.42);
}

.world-shell.has-shell-sidebar .onboarding-tour-claim-area::before {
  border-color: rgba(211, 204, 190, 0.94);
}

.world-shell.has-shell-sidebar .onboarding-tour-template-frame {
  border-color: transparent;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .onboarding-tour-step-arrow::before {
  background: rgba(132, 120, 100, 0.72);
}

.world-shell.has-shell-sidebar .onboarding-tour-step-arrow::after {
  border-color: rgba(132, 120, 100, 0.72);
}

.world-shell.has-shell-sidebar :is(
  .game-area-entry-card,
  .game-sidebar-area-controls,
  .game-sidebar-area-item,
  .game-sidebar .game-sidebar-selected-area .area-panel-header,
  .game-sidebar .game-sidebar-selected-area .area-collapsible-card,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card summary,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card .area-collapsible-content,
  .game-sidebar .game-sidebar-selected-area .area-fact-list,
  .game-sidebar .game-sidebar-selected-area .area-summary-card,
  .game-sidebar .game-sidebar-selected-area .area-reaction-card,
  .game-sidebar .game-sidebar-selected-area .area-share-card,
  .game-sidebar .game-sidebar-selected-area .area-access-card,
  .game-sidebar .game-sidebar-selected-area .area-edit-card,
  .game-sidebar .game-sidebar-selected-area .area-pixel-audit-card,
  .owned-area-section,
  .account-level-panel,
  .account-theme-menu,
  .account-notification-menu,
  .onboarding-prompt-card
) {
  box-shadow:
    inset 4px 0 0 var(--notebook-edge-accent),
    var(--notebook-card-shadow) !important;
}

.world-shell.has-shell-sidebar :is(
  .game-mode-list .game-mode-button,
  .game-profile-stat-card,
  .game-status-card,
  .game-shop-item,
  .game-sidebar .pixel-resource-summary,
  .game-claim-slot-row,
  .game-sidebar-template-section .overlay-drop-zone,
  .game-sidebar-template-section .overlay-meta-row,
  .game-sidebar-template-section .overlay-render-progress,
  .game-sidebar-template-section .overlay-palette-window,
  .game-sidebar-notification,
  .game-rail-popover,
  .game-sidebar-notification-list.is-floating,
  .area-context-menu,
  .modal-card,
  .shop-perk,
  .shop-purchase-window,
  .shop-purchase-equation div,
  .owned-area-item,
  .account-quick-stat,
  .account-notification-item
) {
  box-shadow:
    inset 3px 0 0 var(--notebook-edge-muted),
    var(--notebook-card-shadow) !important;
}

.world-shell.has-shell-sidebar :is(
  .game-sidebar .game-sidebar-selected-area .area-admin-tools-card,
  .account-danger-panel,
  .area-context-menu-item.is-danger
) {
  border-color: rgba(184, 79, 66, 0.42) !important;
  background-color: #fff7f3 !important;
  background-image: none !important;
  box-shadow:
    inset 4px 0 0 var(--notebook-edge-danger),
    var(--notebook-card-shadow) !important;
}

.world-shell.has-shell-sidebar :is(
  .game-area-entry-card,
  .game-sidebar-area-item .owned-area-preview,
  .game-sidebar .game-sidebar-selected-area .area-panel-header,
  .game-sidebar .game-sidebar-selected-area .area-collapsible-card,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card summary,
  .game-sidebar .game-sidebar-selected-area .area-more-info-card .area-collapsible-content,
  .game-sidebar .game-sidebar-selected-area .area-fact-list,
  .game-sidebar .game-sidebar-selected-area .area-summary-card,
  .game-sidebar .game-sidebar-selected-area .area-pixel-audit-card,
  .area-context-menu,
  .modal-card,
  .shop-perk,
  .owned-area-item
)::before {
  display: none !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar :is(
  .game-mode-icon,
  .game-area-entry-icon,
  .game-shop-artwork,
  .area-more-info-caret,
  .area-reaction-button,
  .area-quick-action-button,
  .area-action-button,
  .area-request-toggle,
  .area-add-player-button,
  .area-player-options-button,
  .area-options-button
):not(:hover):not(:focus-visible):not(.is-active) {
  background-color: var(--notebook-paper-soft) !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar :is(
  .game-profile-coins,
  .shop-balance,
  .game-profile-stat-card.is-timer,
  .world-finished-postit,
  .area-metric-card.is-finished,
  .account-notification-item.is-warning
):not(:hover):not(:focus-visible) {
  background-color: #fff0ba !important;
  background-image: none !important;
}

.world-shell.has-shell-sidebar .game-sidebar-account-head {
  margin-top: 0.34rem;
  padding-top: 0.6rem;
  border-top: 1px dashed rgba(18, 143, 135, 0.22);
}

.world-shell.has-shell-sidebar .game-settings-link-button {
  text-decoration: none;
}

.world-shell.has-shell-sidebar .game-settings-avatar-preview {
  width: 34px;
  height: 34px;
  border-radius: 5px;
  object-fit: cover;
}

.world-shell.has-shell-sidebar .game-settings-name-card {
  position: relative;
  min-width: 0;
  min-height: 74px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  padding: 0.74rem 0.82rem 0.78rem;
  border: 1px solid rgba(151, 139, 113, 0.32);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(255, 253, 247, 0.98), rgba(255, 250, 240, 0.96)),
    var(--game-paper) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    var(--notebook-card-shadow);
}

.world-shell.has-shell-sidebar .game-settings-name-card:focus-within {
  border-color: rgba(18, 143, 135, 0.62) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    0 0 0 2px rgba(18, 143, 135, 0.12),
    var(--notebook-card-shadow) !important;
}

.world-shell.has-shell-sidebar .game-settings-name-content {
  min-width: 0;
  display: grid;
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-settings-name-label {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.world-shell.has-shell-sidebar .game-settings-name-label strong {
  color: #16232d;
  font-size: 1.04rem;
  font-weight: 950;
  line-height: 1.15;
}

.world-shell.has-shell-sidebar .game-settings-name-label small {
  color: #52606b;
  cursor: help;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.24;
}

.world-shell.has-shell-sidebar .game-settings-name-control {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  align-items: stretch;
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-settings-name-card .account-input {
  min-height: 38px;
  padding: 0.42rem 0.54rem;
  border-color: rgba(18, 143, 135, 0.24) !important;
  background: rgba(255, 253, 247, 0.74) !important;
}

.world-shell.has-shell-sidebar .game-settings-name-card .account-icon-action {
  width: 38px;
  height: 38px;
  min-height: 38px;
  align-self: stretch;
  border-radius: 7px;
}

.world-shell.has-shell-sidebar .game-settings-voucher-card {
  min-width: 0;
  display: grid;
  gap: 0.62rem;
  padding: 0.78rem 0.82rem;
  border: 1px solid rgba(151, 139, 113, 0.32);
  border-radius: 8px;
  background: var(--game-paper) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    var(--notebook-card-shadow);
}

.world-shell.has-shell-sidebar .game-settings-voucher-head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
}

.world-shell.has-shell-sidebar .game-settings-voucher-head span {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.world-shell.has-shell-sidebar .game-settings-voucher-head strong {
  color: #16232d;
  font-size: 1.02rem;
  font-weight: 950;
  line-height: 1.15;
}

.world-shell.has-shell-sidebar .game-settings-voucher-head small,
.world-shell.has-shell-sidebar .game-settings-voucher-history > span,
.world-shell.has-shell-sidebar .game-settings-voucher-history small {
  color: #52606b;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.25;
}

.world-shell.has-shell-sidebar .game-settings-voucher-history-button {
  min-height: 32px;
  padding: 0 0.62rem;
  border: 1px solid rgba(18, 143, 135, 0.24);
  border-radius: 7px;
  background: rgba(18, 143, 135, 0.08);
  color: #0b6f6a;
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-settings-voucher-history-button:disabled {
  cursor: wait;
  opacity: 0.62;
}

.world-shell.has-shell-sidebar .game-settings-voucher-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-settings-voucher-control .account-input {
  min-height: 38px;
  padding: 0.42rem 0.54rem;
  border-color: rgba(18, 143, 135, 0.24) !important;
  background: rgba(255, 253, 247, 0.74) !important;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-settings-voucher-submit {
  width: 38px;
  height: 38px;
  min-height: 38px;
  border-radius: 7px;
}

.world-shell.has-shell-sidebar .game-settings-voucher-history {
  display: grid;
  gap: 0.46rem;
}

.world-shell.has-shell-sidebar .game-settings-voucher-history article {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
  padding: 0.52rem 0.58rem;
  border: 1px solid rgba(18, 143, 135, 0.14);
  border-radius: 7px;
  background: rgba(255, 253, 247, 0.62);
}

.world-shell.has-shell-sidebar .game-settings-voucher-history article strong,
.world-shell.has-shell-sidebar .game-settings-voucher-history article span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-settings-voucher-history article strong {
  color: #16232d;
  font-size: 0.86rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-settings-voucher-history article span {
  color: #0b6f6a;
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.32;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button.is-danger {
  border-color: rgba(184, 79, 66, 0.38) !important;
  color: #a43e34;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button.is-danger .game-mode-icon {
  border-color: rgba(184, 79, 66, 0.28) !important;
  background: #fff0ec !important;
  color: #b84f42 !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button.is-danger :is(strong, small, svg) {
  color: inherit !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button.is-danger:not(:disabled):is(:hover, :focus-visible) {
  border-color: #b84f42 !important;
  background: #b84f42 !important;
  background-image: none !important;
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .game-mode-list .game-mode-button.is-danger:not(:disabled):is(:hover, :focus-visible) .game-mode-icon {
  border-color: rgba(255, 255, 255, 0.42) !important;
  background: rgba(255, 255, 255, 0.16) !important;
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .game-settings-danger-panel {
  margin-top: -0.08rem;
}

@media (max-width: 1024px) {
  .world-shell.has-shell-sidebar .modal-backdrop {
    z-index: 90 !important;
    padding: 0.5rem;
  }

  .world-shell.has-shell-sidebar.has-sidebar-right .modal-backdrop {
    padding: 0.5rem;
  }

  .world-shell.has-shell-sidebar .modal-window {
    border-radius: 10px !important;
    padding: 0.64rem !important;
  }

  .world-shell.has-shell-sidebar .info-modal-backdrop {
    padding: 0.5rem;
  }

  .world-shell.has-shell-sidebar .info-modal-window {
    width: min(960px, 100%);
  }

  .world-shell.has-shell-sidebar .modal-backdrop.is-screen-modal .modal-window,
  .world-shell.has-shell-sidebar .modal-backdrop.is-screen-modal.is-areas-modal-backdrop .areas-modal {
    height: calc(100dvh - 1rem);
    max-height: calc(100dvh - 1rem);
  }

  .world-shell.has-shell-sidebar .modal-backdrop.is-screen-modal.is-areas-modal-backdrop {
    padding: 0.5rem;
  }

  .world-shell.has-shell-sidebar .modal-header {
    gap: 0.62rem;
    margin-bottom: 0.58rem;
    padding-bottom: 0.62rem;
  }

  .world-shell.has-shell-sidebar .info-modal-head {
    padding: 0.18rem 2.8rem 0.68rem 0.08rem;
    justify-items: start;
    text-align: left;
  }

  .world-shell.has-shell-sidebar .owned-area-controls,
  .world-shell.has-shell-sidebar .shop-perk,
  .world-shell.has-shell-sidebar .shop-perk-actions,
  .world-shell.has-shell-sidebar .shop-purchase-equation,
  .world-shell.has-shell-sidebar .onboarding-prompt-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .world-shell.has-shell-sidebar .shop-perk-actions {
    min-width: 0;
    justify-items: stretch;
  }

  .world-shell.has-shell-sidebar .shop-item-artwork {
    width: 54px;
    height: 54px;
  }

  .world-shell.has-shell-sidebar .shop-item-art {
    width: 42px;
  }

  .world-shell.has-shell-sidebar .account-popover {
    right: calc(env(safe-area-inset-right, 0px) + 0.6rem);
    border-radius: 10px !important;
  }
}

@media (max-width: 520px) {
  .world-shell.has-shell-sidebar .owned-area-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .world-shell.has-shell-sidebar .changelog-entry-summary {
    grid-template-columns: minmax(0, 1fr) 28px;
  }

  .world-shell.has-shell-sidebar .changelog-entry-date {
    grid-column: 1;
    grid-row: 2;
  }

  .world-shell.has-shell-sidebar .changelog-entry-toggle {
    grid-column: 2;
    grid-row: 1 / span 2;
  }

  .world-shell.has-shell-sidebar .account-theme-options,
  .world-shell.has-shell-sidebar .account-quick-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .world-shell.has-shell-sidebar .modal-header h2,
  .world-shell.has-shell-sidebar .info-brand-row h2 {
    font-size: 1.25rem;
  }
}

@media (max-width: 1024px) {
  .world-shell.has-shell-sidebar {
    --game-sidebar-width: 100vw;
    --mobile-command-deck-height: min(36dvh, 304px);
    --mobile-command-sheet-height: min(62dvh, calc(100dvh - 4.5rem));
  }

  .world-shell.has-shell-sidebar .world-viewport,
  .world-shell.has-shell-sidebar.has-sidebar-undocked .world-viewport,
  .world-shell.has-shell-sidebar.has-sidebar-collapsed .world-viewport,
  .world-shell.has-shell-sidebar.has-sidebar-undocked.has-sidebar-collapsed .world-viewport {
    width: 100%;
    height: 100dvh;
    margin-left: 0;
    margin-right: 0;
  }

  .world-shell.has-shell-sidebar .game-sidebar,
  .world-shell.has-shell-sidebar .game-sidebar.is-floating,
  .world-shell.has-shell-sidebar .game-sidebar.is-dragging {
    --mobile-sidebar-current-height: var(--mobile-sidebar-height, var(--mobile-command-sheet-height));
    inset: auto 0 0 0 !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw;
    max-width: 100vw;
    height: var(--mobile-sidebar-current-height);
    min-height: var(--mobile-sidebar-current-height);
    max-height: calc(100dvh - 2.8rem);
    flex-basis: var(--mobile-sidebar-current-height);
    gap: 0.52rem;
    overflow-x: hidden;
    overflow-y: hidden;
    overscroll-behavior: none;
    padding:
      0.58rem
      calc(env(safe-area-inset-right, 0px) + 0.62rem)
      calc(env(safe-area-inset-bottom, 0px) + 0.62rem)
      calc(env(safe-area-inset-left, 0px) + 0.62rem);
    border-top: 1px solid rgba(18, 143, 135, 0.32);
    border-right: 0;
    border-radius: 16px 16px 0 0;
    background:
      linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(247, 240, 228, 0.98)),
      var(--notebook-paper-strong);
    box-shadow:
      0 -2px 0 rgba(255, 255, 255, 0.72),
      0 -18px 42px rgba(28, 24, 18, 0.18);
    cursor: default;
    scrollbar-width: none;
    transition: height 140ms ease, box-shadow 160ms ease;
  }

  .world-shell.has-shell-sidebar .game-sidebar-scroll-area {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 0;
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-mobile-resizing {
    transition: none;
    -webkit-user-select: none;
            user-select: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar::-webkit-scrollbar,
  .world-shell.has-shell-sidebar .game-sidebar-scroll-area::-webkit-scrollbar {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar::before {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-topbar {
    position: relative;
    z-index: 6;
    width: 100%;
    min-height: 36px;
    display: grid;
    grid-template-columns: max-content minmax(44px, 1fr) minmax(72px, 0.8fr);
    align-items: center;
    gap: 0.34rem;
    flex: 0 0 auto;
    margin: -0.1rem 0 0.18rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar-resize-handle {
    grid-column: 2;
    grid-row: 1;
    width: 64px;
    min-height: 34px;
    display: grid;
    place-items: center;
    justify-self: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(18, 143, 135, 0.48);
    cursor: ns-resize;
    touch-action: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar-resize-handle span {
    width: 54px;
    height: 5px;
    display: block;
    border-radius: 999px;
    background: currentColor;
    box-shadow:
      0 1px 0 rgba(255, 255, 255, 0.72),
      0 7px 0 rgba(132, 120, 100, 0.08);
    transition: width 140ms ease, background-color 140ms ease;
  }

  .world-shell.has-shell-sidebar .game-sidebar-resize-handle:is(:hover, :focus-visible) {
    color: var(--game-accent-strong);
    outline: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar-resize-handle:is(:hover, :focus-visible) span {
    width: 58px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main {
    --mobile-sidebar-current-height: var(--mobile-sidebar-height, var(--mobile-command-deck-height));
    height: var(--mobile-sidebar-current-height);
    min-height: var(--mobile-sidebar-current-height);
    max-height: calc(100dvh - 3rem);
    flex-basis: var(--mobile-sidebar-current-height);
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-collapsed {
    align-items: stretch;
    height: auto;
    min-height: 0;
    max-height: calc(env(safe-area-inset-bottom, 0px) + 86px);
    flex-basis: auto;
    overflow-x: auto;
    overflow-y: hidden;
    padding-top: 0.5rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-collapsed::before {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-collapsed .game-sidebar-resize-handle {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-collapsed .game-sidebar-mobile-topbar {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-collapsed .game-sidebar-scroll-area {
    flex: 1 1 auto;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-collapsed .game-sidebar-rail {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.46rem;
    min-width: max-content;
  }

  .world-shell.has-shell-sidebar .game-sidebar:not(.is-collapsed) .game-sidebar-brand .game-sidebar-collapse-button,
  .world-shell.has-shell-sidebar .game-sidebar:not(.is-collapsed) .game-sidebar-subhead-actions .game-sidebar-collapse-button {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar-brand,
  .world-shell.has-shell-sidebar .game-sidebar-subhead {
    position: sticky;
    z-index: 3;
    top: 0.04rem;
    min-height: 34px;
    padding: 0.08rem 0 0.28rem;
    border-bottom: 1px dashed rgba(18, 143, 135, 0.18);
    background:
      linear-gradient(180deg, rgba(255, 253, 247, 0.99), rgba(255, 253, 247, 0.94));
  }

  .world-shell.has-shell-sidebar .game-sidebar-brand strong {
    font-size: 1rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar-subhead {
    gap: 0.46rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar:not(.is-main):not(.is-collapsed) .game-sidebar-subhead {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar-subhead-main {
    min-width: 0;
  }

  .world-shell.has-shell-sidebar .game-sidebar-subhead-actions {
    min-width: 0;
    margin-left: auto;
  }

  .world-shell.has-shell-sidebar .game-sidebar-subhead-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar-back {
    min-height: 34px;
    border-radius: 7px !important;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-context {
    width: 100%;
    min-width: 0;
    display: contents;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-context.is-compact {
    display: contents;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-action-row {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.2rem;
    overflow: hidden;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-context.is-compact .game-sidebar-mobile-action-row {
    justify-content: flex-start;
  }

  .world-shell.has-shell-sidebar .game-sidebar-top-button {
    width: 30px;
    height: 30px;
    min-height: 30px;
    flex: 0 0 30px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(18, 143, 135, 0.28);
    border-radius: 7px;
    background:
      linear-gradient(180deg, var(--game-accent-panel), #fffaf0);
    color: #52606b;
    cursor: pointer;
  }

  .world-shell.has-shell-sidebar .game-sidebar-top-button.is-active {
    border-color: var(--game-accent-strong);
    background: var(--game-accent-strong);
    color: #ffffff;
    outline: none;
  }

  @media (hover: hover) and (pointer: fine) {
    .world-shell.has-shell-sidebar .game-sidebar-top-button:is(:hover, :focus-visible) {
      border-color: var(--game-accent-strong);
      background: var(--game-accent-strong);
      color: #ffffff;
      outline: none;
    }
  }

  @media (pointer: coarse) {
    .world-shell.has-shell-sidebar .game-sidebar-top-button[aria-pressed="false"]:not(.is-active) {
      border-color: rgba(18, 143, 135, 0.28);
      background:
        linear-gradient(180deg, var(--game-accent-panel), #fffaf0);
      color: #52606b;
    }
  }

  .world-shell.has-shell-sidebar .game-sidebar-top-button svg,
  .world-shell.has-shell-sidebar .game-sidebar-top-button .game-image-icon {
    width: 18px;
    height: 18px;
  }

  .world-shell.has-shell-sidebar .game-sidebar-top-button.is-back span {
    color: inherit;
    font-size: 1rem;
    font-weight: 950;
    line-height: 1;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-pixel-count {
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
    min-height: 32px;
    display: flex;
    align-items: center;
    gap: 0.34rem;
    overflow: hidden;
    padding: 0.22rem 0.42rem;
    border: 1px solid rgba(18, 143, 135, 0.24);
    border-radius: 7px;
    background:
      linear-gradient(90deg, rgba(18, 143, 135, 0.1), rgba(255, 250, 240, 0.96) 48%),
      #fffaf0;
    color: #1c2732;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-pixel-count svg,
  .world-shell.has-shell-sidebar .game-sidebar-mobile-pixel-count .tool-mini-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    color: var(--game-accent-strong);
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-pixel-count > span {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 0.24rem;
    overflow: hidden;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-pixel-count strong {
    overflow: hidden;
    color: #1c2732;
    font-size: 0.82rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1;
    text-overflow: ellipsis;
    text-transform: none;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-pixel-count strong::before {
    content: none !important;
    display: none !important;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-pixel-count small {
    overflow: hidden;
    color: #66727c;
    font-size: 0.66rem;
    font-weight: 850;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar-mobile-pixel-count.is-wide > span {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.08rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar-footer {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-sidebar-section {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    gap: 0.42rem;
    padding: 0;
    border: 0;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-sidebar-section-head {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-sidebar-section:first-of-type .game-sidebar-section-head {
    display: flex;
    min-height: 32px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-card {
    min-height: 54px;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    grid-template-areas: "avatar copy wallet";
    align-items: center;
    gap: 0.52rem;
    overflow: hidden;
    padding: 0.44rem;
    border-radius: 9px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-avatar {
    width: 42px;
    height: 42px;
    border-radius: 7px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-name-row {
    gap: 0.26rem;
    flex-wrap: nowrap;
    overflow: hidden;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-name-row strong {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.94rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-copy span {
    display: block;
    overflow: hidden;
    font-size: 0.72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-role-tag {
    flex: 0 1 auto;
    max-width: 38%;
    min-height: 18px;
    overflow: hidden;
    padding: 0.1rem 0.32rem;
    font-size: 0.62rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-coins {
    width: auto;
    min-width: 64px;
    max-width: min(132px, 30vw);
    grid-area: wallet;
    grid-column: auto;
    gap: 0.24rem;
    justify-content: center;
    overflow: hidden;
    padding: 0.34rem 0.44rem;
    border-radius: 7px;
    font-size: 0.78rem;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-coins strong {
    min-width: 0;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-card > .game-sidebar-small-button {
    grid-area: wallet;
    align-self: center;
    justify-self: end;
    min-height: 34px;
    max-width: 92px;
    overflow: hidden;
    padding-inline: 0.56rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-coins::before,
  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-level-strip,
  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-level-bar,
  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-stats,
  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-progress,
  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-meta {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-sidebar-areas-entry-section {
    order: 2;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-card {
    min-height: 54px;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.52rem;
    overflow: hidden;
    padding: 0.44rem 0.5rem;
    border-radius: 9px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-icon {
    width: 40px;
    height: 40px;
    border-radius: 7px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-icon .tool-mini-icon,
  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-icon .game-image-icon {
    width: 28px;
    height: 28px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-copy strong {
    overflow: hidden;
    font-size: 0.94rem;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-copy small {
    overflow: hidden;
    font-size: 0.72rem;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-count {
    box-sizing: border-box;
    width: clamp(46px, 13vw, 58px);
    min-width: 46px;
    overflow: hidden;
    padding: 0.3rem 0.36rem;
    border-radius: 7px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-count :is(strong, small) {
    max-width: 100%;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.44rem;
    overflow: hidden;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button {
    width: 100%;
    max-width: 100%;
    min-height: 58px;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    align-items: center;
    justify-items: center;
    gap: 0.26rem;
    min-width: 0;
    overflow: hidden;
    padding: 0.46rem 0.34rem;
    border-radius: 9px;
    text-align: center;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button::after {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button .game-mode-icon {
    width: 32px;
    height: 32px;
    border-radius: 7px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    font-size: 0.82rem;
    line-height: 1.05;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button > span:not(.game-mode-icon) {
    min-width: 0;
    max-width: 100%;
    display: grid;
    place-items: center;
    overflow: hidden;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button small,
  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button em {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar:not(.is-main):not(.is-collapsed) .game-sidebar-section {
    min-width: 0;
    padding: 0.16rem 0 0.4rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar:not(.is-main):not(.is-collapsed) .game-mode-button,
  .world-shell.has-shell-sidebar .game-sidebar:not(.is-main):not(.is-collapsed) .game-status-card,
  .world-shell.has-shell-sidebar .game-sidebar:not(.is-main):not(.is-collapsed) .game-shop-item,
  .world-shell.has-shell-sidebar .game-sidebar:not(.is-main):not(.is-collapsed) .game-sidebar-area-item,
  .world-shell.has-shell-sidebar .game-sidebar:not(.is-main):not(.is-collapsed) .game-settings-name-card {
    border-radius: 9px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-settings .game-settings-list,
  .world-shell.has-shell-sidebar .game-sidebar.is-shop .game-shop-list,
  .world-shell.has-shell-sidebar .game-sidebar.is-areas .game-sidebar-area-list {
    gap: 0.52rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-claim .game-tool-grid,
  .world-shell.has-shell-sidebar .game-sidebar.is-paint .game-tool-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-paint .game-tool-grid.is-paint-tools {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-paint .game-color-grid {
    grid-template-columns: repeat(8, minmax(28px, 1fr));
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-shop .game-shop-item {
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-shop .game-shop-quantity-row,
  .world-shell.has-shell-sidebar .game-sidebar.is-shop .game-shop-purchase-row {
    grid-column: 1 / -1;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-areas .game-sidebar-area-controls {
    position: sticky;
    z-index: 2;
    top: 3.2rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-areas .game-sidebar-area-item {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-area .game-sidebar-selected-area {
    max-height: none;
    overflow: visible;
  }

  .world-shell.has-shell-sidebar .game-sidebar-notification-list.is-floating {
    position: fixed;
    right: calc(env(safe-area-inset-right, 0px) + 0.62rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + var(--mobile-sidebar-current-height, var(--mobile-command-deck-height)) + 0.7rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.62rem);
    width: auto;
    max-height: min(36dvh, 280px);
  }

  .world-shell.has-shell-sidebar .game-rail-popover {
    bottom: calc(100% + 0.5rem);
    left: 50%;
    top: auto;
    width: min(236px, calc(100vw - 1.4rem));
    transform: translateX(-50%);
  }

  .world-shell.has-shell-sidebar .game-rail-item.has-popover::after {
    inset: auto -0.35rem 100%;
    width: calc(100% + 0.7rem);
    height: 12px;
  }

  .world-shell.has-shell-sidebar .game-sidebar :is(input, textarea, select, .account-input) {
    font-size: 16px !important;
  }
}

@media (max-width: 420px) {
  .world-shell.has-shell-sidebar {
    --mobile-command-deck-height: min(39dvh, 292px);
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-card {
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-areas:
      "avatar copy"
      "wallet wallet";
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-coins {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-content: space-between;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-card > .game-sidebar-small-button {
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-profile-coins::before {
    display: inline;
    content: "Coins";
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-card {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-area-entry-count {
    display: none;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list {
    gap: 0.34rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button {
    min-height: 62px;
    padding: 0.42rem 0.22rem;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button .game-mode-icon {
    width: 30px;
    height: 30px;
  }

  .world-shell.has-shell-sidebar .game-sidebar.is-main .game-mode-list .game-mode-button strong {
    font-size: 0.78rem;
    line-height: 1;
  }
}

/* Realm entry uses the same sidebar rhythm as the core game modes. */
.world-shell.has-shell-sidebar .game-sidebar-realm-section {
  padding-top: 0;
}

.world-shell.has-shell-sidebar .game-realm-entry-button {
  min-height: 62px;
}

.world-shell.has-shell-sidebar .game-rail-realm-button {
  color: inherit;
}

/* The realm portal owns the permanent top-right position. */
.world-shell.has-shell-sidebar .world-hud-right {
  top: 112px;
}

@media (max-width: 700px) {
  .world-shell.has-shell-sidebar .world-hud-right {
    top: calc(env(safe-area-inset-top, 0px) + 84px);
  }
}

/* Colorful QA redesign: practical widths, complete navigation, and three distinct layouts. */
.world-shell.cplace-concept--aurora.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(340px, 24vw, 380px);
}

.world-shell.cplace-concept--citrus.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(372px, 27vw, 420px);
}

.world-shell.cplace-concept--arcade.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(314px, 21vw, 342px);
}

.world-shell.cplace-concept .game-sidebar {
  padding: max(0.72rem, env(safe-area-inset-top, 0px)) 0.72rem max(0.72rem, env(safe-area-inset-bottom, 0px));
}

.world-shell.cplace-concept .game-sidebar-scroll-area {
  min-height: 0;
  gap: 0.62rem;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-color: color-mix(in srgb, var(--concept-secondary) 52%, transparent) transparent;
  scrollbar-width: thin;
}

.world-shell.cplace-concept .game-sidebar-brand {
  flex: 0 0 auto;
  min-height: 48px;
  padding: 0 0.12rem 0.62rem;
}

.world-shell.cplace-concept .game-sidebar-logo-button {
  min-height: 40px;
}

.world-shell.cplace-concept .game-sidebar-section-head {
  min-height: 25px;
}

.world-shell.cplace-concept .game-sidebar-section-head > span,
.world-shell.cplace-concept .game-sidebar-subhead strong {
  line-height: 1.25;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-section {
  flex: 0 0 auto;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-footer {
  flex: 0 0 auto;
  min-height: 58px;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-profile-section {
  padding: 0.68rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-profile-card {
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  gap: 0.58rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-profile-avatar {
  width: 46px !important;
  height: 46px !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-profile-copy {
  min-width: 0;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-profile-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-profile-section > .game-sidebar-section-head,
.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-modes-section > .game-sidebar-section-head {
  margin-bottom: 0.05rem;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-area-entry-card {
  min-height: 76px !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "icon copy count"
    "icon progress progress" !important;
  gap: 0.35rem 0.55rem !important;
  padding: 0.58rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-area-entry-icon {
  width: 46px !important;
  height: 46px !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-area-entry-meta {
  display: none;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-mode-list {
  gap: 0.5rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-mode-button {
  min-width: 0;
  min-height: 70px !important;
  padding: 0.58rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-mode-button > span:not(.game-mode-icon) {
  min-width: 0;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-mode-button small {
  max-width: 100%;
  overflow: hidden;
  line-height: 1.3;
  text-overflow: ellipsis;
}

/* Aurora: a focused command deck with the two primary actions leading the page. */
.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-sidebar-modes-section {
  order: 1;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-sidebar-areas-entry-section {
  order: 2;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-sidebar-profile-section {
  order: 3;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-button {
  min-height: 98px !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-content: center;
  padding: 0.68rem !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-button:nth-child(3) {
  min-height: 62px !important;
  grid-column: 1 / -1 !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-icon {
  width: 46px !important;
  height: 46px !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-sidebar-profile-section {
  border-radius: 14px !important;
  box-shadow: none !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-profile-stats,
.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-level-strip,
.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-level-bar {
  display: none !important;
}

/* Citrus: a bright launcher with equal, instantly scannable actions. */
.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-sidebar-profile-section {
  order: 1;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-sidebar-modes-section {
  order: 2;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-sidebar-areas-entry-section {
  order: 3;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button,
.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button:nth-child(3) {
  min-height: 104px !important;
  grid-column: auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 44px auto !important;
  justify-items: center;
  align-content: center;
  gap: 0.38rem !important;
  padding: 0.55rem 0.38rem !important;
  text-align: center !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button:nth-child(1) {
  background: var(--concept-mode-claim-soft) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button:nth-child(2) {
  background: var(--concept-mode-paint-soft) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button:nth-child(3) {
  background: var(--concept-mode-shop-soft) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-icon {
  width: 44px !important;
  height: 44px !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button small {
  font-size: 0.64rem !important;
  white-space: nowrap;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-area-entry-card {
  border-radius: 18px !important;
}

/* Arcade: a narrow keyboard-like console that keeps the canvas dominant. */
.world-shell.cplace-concept--arcade .game-sidebar,
.world-shell.cplace-concept--arcade .game-sidebar :is(button, input, textarea, select) {
  border-radius: 4px !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-sidebar-modes-section {
  order: 1;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-sidebar-areas-entry-section {
  order: 2;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-sidebar-profile-section {
  order: 3;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-list {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0.36rem !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-button {
  min-height: 56px !important;
  grid-template-columns: 40px minmax(0, 1fr) auto !important;
  padding: 0.42rem 1.9rem 0.42rem 0.48rem !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-icon {
  width: 40px !important;
  height: 40px !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-button strong {
  font-size: 0.78rem !important;
  letter-spacing: 0.08em;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-button small {
  font-size: 0.64rem !important;
  white-space: nowrap;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-sidebar-profile-section {
  padding: 0.55rem !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-profile-stats,
.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-level-strip,
.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-level-bar {
  display: none !important;
}

/* Submenus use the full panel width without tiny controls or hidden actions. */
.world-shell.cplace-concept .game-sidebar:not(.is-main):not(.is-collapsed) .game-sidebar-scroll-area {
  gap: 0.62rem;
}

.world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-subhead {
  top: -0.72rem;
  min-height: 52px !important;
  margin-inline: -0.08rem;
  padding: 0.62rem 0.08rem 0.54rem !important;
}

.world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-section {
  gap: 0.62rem !important;
  padding: 0.7rem !important;
  border-radius: 12px !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-claim-tools-section {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-claim-slot-row,
.world-shell.cplace-concept .game-sidebar.is-claim .pixel-resource-summary {
  min-height: 68px;
  padding: 0.55rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-tool-button,
.world-shell.cplace-concept .game-sidebar.is-paint .game-tool-button {
  min-height: 64px !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .game-color-grid {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .pixel-color-button {
  min-height: 30px;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-list,
.world-shell.cplace-concept--arcade .game-sidebar.is-shop .game-shop-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item,
.world-shell.cplace-concept--arcade .game-sidebar.is-shop .game-shop-item {
  min-height: 126px;
  grid-template-columns: 50px minmax(0, 1fr) 84px !important;
  grid-template-areas:
    "art copy purchase"
    "quantity quantity purchase" !important;
  grid-template-rows: auto auto !important;
  align-items: center;
  padding: 0.62rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-artwork {
  width: 50px !important;
  height: 50px !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item > button {
  width: 84px;
  min-height: 76px !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-settings .game-settings-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list .game-mode-button {
  min-height: 64px !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-controls {
  top: 3.15rem;
}

.world-shell.cplace-concept .game-sidebar.is-area .area-panel-tabs {
  grid-template-columns: repeat(auto-fit, minmax(82px, 1fr));
}

@media (min-width: 1025px) {
  .world-shell.cplace-concept .game-sidebar:not(.is-floating) {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }
}

@media (max-width: 1024px) {
  .world-shell.cplace-concept--aurora.has-shell-sidebar:not(.has-sidebar-collapsed),
  .world-shell.cplace-concept--citrus.has-shell-sidebar:not(.has-sidebar-collapsed),
  .world-shell.cplace-concept--arcade.has-shell-sidebar:not(.has-sidebar-collapsed) {
    --game-sidebar-width: 100vw;
  }

  .world-shell.cplace-concept .game-sidebar {
    padding: 0.5rem 0.65rem max(0.62rem, env(safe-area-inset-bottom, 0px));
    border-radius: 18px 18px 0 0 !important;
  }

  .world-shell.cplace-concept .game-sidebar-mobile-topbar {
    min-height: 24px;
  }

  .world-shell.cplace-concept .game-sidebar-resize-handle {
    min-height: 20px;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-brand {
    min-height: 42px;
    padding-bottom: 0.42rem;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-modes-section {
    order: 1;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-areas-entry-section {
    order: 2;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-profile-section {
    order: 3;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-list,
  .world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-list,
  .world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-list,
  .world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-button,
  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-button:nth-child(3),
  .world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-button,
  .world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button,
  .world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-button {
    min-height: 78px !important;
    grid-column: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 36px auto !important;
    justify-items: center;
    align-content: center;
    gap: 0.28rem !important;
    padding: 0.45rem 0.3rem !important;
    text-align: center !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-icon,
  .world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-icon,
  .world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-icon,
  .world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-icon {
    width: 36px !important;
    height: 36px !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-button::after,
  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-button small {
    display: none !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-area-entry-card {
    min-height: 68px !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-profile-section {
    padding: 0.55rem !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-profile-stats,
  .world-shell.cplace-concept .game-sidebar.is-main .game-level-strip,
  .world-shell.cplace-concept .game-sidebar.is-main .game-level-bar {
    display: none !important;
  }

  .world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-subhead {
    position: sticky;
    top: -0.5rem;
  }

  .world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-controls {
    position: relative;
    top: auto;
  }
}

@media (max-width: 520px) {
  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-footer {
    margin-top: 0;
  }

  .world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-claim-tools-section {
    grid-template-columns: minmax(0, 1fr);
  }

  .world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item,
  .world-shell.cplace-concept--arcade .game-sidebar.is-shop .game-shop-item {
    min-height: 116px;
    grid-template-columns: 44px minmax(0, 1fr) 72px !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item > button {
    width: 72px;
  }
}

/* Shared notification center: one clear hierarchy across sidebar, rail and account views. */
.notification-center {
  box-sizing: border-box;
  min-width: 0;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid rgba(50, 65, 84, 0.14) !important;
  border-radius: 18px !important;
  background: #f7faf9 !important;
  color: #293447;
  box-shadow: 0 18px 46px rgba(29, 39, 56, 0.18) !important;
}

.notification-center-header {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid rgba(50, 65, 84, 0.1);
  background: #ffffff;
}

.notification-center-header-icon,
.notification-center-empty-icon {
  display: grid;
  place-items: center;
  border: 1px solid rgba(19, 155, 148, 0.16);
  background: #e8f7f4;
  color: #0b8f89;
}

.notification-center-header-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
}

.notification-center-header-icon-image {
  width: 28px;
  height: 28px;
}

.notification-center-header-copy {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.notification-center-header-copy strong {
  overflow: hidden;
  color: #293447 !important;
  font-size: 14px !important;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notification-center-header-copy small {
  overflow: hidden;
  color: #788396 !important;
  font-size: 10px !important;
  font-weight: 700;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.notification-center-close {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(50, 65, 84, 0.12);
  border-radius: 10px;
  background: #f3f6f6;
  color: #687487;
  cursor: pointer;
}

.notification-center-close > span {
  position: relative;
  width: 13px;
  height: 13px;
}

.notification-center-close > span::before,
.notification-center-close > span::after {
  position: absolute;
  top: 6px;
  left: 1px;
  width: 11px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
}

.notification-center-close > span::before {
  transform: rotate(45deg);
}

.notification-center-close > span::after {
  transform: rotate(-45deg);
}

.notification-center-close:is(:hover, :focus-visible) {
  border-color: rgba(19, 155, 148, 0.3);
  outline: 3px solid rgba(19, 155, 148, 0.1);
  outline-offset: 1px;
  background: #e8f7f4;
  color: #08766f;
}

.notification-center-list {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  overflow-y: auto;
  padding: 10px;
  scrollbar-color: rgba(95, 108, 126, 0.35) transparent;
  scrollbar-width: thin;
}

.notification-center-item {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 6px;
  align-items: start;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(52, 67, 86, 0.11);
  border-radius: 14px;
  background: #ffffff;
  color: #293447;
  box-shadow: 0 3px 10px rgba(35, 46, 63, 0.035);
}

.notification-center-item.is-unread {
  border-color: rgba(19, 155, 148, 0.28);
  background: #fbfffe;
}

.notification-center-item.is-warning {
  border-color: rgba(222, 154, 34, 0.24);
}

.notification-center-item.is-success {
  border-color: rgba(70, 164, 102, 0.22);
}

.notification-center-item-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #edf7fb;
}

.notification-center-item.is-warning .notification-center-item-icon {
  background: #fff5df;
}

.notification-center-item.is-success .notification-center-item-icon {
  background: #edf8ef;
}

.notification-center-item-icon-image {
  width: 31px;
  height: 31px;
}

.notification-center-item-content {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.notification-center-item-head {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
}

.notification-center-item-head strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #293447 !important;
  font-size: 12px !important;
  font-weight: 900;
  line-height: 1.3;
}

.notification-center-item-head time {
  margin-top: 1px;
  color: #8a94a5 !important;
  font-size: 9px !important;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  font-weight: 750;
  line-height: 1.35;
  white-space: nowrap;
}

.notification-center-item-content > p {
  margin: 0;
  color: #667287 !important;
  font-size: 11px !important;
  font-weight: 600;
  line-height: 1.45 !important;
  overflow-wrap: anywhere;
}

.notification-center-unread {
  width: 6px;
  height: 6px;
  align-self: center;
  border-radius: 999px;
  background: #139b94;
  box-shadow: 0 0 0 3px rgba(19, 155, 148, 0.1);
}

.notification-center-empty {
  display: grid;
  justify-items: center;
  gap: 6px;
  padding: 24px 18px;
  text-align: center;
}

.notification-center-empty-icon {
  width: 54px;
  height: 54px;
  margin-bottom: 2px;
  border-radius: 16px;
}

.notification-center-empty-icon-image {
  width: 36px;
  height: 36px;
}

.notification-center-empty > strong {
  color: #293447 !important;
  font-size: 13px !important;
  font-weight: 900;
}

.notification-center-empty > p {
  max-width: 220px;
  margin: 0;
  color: #7a8597 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

.notification-center .notification-reward-button,
.notification-center .notification-access-actions button {
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid rgba(19, 155, 148, 0.28);
  border-radius: 9px;
  background: #e9f7f4;
  color: #08766f;
  font-size: 10px;
  font-weight: 900;
}

.notification-center .notification-reward-button {
  width: 100%;
  justify-self: stretch;
}

.notification-center .notification-access-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 3px;
}

.notification-center .notification-access-actions button:last-child {
  border-color: rgba(82, 94, 111, 0.16);
  background: #f2f4f6;
  color: #586579;
}

.notification-center :is(.notification-reward-button, .notification-access-actions button):is(:hover, :focus-visible):not(:disabled) {
  border-color: rgba(19, 155, 148, 0.52);
  outline: 2px solid rgba(19, 155, 148, 0.1);
  outline-offset: 1px;
  background: #dff3ef;
}

.world-shell.has-shell-sidebar .notification-center.game-sidebar-notification-list.is-floating {
  width: min(300px, calc(var(--game-sidebar-width) - 18px));
  max-height: min(520px, calc(100dvh - 120px));
}

.notification-center.account-notification-menu,
.notification-center.studio-rail-notification-popover {
  max-height: min(480px, calc(100dvh - 140px));
}

.notification-center.has-footer {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.notification-center.is-full {
  width: 100%;
  height: 100%;
  grid-template-rows: auto auto minmax(0, 1fr);
  border-radius: 22px !important;
  box-shadow: 0 28px 80px rgba(27, 39, 55, 0.24) !important;
}

.notification-center-footer {
  padding: 9px 10px 10px;
  border-top: 1px solid rgba(50, 65, 84, 0.1);
  background: #ffffff;
}

.notification-center-footer > button {
  width: 100%;
  min-height: 38px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 16px;
  align-items: center;
  gap: 8px;
  padding: 7px 10px 7px 12px;
  border: 1px solid rgba(19, 155, 148, 0.2);
  border-radius: 11px;
  background: #eaf7f5;
  color: #08766f;
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-align: left;
  transition: border-color 140ms ease, background 140ms ease, transform 140ms ease;
}

.notification-center-footer > button > strong {
  min-width: 25px;
  padding: 3px 6px;
  border-radius: 999px;
  background: #ffffff;
  color: #08766f !important;
  font-size: 9px !important;
  line-height: 1.2;
  text-align: center;
}

.notification-center-footer > button > span:last-child {
  font-size: 21px;
  font-weight: 700;
  line-height: 0.7;
  text-align: center;
}

.notification-center-footer > button:is(:hover, :focus-visible) {
  border-color: rgba(19, 155, 148, 0.46);
  outline: 3px solid rgba(19, 155, 148, 0.1);
  outline-offset: 1px;
  background: #ddf3ef;
  transform: translateY(-1px);
}

.notification-center-toolbar {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(50, 65, 84, 0.1);
  background: #f7faf9;
}

.notification-center-toolbar > button {
  min-width: 0;
  min-height: 42px;
  display: grid;
  grid-template-columns: 20px minmax(0, auto) auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: #6b778a;
  cursor: pointer;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
}

.notification-center-toolbar > button > svg {
  width: 20px;
  height: 20px;
}

.notification-center-toolbar > button > strong {
  min-width: 23px;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(103, 118, 137, 0.11);
  color: inherit !important;
  font-size: 9px !important;
  line-height: 1.2;
  text-align: center;
}

.notification-center-toolbar > button:is(:hover, :focus-visible) {
  border-color: rgba(19, 155, 148, 0.2);
  outline: none;
  background: rgba(19, 155, 148, 0.07);
  color: #08766f;
}

.notification-center-toolbar > button.is-active {
  border-color: rgba(19, 155, 148, 0.3);
  background: #e6f6f3;
  color: #08766f;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.78);
}

.notification-center-toolbar > button.is-active > strong {
  background: #ffffff;
}

.notification-center-modal-backdrop {
  z-index: 1245 !important;
}

.notification-center-modal,
.world-shell.has-shell-sidebar .notification-center-modal {
  width: min(760px, 100%);
  height: min(740px, calc(100dvh - 48px));
  max-height: calc(100dvh - 48px);
  padding: 0 !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.notification-center-full-view {
  min-height: 0;
}

.notification-center.is-full .notification-center-header {
  grid-template-columns: 48px minmax(0, 1fr) 38px;
  gap: 12px;
  padding: 15px 16px;
  background: linear-gradient(135deg, #ffffff 0%, #f1faf8 100%);
}

.notification-center.is-full .notification-center-header-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
}

.notification-center.is-full .notification-center-header-icon-image {
  width: 31px;
  height: 31px;
}

.notification-center.is-full .notification-center-header-copy strong {
  font-size: 17px !important;
}

.notification-center.is-full .notification-center-header-copy small {
  font-size: 11px !important;
}

.notification-center.is-full .notification-center-close {
  width: 38px;
  height: 38px;
  border-radius: 12px;
}

.notification-center-list.is-full-list {
  gap: 10px;
  padding: 14px;
  overscroll-behavior: contain;
}

.notification-center-list.is-full-list .notification-center-item {
  grid-template-columns: 48px minmax(0, 1fr) 7px;
  gap: 13px;
  padding: 14px;
  border-radius: 16px;
}

.notification-center-list.is-full-list .notification-center-item-icon {
  width: 48px;
  height: 48px;
  border-radius: 13px;
}

.notification-center-list.is-full-list .notification-center-item-icon-image {
  width: 36px;
  height: 36px;
}

.notification-center-list.is-full-list .notification-center-item-content {
  gap: 7px;
}

.notification-center-list.is-full-list .notification-center-item-head strong {
  font-size: 14px !important;
}

.notification-center-list.is-full-list .notification-center-item-head time {
  font-size: 10px !important;
}

.notification-center-list.is-full-list .notification-center-item-content > p {
  max-width: 62ch;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.notification-center-category {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 3px 8px;
  border: 1px solid rgba(19, 155, 148, 0.18);
  border-radius: 999px;
  background: #e9f7f4;
  color: #08766f;
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.2;
}

.notification-center-category.is-rewards {
  border-color: rgba(204, 145, 30, 0.2);
  background: #fff5df;
  color: #94620e;
}

.notification-center-category.is-account {
  border-color: rgba(112, 91, 207, 0.18);
  background: #f0edff;
  color: #6754b8;
}

.notification-center-category.is-system {
  border-color: rgba(82, 105, 135, 0.17);
  background: #edf2f6;
  color: #53677f;
}

.notification-settings-panel {
  min-width: 0;
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 16px;
  overflow-y: auto;
  padding: 22px;
  overflow-wrap: anywhere;
  overscroll-behavior: contain;
  scrollbar-color: rgba(95, 108, 126, 0.35) transparent;
  scrollbar-width: thin;
}

.notification-settings-panel > header {
  display: grid;
  gap: 8px;
  padding: 0;
}

.notification-settings-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
}

.notification-settings-heading > strong {
  color: #304744 !important;
  font-size: 18px !important;
  font-weight: 750;
  line-height: 1.25;
}

.notification-settings-summary {
  padding: 5px 9px;
  border-radius: 7px;
  background: #e5eeea;
  color: #405e55;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
  white-space: nowrap;
}

.notification-settings-panel > header > p {
  margin: 0;
  color: #52665f !important;
  font-size: 13px !important;
  font-weight: 400;
  line-height: 1.5 !important;
}

.notification-settings-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  border: 1px solid #d2ddd8;
  border-radius: 14px;
  background: #ffffff;
}

.notification-settings-row {
  min-width: 0;
  min-height: 96px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 80px;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  color: #304744;
  font: inherit;
  cursor: pointer;
  text-align: left;
  box-shadow: none;
  transition: background-color 120ms ease;
}

.notification-settings-row:first-child { border-radius: 13px 13px 0 0; }
.notification-settings-row:last-child { border-radius: 0 0 13px 13px; }
.notification-settings-row + .notification-settings-row { border-top: 1px solid #e0e7e3; }

.notification-settings-row:is(:hover, :focus-visible) {
  background: #f0f5f3;
  box-shadow: none;
  transform: none;
}

.notification-settings-row:focus-visible { outline: 2px solid #487d73; outline-offset: -3px; }

.notification-settings-category {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: #e0ede7;
  color: #367567;
}

.notification-settings-category.is-rewards {
  background: #f2e9d3;
  color: #896722;
}

.notification-settings-category.is-account {
  background: #eae5f1;
  color: #6b5c8b;
}

.notification-settings-category.is-system {
  background: #e5ebf0;
  color: #536e82;
}

.notification-settings-category > :is(svg, .game-image-icon, .game-bitmap-icon) {
  display: block;
  width: 23px;
  height: 23px;
  margin: 0;
  color: inherit;
}

.notification-settings-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.notification-settings-copy > strong {
  color: #304744 !important;
  font-size: 14px !important;
  font-weight: 750;
  line-height: 1.3;
}

.notification-settings-copy > small {
  color: #52665f !important;
  font-size: 12px !important;
  font-weight: 400;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.notification-settings-copy > em {
  color: #62736d;
  font-size: 11px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.3;
}

.notification-settings-control {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.notification-settings-status { color: #486057; font-size: 12px; font-weight: 650; }
.notification-settings-row[data-enabled="false"] .notification-settings-status { color: #65736d; }

.notification-settings-switch {
  position: relative;
  width: 44px;
  height: 26px;
  margin-top: 0;
  flex: 0 0 auto;
  border: 1px solid #8c9e96;
  border-radius: 999px;
  background: #c7d1cc;
  transition: border-color 150ms ease, background 150ms ease;
}

.notification-settings-switch > span {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: none;
  transition: transform 150ms ease;
}

.notification-settings-switch.is-on {
  border-color: #487d73;
  background: #487d73;
}

.notification-settings-switch.is-on > span {
  transform: translateX(18px);
}

.notification-settings-note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 12px;
  border-radius: 10px;
  background: #e9f0ed;
  color: #486057;
}
.notification-settings-note > svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; }
.notification-settings-note > p { margin: 0; color: inherit !important; font-size: 12px !important; line-height: 1.5 !important; }
.notification-settings-note strong { font-size: inherit; font-weight: 700; }
.notification-settings-panel > .notification-settings-scope { margin: -6px 2px 0; color: #62736d !important; font-size: 11px !important; line-height: 1.45 !important; }

@media (max-width: 900px) {
  .world-shell.has-shell-sidebar .notification-center.game-sidebar-notification-list.is-floating {
    top: auto;
    right: 12px;
    bottom: calc(var(--studio-mobile-rail-height, 64px) + 12px);
    left: 12px;
    width: auto;
    max-height: min(56dvh, 430px);
  }

  .notification-center-item {
    grid-template-columns: 38px minmax(0, 1fr) 6px;
    gap: 9px;
  }

  .notification-center-modal-backdrop,
  .world-shell.has-shell-sidebar .notification-center-modal-backdrop,
  .world-shell.has-shell-sidebar.has-sidebar-right .notification-center-modal-backdrop {
    padding: 8px;
  }

  .notification-center-modal,
  .world-shell.has-shell-sidebar .notification-center-modal {
    width: 100%;
    height: calc(100dvh - 16px);
    max-height: calc(100dvh - 16px);
    border-radius: 18px !important;
  }

  .notification-center.is-full {
    border-radius: 18px !important;
  }

  .notification-settings-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 520px) {
  .notification-center.is-full .notification-center-header {
    grid-template-columns: 42px minmax(0, 1fr) 34px;
    gap: 9px;
    padding: 11px;
  }

  .notification-center.is-full .notification-center-header-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }

  .notification-center.is-full .notification-center-header-icon-image {
    width: 28px;
    height: 28px;
  }

  .notification-center.is-full .notification-center-header-copy strong {
    font-size: 15px !important;
  }

  .notification-center-toolbar {
    gap: 5px;
    padding: 8px;
  }

  .notification-center-toolbar > button {
    grid-template-columns: 18px minmax(0, auto) auto;
    gap: 6px;
    padding: 7px 9px;
    font-size: 11px;
  }

  .notification-center-toolbar > button > svg {
    width: 18px;
    height: 18px;
  }

  .notification-center-list.is-full-list,
  .notification-settings-panel {
    padding: 9px;
  }

  .notification-center-list.is-full-list .notification-center-item {
    grid-template-columns: 40px minmax(0, 1fr) 6px;
    gap: 9px;
    padding: 10px;
  }

  .notification-center-list.is-full-list .notification-center-item-icon {
    width: 40px;
    height: 40px;
  }

  .notification-center-list.is-full-list .notification-center-item-icon-image {
    width: 31px;
    height: 31px;
  }

  .notification-center-list.is-full-list .notification-center-item-head {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  .notification-center-list.is-full-list .notification-center-item-head time {
    grid-row: 2;
  }

  .notification-settings-row {
    min-height: 0;
    grid-template-columns: 36px minmax(0, 1fr) 44px;
    gap: 10px;
    padding: 13px 10px;
  }
  .notification-settings-category { width: 36px; height: 36px; border-radius: 9px; }
  .notification-settings-category > :is(svg, .game-image-icon, .game-bitmap-icon) { width: 21px; height: 21px; }
  .notification-settings-control { flex-direction: column-reverse; gap: 4px; }
}

.world-shell.cplace-concept .game-sidebar-lock-banner {
  grid-column: 1 / -1;
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 0.62rem;
  border: 1px solid color-mix(in srgb, var(--concept-accent) 30%, var(--concept-border));
  border-radius: 10px;
  background: color-mix(in srgb, var(--concept-accent) 8%, var(--concept-surface));
  color: var(--concept-text);
}

.world-shell.cplace-concept .game-sidebar-lock-banner > span {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.world-shell.cplace-concept .game-sidebar-lock-banner strong {
  color: var(--concept-text) !important;
  font-size: 0.76rem;
}

.world-shell.cplace-concept .game-sidebar-lock-banner small {
  color: var(--concept-muted) !important;
  font-size: 0.66rem;
  line-height: 1.3;
}

.world-shell.cplace-concept .game-sidebar-lock-banner button {
  min-width: 70px;
  min-height: 34px;
  border: 1px solid var(--concept-accent) !important;
  border-radius: 8px !important;
  background: var(--concept-accent) !important;
  color: #ffffff !important;
  font: inherit;
  font-size: 0.7rem;
  font-weight: 900;
  cursor: pointer;
}

.world-shell.cplace-concept--arcade .game-sidebar-lock-banner button {
  color: #0c1510 !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-sidebar-profile-section {
  border-color: rgba(255, 255, 255, 0.15) !important;
  background: rgba(255, 255, 255, 0.075) !important;
  color: #f8f7ff !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-profile-copy strong {
  color: #f8f7ff !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-profile-copy span {
  color: #c4bfdb !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-area-entry-card {
  border-color: rgba(105, 228, 206, 0.4) !important;
  background: linear-gradient(130deg, #285a70, #4b3d99) !important;
  color: #ffffff !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-area-entry-card :is(strong, span),
.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-area-entry-card::after {
  color: #ffffff !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-area-entry-card small {
  color: rgba(255, 255, 255, 0.78) !important;
}

.world-shell.cplace-concept--aurora .game-sidebar :is(
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button,
  .game-sidebar-back
),
.world-shell.cplace-concept--arcade .game-sidebar :is(
  .game-sidebar-icon-button,
  .game-sidebar-collapse-button,
  .game-sidebar-back
) {
  border-color: rgba(255, 255, 255, 0.16) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #f8f7ff !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-settings .game-settings-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel.onboarding-guide-panel {
  border-color: var(--notebook-edge-soft) !important;
  border-left-color: var(--notebook-accent) !important;
  background:
    linear-gradient(rgba(118, 98, 67, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px),
    var(--notebook-paper-strong) !important;
  background-size: 18px 18px !important;
  color: var(--notebook-ink) !important;
  box-shadow: var(--notebook-card-shadow) !important;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel.onboarding-guide-panel .onboarding-guide-header span {
  border-color: var(--game-accent-border) !important;
  background: var(--game-accent-soft) !important;
  color: var(--game-accent-strong) !important;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel.onboarding-guide-panel .modal-icon-action {
  box-sizing: border-box;
  width: 34px;
  height: 34px;
  min-height: 34px;
  border-color: var(--game-accent-border) !important;
  border-radius: 7px;
  background: var(--notebook-paper-strong) !important;
  color: var(--game-accent-strong) !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel.onboarding-guide-panel .modal-icon-action:hover,
.world-shell.has-shell-sidebar .onboarding-guide-panel.onboarding-guide-panel .modal-icon-action:focus-visible {
  border-color: var(--game-accent-strong) !important;
  background: var(--game-accent-strong) !important;
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel.onboarding-guide-panel h3 {
  color: var(--notebook-ink) !important;
}

.world-shell.has-shell-sidebar .onboarding-guide-panel.onboarding-guide-panel p,
.world-shell.has-shell-sidebar .onboarding-guide-panel.onboarding-guide-panel ul {
  color: var(--notebook-ink) !important;
}

.world-shell.has-shell-sidebar.is-tour-guide .game-sidebar .game-mode-list .game-mode-button[data-tour-focus] {
  border-color: var(--game-accent-strong) !important;
  background: #fffdf7 !important;
  background-image: none !important;
  color: var(--game-accent-strong) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.9),
    0 0 0 3px rgba(255, 253, 247, 0.95),
    0 0 0 7px rgba(18, 143, 135, 0.72),
    0 16px 30px rgba(3, 8, 12, 0.34) !important;
}

.world-shell.has-shell-sidebar.is-tour-guide .game-sidebar .game-mode-list .game-mode-button[data-tour-focus] :is(strong, small, span, svg, em),
.world-shell.has-shell-sidebar.is-tour-guide .game-sidebar .game-mode-list .game-mode-button[data-tour-focus]::after {
  color: var(--game-accent-strong) !important;
}

/* Area B1 tab refresh */
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-title-row {
  display: block;
}

.world-shell.has-shell-sidebar .game-sidebar,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-scroll-area,
.world-shell.has-shell-sidebar .game-sidebar .world-area-panel,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.world-shell.has-shell-sidebar .game-sidebar::-webkit-scrollbar,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-scroll-area::-webkit-scrollbar,
.world-shell.has-shell-sidebar .game-sidebar .world-area-panel::-webkit-scrollbar,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-card {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.62rem;
  align-items: stretch;
  padding-right: 0.72rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-card.has-release-timer {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.58rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-main {
  min-width: 0;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 0.74rem;
  align-items: center;
  padding-right: 2.18rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-card.has-release-timer .area-b1-progress-main {
  padding-bottom: 0.58rem;
  border-bottom: 1px dashed rgba(18, 143, 135, 0.22);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-row {
  --area-release-color: #b25622;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 58px 28px;
  gap: 0.58rem;
  align-items: center;
  color: var(--area-release-color);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-row.is-urgent {
  --area-release-color: #a94435;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-row.is-expired {
  --area-release-color: #8f3328;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-copy {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-copy span {
  color: var(--area-release-color);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.035em;
  line-height: 1;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-copy strong {
  color: var(--area-release-color);
  font-size: 0.92rem;
  font-weight: 950;
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-copy small {
  min-width: 0;
  color: rgba(95, 75, 53, 0.82);
  font-size: 0.68rem;
  font-weight: 780;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-ring {
  width: 58px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, var(--game-paper-strong) 0 53%, transparent 54%),
    conic-gradient(var(--area-release-color) 0 var(--area-release-progress, 0%), rgba(178, 86, 34, 0.16) var(--area-release-progress, 0%) 100%);
  color: var(--area-release-color);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-icon {
  width: 12px;
  height: 12px;
  color: currentColor;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-ring strong {
  max-width: 48px;
  color: currentColor;
  font-size: 0.62rem;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-ring span {
  color: currentColor;
  font-size: 0.52rem;
  font-weight: 900;
  line-height: 1;
  opacity: 0.78;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-help {
  position: relative;
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(178, 86, 34, 0.26);
  border-radius: 999px;
  background: #fff0cf;
  color: var(--area-release-color);
  cursor: help;
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-help:hover,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-help:focus-visible {
  border-color: rgba(178, 86, 34, 0.48);
  background: #ffe6b5;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-help-icon {
  width: 15px;
  height: 15px;
  color: currentColor;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-tooltip {
  position: absolute;
  right: -0.18rem;
  bottom: calc(100% + 0.46rem);
  z-index: 20;
  width: min(280px, calc(100vw - 2rem));
  display: grid;
  gap: 0.3rem;
  padding: 0.62rem 0.68rem;
  border: 1px solid rgba(178, 86, 34, 0.3);
  border-radius: 7px;
  background: #fffaf0;
  box-shadow: 0 12px 24px rgba(43, 32, 20, 0.18);
  color: #5f4b35;
  font-size: 0.72rem;
  font-weight: 760;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.24rem);
  transition: opacity 140ms ease, transform 140ms ease;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-tooltip strong {
  color: #8f4b1f;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.035em;
  line-height: 1;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-tooltip span {
  display: block;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-help:hover .area-b1-release-tooltip,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-help:focus-visible .area-b1-release-tooltip {
  opacity: 1;
  transform: translateY(0);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-progress-options-button {
  position: absolute;
  top: 0.48rem;
  right: 0.5rem;
  width: 30px;
  height: 30px;
  min-height: 30px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(18, 143, 135, 0.28);
  border-radius: 999px;
  padding: 0;
  background: #e9f7f3;
  color: var(--game-accent-strong);
  cursor: pointer;
  box-shadow: 1px 1px 0 rgba(80, 70, 55, 0.08);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-progress-options-button:hover,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-progress-options-button:focus-visible {
  border-color: rgba(18, 143, 135, 0.54);
  background: #dff3ee;
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-progress-options-button :is(svg, .hud-button-icon) {
  width: 16px;
  height: 16px;
  color: currentColor;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-card,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-overview-tab-panel {
  min-width: 0;
  border: 1px solid rgba(18, 143, 135, 0.24) !important;
  border-radius: 8px;
  background: var(--notebook-paper-strong) !important;
  background-image: none !important;
  box-shadow: var(--notebook-card-shadow) !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-card {
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-main {
  min-height: 78px;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 0.58rem;
  padding: 0.56rem 2.12rem 0.56rem 0.56rem;
  border: 1px solid rgba(18, 143, 135, 0.16);
  border-radius: 7px;
  background: var(--notebook-paper-soft);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-card.has-release-timer .area-b1-progress-main {
  padding-bottom: 0.56rem;
  border-bottom: 1px solid rgba(18, 143, 135, 0.16);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-ring {
  width: 56px;
  background:
    radial-gradient(circle at center, var(--notebook-paper-strong) 0 52%, transparent 53%),
    conic-gradient(var(--game-accent-strong) 0 var(--area-progress, 0%), rgba(18, 143, 135, 0.13) var(--area-progress, 0%) 100%);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-ring strong {
  font-size: 0.78rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-copy {
  gap: 0.14rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-copy strong {
  font-size: 1rem;
  line-height: 1.08;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-progress-copy small {
  font-size: 0.72rem;
  line-height: 1.18;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-missing-pixel-help-button {
  min-width: 0;
  display: flex;
  gap: 0.48rem;
  align-items: center;
  justify-content: flex-start;
  padding: 0.54rem 0.62rem;
  border: 1px solid rgba(190, 44, 151, 0.34);
  border-radius: 7px;
  background: linear-gradient(135deg, #fff6cc, #ffe9f8);
  color: #7a245f;
  font: inherit;
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  box-shadow: 1px 1px 0 rgba(89, 39, 75, 0.1);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-missing-pixel-help-button:hover,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-missing-pixel-help-button:focus-visible {
  border-color: rgba(190, 44, 151, 0.68);
  background: linear-gradient(135deg, #fff09a, #ffd3f1);
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-missing-pixel-help-button.is-active {
  border-color: #be2c97;
  background: #7a245f;
  color: #fff9c9;
  box-shadow: inset 0 0 0 1px rgba(255, 242, 0, 0.42);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-missing-pixel-help-marker {
  width: 14px;
  aspect-ratio: 1;
  flex: 0 0 auto;
  border: 3px solid #ff2bd6;
  background: #fff200;
  box-shadow: 0 0 0 1px rgba(93, 20, 77, 0.48);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-missing-pixel-help-button.is-active .area-missing-pixel-help-marker {
  animation: missing-pixel-highlight-pulse 0.9s steps(2, jump-none) infinite;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-row {
  min-height: 74px;
  grid-template-columns: minmax(0, 1fr) 54px 28px;
  gap: 0.5rem;
  padding: 0.56rem;
  border: 1px solid rgba(178, 86, 34, 0.18);
  border-radius: 7px;
  background: #fffaf0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-ring {
  width: 54px;
  background:
    radial-gradient(circle at center, #fffaf0 0 53%, transparent 54%),
    conic-gradient(var(--area-release-color) 0 var(--area-release-progress, 0%), rgba(178, 86, 34, 0.16) var(--area-release-progress, 0%) 100%);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-release-copy strong {
  font-size: 0.9rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-overview-tab-panel {
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-b1-fact-card {
  border-color: rgba(18, 143, 135, 0.16);
  background: var(--notebook-paper-soft);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(
  .area-action-button,
  .area-quick-action-button,
  .area-request-toggle,
  .area-add-player-button,
  .area-player-options-button,
  .area-options-button,
  .pixel-clear-button,
  .google-button
) {
  border-radius: 8px !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.58),
    1px 1px 0 rgba(80, 70, 55, 0.08) !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-progress-options-button,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-player-options-button {
  border-radius: 999px !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-shell {
  display: grid;
  gap: 0.54rem;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-section-header {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.58rem;
  padding: 0 0.08rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-section-header span,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-card-header span,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-owner span,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-slots span,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-request-card span,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-invite-card span,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card-copy > span {
  color: var(--game-accent-strong) !important;
  font-size: 0.76rem !important;
  font-weight: 950 !important;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-section-header strong {
  min-width: 0;
  padding: 0.18rem 0.46rem;
  border: 1px solid rgba(18, 143, 135, 0.24);
  border-radius: 999px;
  background: #e9f7f3;
  color: var(--game-accent-strong);
  font-size: 0.72rem;
  font-weight: 950;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tab-content,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-panel {
  min-width: 0;
  display: grid;
  gap: 0.56rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area :is(
  .area-people-lead-card,
  .area-people-request-card,
  .area-people-list-card,
  .area-people-invite-card,
  .area-tools-card,
  .area-edit-card
) {
  min-width: 0;
  border: 1px solid rgba(18, 143, 135, 0.24) !important;
  border-radius: 8px;
  background: var(--notebook-paper-strong) !important;
  background-image: none !important;
  box-shadow: var(--notebook-card-shadow) !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-lead-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.52rem;
  align-items: stretch;
  padding: 0.58rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-owner,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-slots {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 0.12rem;
  padding: 0.5rem;
  border: 1px solid rgba(18, 143, 135, 0.16);
  border-radius: 7px;
  background: var(--notebook-paper-soft);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-owner {
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 0.52rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-owner > div,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-slots {
  min-width: 0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-owner > div {
  display: grid;
  gap: 0.08rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-owner strong,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-slots strong,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-request-card strong,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-invite-card strong,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-row strong,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card-copy strong {
  min-width: 0;
  color: #16232d !important;
  font-size: 0.94rem;
  font-weight: 950;
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-slots small,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-list small,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-request-card small,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card-copy small {
  min-width: 0;
  color: #5f6b72 !important;
  font-size: 0.74rem !important;
  font-weight: 720;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-slot-action {
  width: fit-content;
  margin-top: 0.26rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-request-card,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-invite-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.58rem;
  align-items: center;
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-request-card > div,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-invite-card > div {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-request-card .area-action-button {
  width: 100%;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-list-card {
  display: grid;
  gap: 0.42rem;
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-list-card.is-requests {
  border-color: rgba(178, 86, 34, 0.26) !important;
  background: #fffaf0 !important;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-card-header {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-card-header strong {
  min-width: 28px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.36rem;
  border: 1px solid rgba(18, 143, 135, 0.24);
  border-radius: 999px;
  background: #e9f7f3;
  color: var(--game-accent-strong);
  font-size: 0.72rem;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-list {
  display: grid;
  gap: 0.34rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-row {
  min-width: 0;
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
  padding: 0.4rem 0.44rem;
  border: 1px solid rgba(18, 143, 135, 0.14);
  border-radius: 7px;
  background: #fffaf0;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-row .area-participant {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.44rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-row .area-participant strong {
  min-width: 0;
  font-size: 0.86rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-row .area-participant small {
  min-width: 0;
  color: #5f6b72 !important;
  font-size: 0.7rem !important;
  font-weight: 760;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-row .area-role-tag {
  justify-self: start;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-header {
  align-items: flex-start;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-header > div {
  min-width: 0;
  display: grid;
  gap: 0.12rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-header > div > small {
  color: #5f6b72 !important;
  font-size: 0.7rem !important;
  font-weight: 720;
  line-height: 1.25;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row {
  grid-template-columns: 28px minmax(0, 1fr) auto;
  grid-template-areas:
    "leaderboard-rank leaderboard-player leaderboard-actions"
    ". leaderboard-score leaderboard-score"
    ". leaderboard-progress leaderboard-progress";
  gap: 0.3rem 0.5rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row .area-leaderboard-rank {
  grid-area: leaderboard-rank;
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(18, 143, 135, 0.24);
  border-radius: 999px;
  background: #e9f7f3;
  color: var(--game-accent-strong);
  font-size: 0.74rem;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row .area-participant {
  grid-area: leaderboard-player;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-areas:
    "participant-avatar participant-name"
    "participant-avatar participant-role";
  gap: 0.12rem 0.44rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row .area-participant-avatar {
  grid-area: participant-avatar;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row .area-participant-name {
  grid-area: participant-name;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row .area-role-tag {
  grid-area: participant-role;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-score {
  grid-area: leaderboard-score;
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-score > span {
  min-width: 0;
  color: #68757f !important;
  font-size: 0.65rem !important;
  font-weight: 760;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-score > strong {
  flex: 0 0 auto;
  color: #16232d !important;
  font-size: 0.82rem !important;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  font-weight: 950;
  line-height: 1;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row .area-player-actions {
  grid-area: leaderboard-actions;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-progress {
  grid-area: leaderboard-progress;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(18, 143, 135, 0.12);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-progress > span {
  width: 0;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-progress > span.is-active {
  min-width: 4px;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row.is-rank-1 .area-leaderboard-rank {
  border-color: rgba(206, 151, 27, 0.44);
  background: #fff3c7;
  color: #7a550b;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row.is-rank-2 .area-leaderboard-rank {
  border-color: rgba(120, 136, 153, 0.34);
  background: #edf1f4;
  color: #526170;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-leaderboard-row.is-rank-3 .area-leaderboard-rank {
  border-color: rgba(177, 103, 56, 0.34);
  background: #f9e8dc;
  color: #834824;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-invite-card .area-invite-row {
  width: min(176px, 100%);
  grid-template-columns: minmax(0, 1fr) 42px;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card {
  min-height: 66px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 0.56rem;
  align-items: center;
  padding: 0.58rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card.area-tools-options-card {
  width: 100%;
  cursor: pointer;
  color: inherit;
  font: inherit;
  text-align: left;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card.area-tools-options-card:hover,
.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card.area-tools-options-card:focus-visible {
  border-color: rgba(18, 143, 135, 0.44) !important;
  background: #f9fffb !important;
  outline: none;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(18, 143, 135, 0.22);
  border-radius: 8px;
  background: var(--game-accent-soft);
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card-icon :is(svg, .hud-button-icon, .options-dot-icon) {
  width: 19px;
  height: 19px;
  color: currentColor;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card-copy {
  min-width: 0;
  display: grid;
  gap: 0.08rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card-action {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.54rem;
  border: 1px solid rgba(18, 143, 135, 0.26);
  border-radius: 999px;
  background: #e9f7f3;
  color: var(--game-accent-strong);
  font-size: 0.72rem;
  font-weight: 950;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-primary-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 0.46rem;
  align-items: stretch;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-edit-card {
  display: grid;
  gap: 0.58rem;
  padding: 0.62rem;
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-edit-card .account-label {
  color: var(--game-accent-strong);
}

.world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-admin-tools-card {
  border-radius: 8px;
}

@media (max-width: 460px) {
  .world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-lead-card,
  .world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-request-card,
  .world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-invite-card,
  .world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card-icon {
    width: 34px;
    height: 34px;
  }

  .world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-request-card .area-action-button,
  .world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card .area-action-button,
  .world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-tools-card-action,
  .world-shell.has-shell-sidebar .game-sidebar .game-sidebar-selected-area .area-people-invite-card .area-invite-row {
    width: 100%;
  }
}

/* Bottom build menu: one quiet paper tray, no nested cards. */
.world-shell.has-shell-sidebar .world-hud-bottom-center {
  bottom: calc(env(safe-area-inset-bottom, 0px) + clamp(0.78rem, 1.25vw, 1.05rem));
}

.world-shell.has-shell-sidebar .build-taskbar {
  isolation: isolate;
  width: min(342px, calc(100vw - var(--game-sidebar-width) - 2.2rem));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  padding: 0.12rem;
  border: 1px solid rgba(151, 139, 113, 0.38) !important;
  border-bottom: 2px solid rgba(18, 143, 135, 0.42) !important;
  border-radius: 7px !important;
  background-color: var(--game-paper) !important;
  background-image:
    linear-gradient(rgba(118, 98, 67, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.032) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255, 253, 247, 0.98), rgba(247, 240, 228, 0.98)) !important;
  background-size: 16px 16px, 16px 16px, auto !important;
  color: #16232d !important;
  transform: none !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.86),
    0 10px 22px rgba(42, 28, 18, 0.1) !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
}

.world-shell.has-shell-sidebar .build-taskbar::before {
  content: none;
  animation: none;
}

.world-shell.has-shell-sidebar .build-taskbar::after {
  content: none;
}

.world-shell.has-shell-sidebar .build-tool-button {
  min-height: 48px;
  display: flex;
  justify-content: center;
  gap: 0.42rem;
  padding: 0.42rem 0.58rem;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  color: #16232d !important;
  font-family: var(--font-main) !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .build-tool-button + .build-tool-button {
  border-left: 1px solid rgba(151, 139, 113, 0.26) !important;
  border-radius: 0 5px 5px 0 !important;
}

.world-shell.has-shell-sidebar .build-tool-button:not(:disabled):hover,
.world-shell.has-shell-sidebar .build-tool-button:not(:disabled):focus-visible,
.world-shell.has-shell-sidebar .build-tool-button.is-active {
  background: rgba(18, 143, 135, 0.08) !important;
  color: var(--game-accent-strong) !important;
  transform: none;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .build-tool-button:disabled {
  color: rgba(82, 96, 107, 0.68) !important;
  transform: none;
}

.world-shell.has-shell-sidebar .build-tool-button.is-blocked:disabled {
  background: transparent !important;
  color: rgba(190, 82, 68, 0.72) !important;
}

.world-shell.has-shell-sidebar .build-tool-icon {
  width: 28px;
  height: 28px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--game-accent-strong) !important;
}

.world-shell.has-shell-sidebar .build-tool-button:is(:hover, :focus-visible, .is-active) .build-tool-icon {
  background: transparent !important;
  color: currentColor !important;
}

.world-shell.has-shell-sidebar .build-tool-main {
  flex: 0 1 auto;
  width: max-content;
  max-width: calc(100% - 2.2rem);
}

.world-shell.has-shell-sidebar .build-tool-title {
  color: inherit !important;
  font-family: var(--font-main) !important;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.12;
  text-transform: none !important;
}

.world-shell.has-shell-sidebar .build-tool-counter {
  max-width: 100%;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #6a5f50 !important;
  font-family: var(--font-main) !important;
  font-size: 0.6rem;
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.22;
  text-transform: none !important;
}

.world-shell.has-shell-sidebar .build-tool-button:is(:hover, :focus-visible, .is-active) .build-tool-counter {
  background: transparent !important;
  color: currentColor !important;
}

.world-shell.has-shell-sidebar .build-tool-badge {
  top: 0.14rem;
  right: 0.18rem;
  min-width: 17px;
  height: 17px;
  border: 0;
  border-radius: 999px;
  background: #f0bd34;
  color: #5e4310;
  box-shadow: none;
  font-size: 0.58rem;
}

.world-shell.has-shell-sidebar .build-tool-refill-meter {
  right: 0.58rem;
  bottom: 0.16rem;
  left: 0.58rem;
  height: 3px;
  border-radius: 999px;
  background: rgba(118, 98, 67, 0.16);
}

.world-shell.has-shell-sidebar .build-tool-refill-meter span {
  border-radius: inherit;
  background: linear-gradient(90deg, var(--game-accent-strong), #f0bd34);
}

@media (max-width: 1024px) {
  .world-shell.has-shell-sidebar .world-hud-bottom-center {
    right: calc(env(safe-area-inset-right, 0px) + 0.58rem);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 0.58rem);
    left: calc(env(safe-area-inset-left, 0px) + 0.58rem);
    transform: none;
  }

  .world-shell.has-shell-sidebar .build-taskbar {
    width: 100%;
    gap: 0;
    padding: 0.12rem;
    border-radius: 7px !important;
  }

  .world-shell.has-shell-sidebar .build-tool-button {
    min-height: 46px;
    gap: 0.36rem;
    padding: 0.38rem 0.48rem;
    border-radius: 5px !important;
  }

  .world-shell.has-shell-sidebar .build-tool-icon {
    width: 26px;
    height: 26px;
  }

  .world-shell.has-shell-sidebar .build-tool-title {
    font-size: 0.78rem;
  }

  .world-shell.has-shell-sidebar .build-tool-counter {
    font-size: 0.56rem;
  }
}

@media (max-width: 420px) {
  .world-shell.has-shell-sidebar .build-taskbar {
    padding: 0.1rem;
  }

  .world-shell.has-shell-sidebar .build-tool-button {
    gap: 0.3rem;
    padding: 0.34rem 0.38rem;
  }

  .world-shell.has-shell-sidebar .build-tool-icon {
    width: 24px;
    height: 24px;
  }
}

/* Referral UI: public invite experience and notebook-native in-game panel. */
.invite-landing-page {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  overflow: hidden;
  padding: 1.1rem clamp(1rem, 4vw, 3.5rem) 2.5rem;
  background:
    linear-gradient(rgba(18, 143, 135, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 143, 135, 0.055) 1px, transparent 1px),
    radial-gradient(circle at 88% 4%, rgba(240, 189, 52, 0.2), transparent 24rem),
    #f8f3e8;
  background-size: 20px 20px, 20px 20px, auto, auto;
  color: #16232d;
}

.invite-landing-page::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  height: 6px;
  background: linear-gradient(90deg, #0d716c 0 54%, #f0bd34 54% 72%, #b84f42 72% 84%, #5f7f9f 84%);
}

.invite-landing-nav,
.invite-landing-hero,
.invite-how-it-works,
.invite-landing-footer {
  width: min(1120px, 100%);
  margin-right: auto;
  margin-left: auto;
}

.invite-landing-nav {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1rem, 3vw, 2rem);
}

.invite-landing-brand,
.invite-canvas-link {
  display: inline-flex;
  align-items: center;
  color: #16232d;
  text-decoration: none;
}

.invite-landing-brand {
  gap: 0.58rem;
  font-family: var(--font-pixel);
  font-size: 1.02rem;
}

.invite-landing-brand img {
  image-rendering: pixelated;
}

.invite-canvas-link {
  gap: 0.4rem;
  padding: 0.5rem 0.7rem;
  border-bottom: 2px solid rgba(18, 143, 135, 0.36);
  color: #0d716c;
  font-size: 0.78rem;
  font-weight: 900;
}

.invite-canvas-link:hover,
.invite-canvas-link:focus-visible {
  border-color: #0d716c;
  outline: none;
}

.invite-landing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.72fr);
  gap: clamp(1.4rem, 4vw, 3.5rem);
  align-items: center;
  padding: clamp(1.4rem, 4vw, 3.4rem);
  border: 1px solid rgba(84, 58, 34, 0.34);
  border-radius: 18px;
  background:
    linear-gradient(rgba(118, 98, 67, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.032) 1px, transparent 1px),
    rgba(255, 253, 247, 0.97);
  background-size: 18px 18px, 18px 18px, auto;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.84),
    7px 7px 0 rgba(73, 49, 29, 0.14),
    0 28px 70px rgba(42, 28, 18, 0.13);
}

.invite-hero-copy {
  min-width: 0;
}

.invite-landing-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.72rem;
  color: #0d716c;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.invite-landing-eyebrow > span {
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #f0bd34;
  box-shadow: 11px 0 0 #128f87;
}

.invite-inviter-chip {
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: 0.66rem;
  margin-bottom: 1.15rem;
  padding: 0.4rem 0.78rem 0.4rem 0.4rem;
  border: 1px solid rgba(18, 143, 135, 0.24);
  border-radius: 999px;
  background: #eef8f4;
}

.invite-inviter-avatar {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 2px solid #ffffff;
  border-radius: 50%;
  background: #dff3ee;
  box-shadow: 0 0 0 1px rgba(18, 143, 135, 0.28);
}

.invite-inviter-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.invite-inviter-chip > span:last-child {
  min-width: 0;
  display: grid;
  gap: 0.04rem;
}

.invite-inviter-chip small {
  color: #66727c;
  font-size: 0.64rem;
  font-weight: 800;
}

.invite-inviter-chip strong {
  overflow: hidden;
  color: #16232d;
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.invite-hero-copy h1 {
  max-width: 620px;
  margin: 0;
  color: #16232d;
  font-family: var(--font-pixel);
  font-size: clamp(2.8rem, 6.2vw, 5.2rem);
  font-weight: 680;
  letter-spacing: -0.035em;
  line-height: 0.94;
}

.invite-hero-copy h1 em {
  color: #128f87;
  font-style: normal;
}

.invite-hero-lead {
  max-width: 610px;
  margin: 1rem 0 1.35rem;
  color: #52636b;
  font-size: clamp(0.96rem, 1.5vw, 1.08rem);
  font-weight: 650;
  line-height: 1.58;
}

.invite-reward-ticket {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  gap: 0.85rem;
  padding: 0.88rem 1rem;
  border: 1px solid rgba(174, 133, 36, 0.36);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.52), transparent 52%),
    #fff0ba;
  box-shadow: 3px 3px 0 rgba(174, 133, 36, 0.12);
}

.invite-reward-ticket::before,
.invite-reward-ticket::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 13px;
  height: 26px;
  border: 1px solid rgba(174, 133, 36, 0.36);
  background: #fffdf7;
  transform: translateY(-50%);
}

.invite-reward-ticket::before {
  left: -1px;
  border-left: 0;
  border-radius: 0 14px 14px 0;
}

.invite-reward-ticket::after {
  right: -1px;
  border-right: 0;
  border-radius: 14px 0 0 14px;
}

.invite-reward-ticket article {
  min-width: 0;
  display: grid;
  gap: 0.03rem;
  padding: 0 0.28rem;
}

.invite-reward-ticket small,
.invite-reward-ticket span {
  color: #765918;
  font-size: 0.67rem;
  font-weight: 850;
}

.invite-reward-ticket strong {
  color: #5e4310;
  font-family: var(--font-pixel);
  font-size: clamp(1.35rem, 3vw, 1.8rem);
  line-height: 1;
}

.invite-ticket-divider {
  height: 100%;
  border-left: 1px dashed rgba(118, 89, 24, 0.34);
}

.invite-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: 1.25rem;
}

.invite-primary-action {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 0.7rem 1rem;
  border: 1px solid #0d716c;
  border-radius: 8px;
  background: #128f87;
  color: #ffffff;
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 3px 3px 0 rgba(13, 113, 108, 0.2);
}

.invite-primary-action:not(:disabled):hover,
.invite-primary-action:not(:disabled):focus-visible {
  background: #0d716c;
  outline: none;
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 rgba(13, 113, 108, 0.2);
}

.invite-primary-action:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.invite-hero-actions > a {
  color: #0d716c;
  font-size: 0.78rem;
  font-weight: 900;
  text-decoration-color: rgba(18, 143, 135, 0.36);
  text-underline-offset: 0.2em;
}

.invite-fine-print {
  margin: 0.75rem 0 0;
  color: #748087;
  font-size: 0.69rem;
  font-weight: 700;
  line-height: 1.45;
}

.invite-fine-print a,
.invite-landing-footer a {
  color: #0d716c;
  font-weight: 900;
}

.invite-inline-error {
  margin: 0.8rem 0 0;
  padding: 0.62rem 0.72rem;
  border: 1px solid rgba(184, 79, 66, 0.34);
  border-radius: 7px;
  background: #ffe3da;
  color: #8f3328;
  font-size: 0.78rem;
  font-weight: 800;
}

.invite-goals-card {
  position: relative;
  overflow: hidden;
  padding: clamp(1rem, 3vw, 1.45rem);
  border: 1px solid #075955;
  border-radius: 14px;
  background:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(155deg, #128f87, #0b625e);
  background-size: 18px 18px, 18px 18px, auto;
  color: #ffffff;
  box-shadow: 6px 6px 0 rgba(13, 113, 108, 0.18);
}

.invite-goals-art {
  position: relative;
  height: 118px;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border: 1px dashed rgba(255, 255, 255, 0.34);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
}

.invite-goals-art img {
  width: 72px;
  height: 72px;
  padding: 12px;
  border: 1px solid rgba(84, 58, 34, 0.28);
  border-radius: 8px;
  background: #fffaf0;
  image-rendering: pixelated;
  box-shadow: 5px 5px 0 rgba(3, 47, 45, 0.22);
}

.invite-goals-art > span {
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 2px;
  background: #f0bd34;
  box-shadow: 2px 2px 0 rgba(3, 47, 45, 0.2);
}

.invite-goals-art .is-one { top: 16px; left: 18%; }
.invite-goals-art .is-two { top: 34px; right: 15%; background: #ffffff; }
.invite-goals-art .is-three { right: 26%; bottom: 15px; background: #b9d5e6; }
.invite-goals-art .is-four { bottom: 26px; left: 13%; background: #d99b8f; }
.invite-goals-art .is-five { top: 17px; right: 39%; width: 8px; height: 8px; }

.invite-goals-kicker {
  margin: 0 0 0.18rem;
  color: #bce7df;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.invite-goals-card h2 {
  margin: 0;
  color: #ffffff;
  font-family: var(--font-pixel);
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.05;
}

.invite-goal-list {
  display: grid;
  gap: 0;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.invite-goal-list li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 0.7rem;
  align-items: center;
  padding: 0.7rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.invite-goal-list li > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 6px;
  color: #ffe69a;
  font-size: 0.66rem;
  font-weight: 950;
}

.invite-goal-list div {
  min-width: 0;
  display: grid;
}

.invite-goal-list small {
  color: #bce7df;
  font-size: 0.65rem;
  font-weight: 750;
}

.invite-goal-list strong {
  color: #ffffff;
  font-size: 0.9rem;
}

.invite-progress-note {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.55rem 0 0;
  color: #d9f2ec;
  font-size: 0.68rem;
  font-weight: 750;
}

.invite-progress-note span {
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #f0bd34;
  color: #4f3a0b;
  font-size: 0.68rem;
  font-weight: 950;
}

.invite-how-it-works {
  display: grid;
  grid-template-columns: minmax(210px, 0.34fr) minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 3rem);
  align-items: start;
  margin-top: 1.4rem;
  padding: clamp(1.1rem, 3vw, 1.7rem);
  border: 1px solid rgba(18, 143, 135, 0.2);
  border-radius: 12px;
  background: rgba(238, 248, 244, 0.82);
}

.invite-how-it-works h2 {
  margin: 0;
  color: #16232d;
  font-family: var(--font-pixel);
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  line-height: 1.05;
}

.invite-step-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.invite-step-list article {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 0.55rem;
  padding: 0.78rem;
  border: 1px solid rgba(18, 143, 135, 0.18);
  border-radius: 8px;
  background: rgba(255, 253, 247, 0.88);
}

.invite-step-list article > span {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: #dff3ee;
  color: #0d716c;
  font-size: 0.7rem;
  font-weight: 950;
}

.invite-step-list strong {
  color: #16232d;
  font-size: 0.8rem;
}

.invite-step-list p {
  margin: 0.22rem 0 0;
  color: #66727c;
  font-size: 0.68rem;
  line-height: 1.42;
}

.invite-landing-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 0 0;
  color: #66727c;
  font-size: 0.72rem;
  font-weight: 750;
}

.invite-landing-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.invite-pixel-cluster {
  position: absolute;
  z-index: -1;
  display: grid;
  grid-template-columns: repeat(3, 18px);
  gap: 4px;
  opacity: 0.48;
  transform: rotate(8deg);
}

.invite-pixel-cluster span {
  width: 18px;
  height: 18px;
  border-radius: 2px;
  background: #128f87;
}

.invite-pixel-cluster span:nth-child(2n) { background: #f0bd34; }
.invite-pixel-cluster span:nth-child(3n) { background: #b84f42; }
.invite-pixel-cluster.is-top { top: 11%; right: 2.4%; }
.invite-pixel-cluster.is-bottom { bottom: 5%; left: 2.4%; transform: rotate(-7deg); }

.invite-loading-card,
.invite-unavailable-card {
  width: min(520px, 100%);
  min-height: 320px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.55rem;
  margin: clamp(2rem, 8vh, 6rem) auto 0;
  padding: 2rem;
  border: 1px solid rgba(84, 58, 34, 0.34);
  border-radius: 16px;
  background: #fffdf7;
  text-align: center;
  box-shadow: 6px 6px 0 rgba(73, 49, 29, 0.14);
}

.invite-loading-mark,
.invite-unavailable-art {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #dff3ee;
  color: #0d716c;
  font-family: var(--font-pixel);
  font-size: 2.4rem;
  font-weight: 800;
}

.invite-loading-card strong,
.invite-unavailable-card h1 {
  margin: 0;
  color: #16232d;
  font-family: var(--font-pixel);
  font-size: clamp(1.6rem, 5vw, 2.4rem);
}

.invite-loading-card small,
.invite-unavailable-card > p:not(.invite-landing-eyebrow) {
  max-width: 380px;
  margin: 0 0 0.5rem;
  color: #66727c;
}

.legal-subsection {
  scroll-margin-top: 5.5rem;
  margin-top: 0.9rem;
  padding: 0.9rem;
  border: 1px solid rgba(18, 143, 135, 0.2);
  border-radius: 8px;
  background: #f5fcf8;
}

.legal-card .legal-subsection h3 {
  margin-top: 0;
  color: #0d716c;
}

.legal-subsection p + ul,
.legal-subsection ul + p {
  margin-top: 0.7rem;
}

/* Prevent retro/dark theme variables from leaking into the paper invite modal. */
.world-shell.has-shell-sidebar .referral-modal {
  width: min(820px, 100%);
}

.world-shell.has-shell-sidebar .referral-dashboard {
  gap: 0.68rem;
  color: var(--notebook-ink);
}

.world-shell.has-shell-sidebar .referral-intro-card {
  padding: 0.78rem;
  border: 1px solid rgba(18, 143, 135, 0.3) !important;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.66), transparent 58%),
    var(--notebook-accent-soft) !important;
  color: var(--notebook-ink) !important;
  box-shadow: 2px 2px 0 rgba(80, 70, 55, 0.08);
}

.world-shell.has-shell-sidebar .referral-intro-card > div:first-child > strong {
  color: var(--notebook-ink) !important;
  font-size: 0.98rem;
}

.world-shell.has-shell-sidebar .referral-intro-card p,
.world-shell.has-shell-sidebar .referral-section-heading p,
.world-shell.has-shell-sidebar .referral-link-panel > small,
.world-shell.has-shell-sidebar .referral-create-form > small,
.world-shell.has-shell-sidebar .referral-relationship-meta,
.world-shell.has-shell-sidebar .referral-progress-row > span,
.world-shell.has-shell-sidebar .referral-code-mode small,
.world-shell.has-shell-sidebar .referral-confirm small {
  color: var(--notebook-muted) !important;
}

.world-shell.has-shell-sidebar .referral-intro-rewards > span {
  padding: 0.52rem 0.62rem;
  border: 1px solid rgba(174, 133, 36, 0.28);
  border-radius: 7px;
  background: #fff0ba !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.54);
}

.world-shell.has-shell-sidebar .referral-intro-rewards > span:last-child {
  border-color: rgba(18, 143, 135, 0.24);
  background: var(--notebook-paper-strong) !important;
}

.world-shell.has-shell-sidebar .referral-intro-rewards small {
  color: #765918 !important;
}

.world-shell.has-shell-sidebar .referral-intro-rewards > span:last-child small {
  color: var(--notebook-muted) !important;
}

.world-shell.has-shell-sidebar .referral-intro-rewards strong {
  color: #5e4310 !important;
  font-size: 1rem;
}

.world-shell.has-shell-sidebar .referral-intro-rewards > span:last-child strong {
  color: var(--notebook-accent-strong) !important;
}

.world-shell.has-shell-sidebar .referral-intro-rewards strong em {
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 850;
}

.world-shell.has-shell-sidebar :is(.referral-link-panel, .referral-create-form, .referral-relationship-card) {
  padding: 0.78rem;
  border: 1px solid rgba(18, 143, 135, 0.24) !important;
  border-radius: 8px !important;
  background: var(--notebook-paper-strong) !important;
  color: var(--notebook-ink) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.64),
    2px 2px 0 rgba(80, 70, 55, 0.08) !important;
}

.world-shell.has-shell-sidebar .referral-link-heading {
  margin: 0 !important;
}

.world-shell.has-shell-sidebar .referral-link-heading > span {
  color: var(--notebook-muted) !important;
  font-size: 0.7rem;
  text-transform: uppercase;
}

.world-shell.has-shell-sidebar .referral-link-heading em,
.world-shell.has-shell-sidebar .referral-relationship-head em {
  border: 1px solid rgba(18, 143, 135, 0.25);
  border-radius: 999px;
  background: var(--notebook-accent-soft) !important;
  color: var(--notebook-accent-strong) !important;
}

.world-shell.has-shell-sidebar .referral-link-heading em.is-blocked,
.world-shell.has-shell-sidebar .referral-relationship-head em.is-rejected,
.world-shell.has-shell-sidebar .referral-relationship-head em.is-expired {
  border-color: rgba(184, 79, 66, 0.28);
  background: var(--notebook-danger-soft) !important;
  color: #8f3328 !important;
}

.world-shell.has-shell-sidebar .referral-link-panel > strong {
  margin: 0.35rem 0 0 !important;
  color: var(--notebook-accent-strong) !important;
  font-family: var(--font-pixel);
  font-size: 1.55rem;
}

.world-shell.has-shell-sidebar .referral-url-field {
  min-width: 0;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.48rem !important;
  align-items: center;
  margin: 0.45rem 0 !important;
  padding: 0.3rem 0.3rem 0.3rem 0.65rem;
  border: 1px solid rgba(18, 143, 135, 0.28);
  border-radius: 7px;
  background: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58);
}

.world-shell.has-shell-sidebar .referral-url-field code {
  min-width: 0;
  overflow: hidden;
  color: #40535c !important;
  font-family: var(--font-code);
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-shell.has-shell-sidebar .referral-copy-button {
  min-width: 84px;
  min-height: 34px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  margin: 0 !important;
  padding: 0 0.62rem !important;
  border: 1px solid var(--notebook-accent-strong) !important;
  border-radius: 6px !important;
  background: var(--notebook-accent) !important;
  color: #ffffff !important;
  cursor: pointer;
  font-size: 0.72rem !important;
  font-weight: 950;
}

.world-shell.has-shell-sidebar .referral-copy-button svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.world-shell.has-shell-sidebar .referral-copy-button.is-copied {
  border-color: var(--notebook-success) !important;
  background: var(--notebook-success) !important;
}

.world-shell.has-shell-sidebar .referral-link-actions {
  gap: 0.42rem !important;
  margin: 0.62rem 0 0 !important;
}

.world-shell.has-shell-sidebar :is(.referral-link-actions button, .referral-secondary-button) {
  min-height: 36px;
  border: 1px solid rgba(18, 143, 135, 0.34) !important;
  border-radius: 7px !important;
  background: var(--notebook-paper-strong) !important;
  color: var(--notebook-accent-strong) !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar :is(.referral-link-actions button, .referral-secondary-button):not(:disabled):hover,
.world-shell.has-shell-sidebar :is(.referral-link-actions button, .referral-secondary-button):not(:disabled):focus-visible {
  border-color: var(--notebook-accent-strong) !important;
  background: var(--notebook-accent) !important;
  color: #ffffff !important;
}

.world-shell.has-shell-sidebar .referral-dashboard-stats {
  gap: 0.52rem;
}

.world-shell.has-shell-sidebar .referral-dashboard-stats article {
  padding: 0.62rem 0.7rem;
  border: 1px solid var(--notebook-edge-soft) !important;
  border-radius: 7px;
  background: var(--notebook-paper-soft) !important;
  color: var(--notebook-ink) !important;
}

.world-shell.has-shell-sidebar .referral-dashboard-stats span {
  color: var(--notebook-muted) !important;
}

.world-shell.has-shell-sidebar .referral-dashboard-stats strong {
  color: var(--notebook-ink) !important;
  font-family: var(--font-pixel);
}

.world-shell.has-shell-sidebar .referral-section-heading > span {
  color: var(--notebook-accent-strong) !important;
}

.world-shell.has-shell-sidebar .referral-section-heading h3,
.world-shell.has-shell-sidebar .referral-relationship-head strong {
  color: var(--notebook-ink) !important;
}

.world-shell.has-shell-sidebar .referral-code-mode label {
  border: 1px solid var(--notebook-edge-soft) !important;
  border-radius: 7px;
  background: var(--notebook-paper-soft) !important;
  color: var(--notebook-ink) !important;
}

.world-shell.has-shell-sidebar .referral-code-mode label.is-selected {
  border-color: var(--notebook-accent-strong) !important;
  background: var(--notebook-accent-soft) !important;
}

.world-shell.has-shell-sidebar .referral-create-form > input {
  border-color: rgba(18, 143, 135, 0.3) !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: var(--notebook-ink) !important;
}

.world-shell.has-shell-sidebar .referral-final-url {
  border-color: rgba(18, 143, 135, 0.3) !important;
  border-radius: 7px;
  background: var(--notebook-accent-soft) !important;
  color: var(--notebook-ink) !important;
}

.world-shell.has-shell-sidebar .referral-confirm {
  border: 1px solid rgba(174, 133, 36, 0.28);
  border-radius: 7px;
  background: #fff0ba !important;
  color: #5e4310 !important;
}

.world-shell.has-shell-sidebar .referral-primary-button {
  min-height: 40px;
  border: 1px solid var(--notebook-accent-strong) !important;
  border-radius: 7px !important;
  background: var(--notebook-accent) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.world-shell.has-shell-sidebar .referral-progress-row progress {
  accent-color: var(--notebook-accent);
}

.world-shell.has-shell-sidebar .referral-relationship-reward {
  border-color: var(--notebook-edge-soft);
  color: var(--notebook-muted) !important;
}

.world-shell.has-shell-sidebar .referral-relationship-reward strong {
  color: var(--notebook-accent-strong) !important;
}

.world-shell.has-shell-sidebar .referral-program-notice,
.world-shell.has-shell-sidebar .referral-message {
  border-radius: 7px;
  color: var(--notebook-ink) !important;
}

.world-shell.has-shell-sidebar .referral-message.is-error {
  border-color: rgba(184, 79, 66, 0.34);
  background: var(--notebook-danger-soft) !important;
  color: #8f3328 !important;
}

.world-shell.has-shell-sidebar .referral-message.is-success {
  border-color: rgba(28, 142, 78, 0.34);
  background: var(--notebook-success-soft) !important;
  color: #176f3f !important;
}

.world-shell.has-shell-sidebar .referral-terms-note {
  margin: 0;
  padding: 0.12rem 0.18rem;
  color: var(--notebook-muted);
  font-size: 0.68rem;
  line-height: 1.4;
}

.world-shell.has-shell-sidebar .referral-terms-note a {
  color: var(--notebook-accent-strong);
  font-weight: 900;
}

@media (max-width: 820px) {
  .invite-landing-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .invite-goals-card {
    display: grid;
    grid-template-columns: minmax(180px, 0.46fr) minmax(0, 1fr);
    gap: 0 1rem;
  }

  .invite-goals-art {
    grid-row: span 4;
    height: 100%;
    min-height: 260px;
    margin: 0;
  }

  .invite-how-it-works {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 620px) {
  .invite-landing-page {
    padding: 0.78rem 0.7rem 1.4rem;
  }

  .invite-landing-nav {
    min-height: 46px;
    margin-bottom: 0.7rem;
  }

  .invite-canvas-link {
    padding-right: 0;
    padding-left: 0;
  }

  .invite-landing-hero {
    gap: 1rem;
    padding: 1rem;
    border-radius: 11px;
    box-shadow: 4px 4px 0 rgba(73, 49, 29, 0.12);
  }

  .invite-hero-copy h1 {
    font-size: clamp(2.5rem, 14vw, 4rem);
  }

  .invite-reward-ticket {
    grid-template-columns: minmax(0, 1fr);
  }

  .invite-ticket-divider {
    width: 100%;
    height: 1px;
    border-top: 1px dashed rgba(118, 89, 24, 0.34);
    border-left: 0;
  }

  .invite-goals-card {
    display: block;
  }

  .invite-goals-art {
    min-height: 0;
    height: 108px;
    margin-bottom: 0.85rem;
  }

  .invite-step-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .invite-landing-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .invite-pixel-cluster {
    display: none;
  }

  .world-shell.has-shell-sidebar .referral-intro-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .world-shell.has-shell-sidebar .referral-intro-rewards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .world-shell.has-shell-sidebar .referral-url-field {
    padding-left: 0.5rem;
  }

  .world-shell.has-shell-sidebar .referral-copy-button {
    min-width: 38px;
    width: 38px;
    padding: 0 !important;
  }

  .world-shell.has-shell-sidebar .referral-copy-button span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

/* Keep the reward-first landing above the legacy referral presentation in the cascade. */
.invite-landing-page {
  min-height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-items: center;
  overflow: hidden;
  padding: 0.8rem clamp(1rem, 3vw, 2.5rem) 0.7rem;
  background:
    linear-gradient(rgba(18, 143, 135, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 143, 135, 0.055) 1px, transparent 1px),
    radial-gradient(circle at 50% 45%, rgba(255, 250, 235, 0.92) 0 17rem, rgba(248, 243, 232, 0.74) 36rem),
    #f8f3e8;
  background-size: 20px 20px, 20px 20px, auto, auto;
}

.invite-landing-page::before {
  z-index: 5;
}

.invite-landing-nav {
  width: min(1120px, 100%);
  min-height: 46px;
  margin: 0 auto;
}

.invite-landing-hero {
  width: min(680px, calc(100vw - 2rem));
  min-height: 0;
  display: flex;
  grid-template-columns: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.72rem;
  margin: clamp(0.3rem, 2vh, 1.2rem) auto;
  padding: clamp(1.4rem, 3vh, 2.2rem) clamp(1.25rem, 4vw, 3rem);
  border-radius: 20px;
  background:
    linear-gradient(rgba(118, 98, 67, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118, 98, 67, 0.035) 1px, transparent 1px),
    rgba(255, 253, 247, 0.96);
  background-size: 18px 18px, 18px 18px, auto;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.9),
    8px 9px 0 rgba(73, 49, 29, 0.14),
    0 30px 85px rgba(42, 28, 18, 0.2);
}

.invite-landing-footer {
  width: auto;
  min-height: 30px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin: 0 auto;
  padding: 0;
}

@media (max-width: 620px) {
  .invite-landing-page {
    grid-template-rows: auto minmax(0, 1fr) auto;
    padding: 0.55rem 0.7rem 0.35rem;
  }

  .invite-landing-nav {
    min-height: 42px;
    margin-bottom: 0;
  }

  .invite-landing-hero {
    width: 100%;
    display: flex;
    gap: 0.58rem;
    margin: 0.25rem auto;
    padding: 1rem 0.72rem;
    border-radius: 14px;
    box-shadow: 5px 6px 0 rgba(73, 49, 29, 0.13), 0 20px 55px rgba(42, 28, 18, 0.18);
  }

  .invite-landing-footer {
    min-height: 24px;
    flex-direction: row;
    align-items: center;
    padding: 0;
  }
}

/* Optional Cplace design concepts. These classes are only applied on /colorful. */
.world-shell.cplace-concept {
  --concept-accent: #6d5dfc;
  --concept-accent-rgb: 109, 93, 252;
  --concept-secondary: #30c9aa;
  --concept-coral: #f45f7b;
  --concept-gold: #efb52f;
  --concept-sidebar-bg: #1c1932;
  --concept-sidebar-text: #f8f7ff;
  --concept-sidebar-muted: #aaa5c7;
  --concept-sidebar-line: rgba(255, 255, 255, 0.13);
  --concept-profile-bg: rgba(255, 255, 255, 0.075);
  --concept-profile-border: rgba(255, 255, 255, 0.13);
  --concept-surface: #ffffff;
  --concept-surface-soft: #f3f1fb;
  --concept-text: #29263c;
  --concept-muted: #706c80;
  --concept-border: #dedbe9;
  --concept-control-bg: rgba(255, 255, 255, 0.085);
  --concept-mode-claim: #ed5574;
  --concept-mode-claim-soft: #ffe7ec;
  --concept-mode-paint: #6857eb;
  --concept-mode-paint-soft: #ece9ff;
  --concept-mode-shop: #c18b0b;
  --concept-mode-shop-soft: #fff2c9;
  --concept-taskbar-bg: rgba(255, 255, 255, 0.94);
  --concept-taskbar-text: #29263c;
  --concept-shadow: 0 16px 38px rgba(31, 25, 65, 0.16);
  --accent-turquoise: var(--concept-accent);
  --accent-turquoise-rgb: var(--concept-accent-rgb);
  --accent-mint: var(--concept-secondary);
  --hud-background: var(--concept-taskbar-bg);
  --hud-border: rgba(var(--concept-accent-rgb), 0.24);
  --hud-text: var(--concept-taskbar-text);
  --modal-background: rgba(255, 255, 255, 0.97);
  --modal-card: rgba(var(--concept-accent-rgb), 0.06);
  --modal-copy: #666277;
  --panel-surface: rgba(var(--concept-accent-rgb), 0.055);
  --panel-surface-strong: rgba(var(--concept-accent-rgb), 0.09);
  --panel-divider: rgba(53, 48, 78, 0.11);
  --menu-background: rgba(255, 255, 255, 0.98);
  --menu-shadow: 0 24px 64px rgba(34, 28, 68, 0.2);
  --viewport-background:
    radial-gradient(circle at 14% 14%, rgba(var(--concept-accent-rgb), 0.12), transparent 34%),
    radial-gradient(circle at 86% 86%, color-mix(in srgb, var(--concept-secondary) 11%, transparent), transparent 32%),
    linear-gradient(180deg, #f2f4fa, #e4e8f1);
  --viewport-grid: rgba(54, 50, 76, 0.13);
  --viewport-major-grid: rgba(54, 50, 76, 0.055);
  --viewport-origin-axis: rgba(230, 77, 109, 0.45);
  --crosshair: rgba(54, 50, 76, 0.2);
  --backdrop-glow: rgba(var(--concept-accent-rgb), 0.14);
  --backdrop-glow-alt: color-mix(in srgb, var(--concept-secondary) 11%, transparent);
  --game-accent: var(--concept-accent);
  --game-accent-strong: color-mix(in srgb, var(--concept-accent) 82%, #161229);
  --game-accent-soft: color-mix(in srgb, var(--concept-accent) 14%, #ffffff);
  --game-accent-wash: color-mix(in srgb, var(--concept-accent) 7%, #ffffff);
  --game-accent-panel: color-mix(in srgb, var(--concept-accent) 4%, #ffffff);
  --game-accent-border: rgba(var(--concept-accent-rgb), 0.28);
  --game-accent-border-strong: rgba(var(--concept-accent-rgb), 0.52);
  --game-paper: var(--concept-surface);
  --game-paper-strong: var(--concept-surface);
  --game-paper-soft: var(--concept-surface-soft);
  --game-sidebar-outline: var(--concept-border);
  color-scheme: light;
  background: #171527 !important;
}

.world-shell.cplace-concept--citrus {
  --concept-accent: #ee6841;
  --concept-accent-rgb: 238, 104, 65;
  --concept-secondary: #159c95;
  --concept-coral: #e94f75;
  --concept-gold: #d59400;
  --concept-sidebar-bg: #fff8e8;
  --concept-sidebar-text: #302821;
  --concept-sidebar-muted: #7c6d61;
  --concept-sidebar-line: rgba(102, 74, 47, 0.17);
  --concept-profile-bg: #ffffff;
  --concept-profile-border: rgba(217, 126, 70, 0.22);
  --concept-surface: #ffffff;
  --concept-surface-soft: #fff2d9;
  --concept-text: #312922;
  --concept-muted: #74685e;
  --concept-border: #eadcc8;
  --concept-control-bg: rgba(255, 255, 255, 0.82);
  --concept-mode-claim: #e45170;
  --concept-mode-claim-soft: #ffe5eb;
  --concept-mode-paint: #ee6841;
  --concept-mode-paint-soft: #ffeadf;
  --concept-mode-shop: #ad7600;
  --concept-mode-shop-soft: #fff0bd;
  --concept-taskbar-bg: rgba(255, 253, 246, 0.95);
  --concept-taskbar-text: #342a22;
  --concept-shadow: 0 14px 34px rgba(100, 66, 36, 0.14);
  --modal-background: rgba(255, 253, 247, 0.98);
  --modal-copy: #6e6259;
  --panel-divider: rgba(91, 65, 44, 0.12);
  --menu-background: rgba(255, 253, 247, 0.99);
  --menu-shadow: 0 24px 60px rgba(84, 53, 29, 0.19);
  --viewport-background:
    radial-gradient(circle at 16% 12%, rgba(255, 202, 58, 0.15), transparent 32%),
    radial-gradient(circle at 84% 88%, rgba(21, 156, 149, 0.1), transparent 30%),
    linear-gradient(180deg, #f9f6ed, #ede9df);
  --viewport-grid: rgba(87, 70, 53, 0.13);
  --viewport-major-grid: rgba(87, 70, 53, 0.055);
  --viewport-origin-axis: rgba(238, 104, 65, 0.48);
  background: #eadfca !important;
}

.world-shell.cplace-concept--arcade {
  --concept-accent: #a7f432;
  --concept-accent-rgb: 167, 244, 50;
  --concept-secondary: #19d3ff;
  --concept-coral: #ff4fa3;
  --concept-gold: #ffd43b;
  --concept-sidebar-bg: #0c111b;
  --concept-sidebar-text: #f4f8ef;
  --concept-sidebar-muted: #9ba5b4;
  --concept-sidebar-line: rgba(167, 244, 50, 0.16);
  --concept-profile-bg: #151d29;
  --concept-profile-border: #273444;
  --concept-surface: #17202d;
  --concept-surface-soft: #202b39;
  --concept-text: #f3f7ee;
  --concept-muted: #a7b0bd;
  --concept-border: #2c3949;
  --concept-control-bg: #151d28;
  --concept-mode-claim: #ff4f8b;
  --concept-mode-claim-soft: #382033;
  --concept-mode-paint: #19d3ff;
  --concept-mode-paint-soft: #163342;
  --concept-mode-shop: #ffd43b;
  --concept-mode-shop-soft: #3a351c;
  --concept-taskbar-bg: rgba(15, 21, 32, 0.95);
  --concept-taskbar-text: #f3f7ee;
  --concept-shadow: 0 18px 46px rgba(0, 0, 0, 0.38);
  --hud-background: var(--concept-taskbar-bg);
  --hud-text: var(--concept-taskbar-text);
  --hud-border: rgba(167, 244, 50, 0.2);
  --modal-background: rgba(14, 20, 31, 0.98);
  --modal-card: rgba(25, 211, 255, 0.06);
  --modal-copy: #aeb7c4;
  --panel-surface: rgba(255, 255, 255, 0.045);
  --panel-surface-strong: rgba(255, 255, 255, 0.075);
  --panel-divider: rgba(255, 255, 255, 0.09);
  --menu-background: rgba(13, 19, 29, 0.99);
  --menu-shadow: 0 24px 66px rgba(0, 0, 0, 0.5);
  --viewport-background:
    radial-gradient(circle at 14% 14%, rgba(25, 211, 255, 0.1), transparent 32%),
    radial-gradient(circle at 86% 86%, rgba(167, 244, 50, 0.08), transparent 30%),
    linear-gradient(180deg, #111824, #0b111a);
  --viewport-grid: rgba(199, 221, 235, 0.13);
  --viewport-major-grid: rgba(199, 221, 235, 0.055);
  --viewport-origin-axis: rgba(255, 79, 163, 0.52);
  --crosshair: rgba(199, 221, 235, 0.2);
  --backdrop-glow: rgba(25, 211, 255, 0.1);
  --backdrop-glow-alt: rgba(167, 244, 50, 0.08);
  --game-accent-strong: #d5ff94;
  --game-accent-soft: #26351d;
  --game-accent-wash: #1b251c;
  --game-accent-panel: #151d29;
  --game-paper: #17202d;
  --game-paper-strong: #17202d;
  --game-paper-soft: #202b39;
  --game-sidebar-outline: #2c3949;
  color-scheme: dark;
  background: #080c13 !important;
}

.world-shell.cplace-concept.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(360px, 21vw, 410px);
}

.world-shell.cplace-concept--citrus.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(396px, 23vw, 448px);
}

.world-shell.cplace-concept .game-sidebar {
  isolation: isolate;
  gap: 0.72rem;
  overflow-x: hidden;
  padding: calc(env(safe-area-inset-top, 0px) + 0.78rem) 0.78rem calc(env(safe-area-inset-bottom, 0px) + 0.78rem);
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--concept-sidebar-bg) !important;
  background-image: none !important;
  color: var(--concept-sidebar-text) !important;
  box-shadow:
    inset -1px 0 0 var(--concept-sidebar-line),
    10px 0 30px rgba(18, 14, 40, 0.13) !important;
  opacity: 1 !important;
  filter: none !important;
}

.world-shell.cplace-concept.has-sidebar-right .game-sidebar:not(.is-floating) {
  box-shadow:
    inset 1px 0 0 var(--concept-sidebar-line),
    -10px 0 30px rgba(18, 14, 40, 0.13) !important;
}

.world-shell.cplace-concept .game-sidebar::after {
  inset: 0 !important;
  z-index: 0 !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--concept-accent) 11%, transparent) 1px, transparent 1px),
    linear-gradient(180deg, color-mix(in srgb, var(--concept-accent) 11%, transparent) 1px, transparent 1px) !important;
  background-position: 12px 12px !important;
  background-size: 22px 22px !important;
  opacity: 0.34 !important;
  -webkit-mask-image: linear-gradient(180deg, #000, transparent 86%) !important;
  mask-image: linear-gradient(180deg, #000, transparent 86%) !important;
}

.world-shell.cplace-concept--aurora .game-sidebar {
  background:
    radial-gradient(circle at 8% 7%, rgba(109, 93, 252, 0.48), transparent 16rem),
    radial-gradient(circle at 92% 92%, rgba(48, 201, 170, 0.16), transparent 14rem),
    #1c1932 !important;
}

.world-shell.cplace-concept--citrus .game-sidebar {
  background:
    radial-gradient(circle at 8% 5%, rgba(255, 202, 58, 0.25), transparent 15rem),
    radial-gradient(circle at 94% 92%, rgba(21, 156, 149, 0.1), transparent 14rem),
    #fff8e8 !important;
  box-shadow:
    inset -1px 0 0 rgba(104, 75, 45, 0.14),
    10px 0 28px rgba(89, 58, 31, 0.1) !important;
}

.world-shell.cplace-concept--arcade .game-sidebar {
  background:
    linear-gradient(160deg, rgba(25, 211, 255, 0.07), transparent 34%),
    linear-gradient(340deg, rgba(167, 244, 50, 0.055), transparent 34%),
    #0c111b !important;
}

.world-shell.cplace-concept .game-sidebar > *,
.world-shell.cplace-concept .game-sidebar-scroll-area > * {
  position: relative;
  z-index: 1;
}

.world-shell.cplace-concept .game-sidebar-brand {
  min-height: 46px;
  padding: 0 0.14rem 0.7rem;
  border-bottom: 1px solid var(--concept-sidebar-line) !important;
}

.world-shell.cplace-concept .game-sidebar-brand strong {
  color: var(--concept-sidebar-text) !important;
  font-size: 1.28rem;
  letter-spacing: -0.035em !important;
}

.world-shell.cplace-concept .game-sidebar-mark {
  width: 26px;
  height: 26px;
  color: var(--concept-secondary) !important;
  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--concept-secondary) 30%, transparent));
}

.world-shell.cplace-concept .game-sidebar-section {
  gap: 0.58rem;
}

.world-shell.cplace-concept .game-sidebar-section-head > span,
.world-shell.cplace-concept .game-sidebar-subhead strong {
  color: color-mix(in srgb, var(--concept-sidebar-text) 82%, var(--concept-accent)) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase;
}

.world-shell.cplace-concept .game-sidebar-section-head > span::before,
.world-shell.cplace-concept .game-sidebar-subhead strong::before {
  width: 7px !important;
  height: 7px !important;
  border-radius: 2px;
  background: var(--concept-secondary) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--concept-secondary) 13%, transparent);
}

.world-shell.cplace-concept .game-sidebar-section:first-of-type {
  padding: 0.78rem !important;
  border: 1px solid var(--concept-profile-border) !important;
  border-radius: 16px !important;
  background: var(--concept-profile-bg) !important;
  background-image: none !important;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 8%, transparent),
    var(--concept-shadow) !important;
}

.world-shell.cplace-concept .game-profile-card {
  grid-template-columns: 54px minmax(0, 1fr) auto !important;
  gap: 0.65rem !important;
}

.world-shell.cplace-concept .game-profile-avatar {
  width: 54px !important;
  height: 54px !important;
  border: 2px solid color-mix(in srgb, var(--concept-secondary) 52%, var(--concept-profile-border)) !important;
  border-radius: 14px !important;
  background: color-mix(in srgb, var(--concept-secondary) 12%, var(--concept-surface)) !important;
  color: var(--concept-accent) !important;
  box-shadow: 0 8px 18px rgba(16, 13, 36, 0.16) !important;
}

.world-shell.cplace-concept .game-profile-copy strong {
  color: var(--concept-sidebar-text) !important;
  font-size: 0.98rem !important;
}

.world-shell.cplace-concept .game-profile-copy span {
  color: var(--concept-sidebar-muted) !important;
  font-size: 0.76rem !important;
}

.world-shell.cplace-concept .game-profile-coins {
  grid-column: auto !important;
  justify-self: end !important;
  padding: 0.36rem 0.48rem !important;
  border: 1px solid color-mix(in srgb, var(--concept-gold) 38%, transparent) !important;
  border-radius: 10px !important;
  background: color-mix(in srgb, var(--concept-gold) 15%, transparent) !important;
  color: color-mix(in srgb, var(--concept-gold) 78%, var(--concept-sidebar-text)) !important;
  font-size: 0.76rem !important;
}

.world-shell.cplace-concept .game-profile-coins::before {
  content: none !important;
}

.world-shell.cplace-concept .game-level-strip {
  color: var(--concept-sidebar-text) !important;
  font-size: 0.78rem !important;
}

.world-shell.cplace-concept .game-level-strip span {
  color: var(--concept-sidebar-muted) !important;
}

.world-shell.cplace-concept .game-level-bar {
  height: 7px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--concept-sidebar-text) 11%, transparent) !important;
}

.world-shell.cplace-concept .game-level-bar span {
  border-radius: inherit;
  background: linear-gradient(90deg, var(--concept-secondary), var(--concept-accent), var(--concept-coral)) !important;
}

.world-shell.cplace-concept .game-profile-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.45rem !important;
}

.world-shell.cplace-concept .game-profile-stat-card,
.world-shell.cplace-concept .game-profile-stat-card.is-timer {
  min-height: 58px !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 0.1rem 0.38rem !important;
  padding: 0.48rem !important;
  border: 1px solid color-mix(in srgb, var(--concept-secondary) 20%, var(--concept-profile-border)) !important;
  border-radius: 11px !important;
  background: color-mix(in srgb, var(--concept-secondary) 8%, transparent) !important;
  box-shadow: none !important;
}

.world-shell.cplace-concept .game-profile-stat-card.is-timer {
  border-color: color-mix(in srgb, var(--concept-gold) 22%, var(--concept-profile-border)) !important;
  background: color-mix(in srgb, var(--concept-gold) 8%, transparent) !important;
}

.world-shell.cplace-concept .game-profile-stat-card svg,
.world-shell.cplace-concept .game-profile-stat-card span {
  color: color-mix(in srgb, var(--concept-secondary) 72%, var(--concept-sidebar-text)) !important;
}

.world-shell.cplace-concept .game-profile-stat-card.is-timer svg,
.world-shell.cplace-concept .game-profile-stat-card.is-timer span {
  color: color-mix(in srgb, var(--concept-gold) 76%, var(--concept-sidebar-text)) !important;
}

.world-shell.cplace-concept .game-profile-stat-card span {
  font-size: 0.64rem !important;
}

.world-shell.cplace-concept .game-profile-stat-card strong {
  grid-column: 2;
  color: var(--concept-sidebar-text) !important;
  font-size: 0.78rem !important;
  text-align: left !important;
}

.world-shell.cplace-concept .game-area-entry-card {
  min-height: 96px !important;
  border: 1px solid color-mix(in srgb, var(--concept-secondary) 40%, transparent) !important;
  border-radius: 15px !important;
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--concept-secondary) 30%, transparent), color-mix(in srgb, var(--concept-accent) 22%, transparent)),
    color-mix(in srgb, var(--concept-sidebar-bg) 86%, #ffffff) !important;
  color: var(--concept-sidebar-text) !important;
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #ffffff 10%, transparent),
    0 12px 26px rgba(14, 11, 33, 0.14) !important;
}

.world-shell.cplace-concept--citrus .game-area-entry-card {
  border-color: rgba(21, 156, 149, 0.3) !important;
  background: linear-gradient(115deg, #dff8ef, #f1f6dc) !important;
  color: #24372f !important;
}

.world-shell.cplace-concept .game-area-entry-card::before {
  opacity: 0.1 !important;
}

.world-shell.cplace-concept .game-area-entry-card :is(strong, span),
.world-shell.cplace-concept .game-area-entry-card::after {
  color: inherit !important;
}

.world-shell.cplace-concept .game-area-entry-copy small,
.world-shell.cplace-concept .game-area-entry-meta {
  color: color-mix(in srgb, currentColor 68%, transparent) !important;
}

.world-shell.cplace-concept .game-area-entry-icon {
  border: 1px solid color-mix(in srgb, currentColor 22%, transparent) !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, #ffffff 13%, transparent) !important;
  color: inherit !important;
}

.world-shell.cplace-concept .game-area-entry-count {
  border-color: color-mix(in srgb, var(--concept-gold) 40%, transparent) !important;
  border-radius: 10px !important;
  background: color-mix(in srgb, var(--concept-gold) 15%, transparent) !important;
  color: inherit !important;
}

.world-shell.cplace-concept .game-area-entry-progress {
  border: 0 !important;
  background: color-mix(in srgb, currentColor 12%, transparent) !important;
}

.world-shell.cplace-concept .game-area-entry-progress span {
  background: linear-gradient(90deg, var(--concept-secondary), color-mix(in srgb, var(--concept-secondary) 38%, #ffffff)) !important;
}

.world-shell.cplace-concept .game-mode-list {
  gap: 0.52rem !important;
}

.world-shell.cplace-concept .game-mode-list .game-mode-button {
  position: relative;
  min-height: 64px !important;
  overflow: hidden;
  border: 1px solid var(--concept-border) !important;
  border-radius: 14px !important;
  background: var(--concept-surface) !important;
  background-image: none !important;
  color: var(--concept-text) !important;
  box-shadow: 0 7px 18px rgba(16, 13, 36, 0.1) !important;
  transform: none !important;
}

.world-shell.cplace-concept .game-mode-list .game-mode-button::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--concept-mode-claim);
}

.world-shell.cplace-concept .game-mode-list .game-mode-button:nth-child(2)::before {
  background: var(--concept-mode-paint);
}

.world-shell.cplace-concept .game-mode-list .game-mode-button:nth-child(3)::before {
  background: var(--concept-mode-shop);
}

.world-shell.cplace-concept .game-mode-list .game-mode-button :is(strong, small),
.world-shell.cplace-concept .game-mode-list .game-mode-button::after {
  color: inherit !important;
}

.world-shell.cplace-concept .game-mode-list .game-mode-button small,
.world-shell.cplace-concept .game-mode-list .game-mode-button .game-sidebar-coin-detail,
.world-shell.cplace-concept .game-mode-list .game-mode-button .game-sidebar-coin-detail span {
  color: var(--concept-muted) !important;
}

.world-shell.cplace-concept .game-mode-list .game-mode-icon {
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--concept-mode-claim-soft) !important;
  color: var(--concept-mode-claim) !important;
}

.world-shell.cplace-concept .game-mode-list .game-mode-button:nth-child(2) .game-mode-icon {
  background: var(--concept-mode-paint-soft) !important;
  color: var(--concept-mode-paint) !important;
}

.world-shell.cplace-concept .game-mode-list .game-mode-button:nth-child(3) .game-mode-icon {
  background: var(--concept-mode-shop-soft) !important;
  color: var(--concept-mode-shop) !important;
}

.world-shell.cplace-concept .game-mode-list .game-mode-button:not(:disabled):is(:hover, :focus-visible) {
  border-color: transparent !important;
  background: var(--concept-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(var(--concept-accent-rgb), 0.28) !important;
  transform: translateY(-1px) !important;
}

.world-shell.cplace-concept .game-mode-list .game-mode-button:not(:disabled):is(:hover, :focus-visible) :is(strong, small, span, svg),
.world-shell.cplace-concept .game-mode-list .game-mode-button:not(:disabled):is(:hover, :focus-visible)::after {
  color: #ffffff !important;
}

.world-shell.cplace-concept .game-mode-list .game-mode-button:not(:disabled):is(:hover, :focus-visible) .game-mode-icon {
  border-color: rgba(255, 255, 255, 0.2) !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}

.world-shell.cplace-concept--citrus .game-mode-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.world-shell.cplace-concept--citrus .game-mode-list .game-mode-button {
  min-height: 92px !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  grid-template-rows: auto;
  align-content: center;
  padding: 0.62rem !important;
}

.world-shell.cplace-concept--citrus .game-mode-list .game-mode-button:nth-child(3) {
  min-height: 66px !important;
  grid-column: 1 / -1;
  grid-template-columns: 44px minmax(0, 1fr) auto !important;
}

.world-shell.cplace-concept--citrus .game-mode-list .game-mode-button::after {
  content: none !important;
}

.world-shell.cplace-concept .game-sidebar-icon-button,
.world-shell.cplace-concept .game-sidebar-collapse-button,
.world-shell.cplace-concept .game-sidebar-back {
  border: 1px solid var(--concept-sidebar-line) !important;
  border-radius: 10px !important;
  background: var(--concept-control-bg) !important;
  background-image: none !important;
  color: var(--concept-sidebar-text) !important;
  box-shadow: none !important;
}

.world-shell.cplace-concept .game-sidebar :is(.game-sidebar-icon-button, .game-sidebar-collapse-button, .game-sidebar-back):not(:disabled):is(:hover, :focus-visible) {
  border-color: color-mix(in srgb, var(--concept-secondary) 45%, transparent) !important;
  background: color-mix(in srgb, var(--concept-secondary) 13%, var(--concept-control-bg)) !important;
  color: color-mix(in srgb, var(--concept-secondary) 74%, var(--concept-sidebar-text)) !important;
}

.world-shell.cplace-concept .game-sidebar-subhead {
  border-color: var(--concept-sidebar-line) !important;
}

.world-shell.cplace-concept .game-sidebar :is(
  .game-status-card,
  .game-shop-item,
  .pixel-resource-summary,
  .game-claim-slot-row,
  .overlay-drop-zone,
  .overlay-meta-row,
  .overlay-render-progress,
  .overlay-palette-window,
  .game-sidebar-area-controls,
  .game-sidebar-area-item,
  .game-sidebar-area-detail,
  .game-sidebar-notification,
  .game-sidebar-notification-list.is-floating,
  .game-rail-popover,
  .game-sidebar-selected-area .area-panel-header,
  .game-sidebar-selected-area .area-collapsible-card,
  .game-sidebar-selected-area .area-more-info-card summary,
  .game-sidebar-selected-area .area-more-info-card .area-collapsible-content,
  .game-sidebar-selected-area .area-fact-list
) {
  border-color: var(--concept-border) !important;
  border-radius: 12px !important;
  background: var(--concept-surface) !important;
  background-image: none !important;
  color: var(--concept-text) !important;
  box-shadow: 0 6px 16px rgba(16, 13, 36, 0.08) !important;
}

.world-shell.cplace-concept .game-sidebar :is(
  .game-status-card,
  .game-shop-item,
  .pixel-resource-summary,
  .game-claim-slot-row,
  .game-sidebar-area-controls,
  .game-sidebar-area-item,
  .game-sidebar-area-detail,
  .game-sidebar-notification,
  .game-sidebar-selected-area .area-panel-header,
  .game-sidebar-selected-area .area-collapsible-card,
  .game-sidebar-selected-area .area-fact-list
) :is(h2, h3, strong, dt, dd) {
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .game-sidebar :is(
  .game-status-card,
  .game-shop-item,
  .pixel-resource-summary,
  .game-claim-slot-row,
  .game-sidebar-area-controls,
  .game-sidebar-area-item,
  .game-sidebar-area-detail,
  .game-sidebar-notification,
  .game-sidebar-selected-area .area-panel-header,
  .game-sidebar-selected-area .area-collapsible-card,
  .game-sidebar-selected-area .area-fact-list
) :is(p, small) {
  color: var(--concept-muted) !important;
}

.world-shell.cplace-concept .game-sidebar :is(
  .game-tool-button,
  .claim-tool-button,
  .paint-tool-button,
  .game-theme-row button,
  .owned-area-filter-button,
  .game-sidebar-small-button,
  .game-sidebar-link,
  .pixel-clear-button,
  .area-action-button,
  .area-quick-action-button,
  .area-request-toggle,
  .area-add-player-button,
  .area-player-options-button,
  .area-options-button,
  .overlay-select-button
) {
  border-color: var(--concept-border) !important;
  border-radius: 10px !important;
  background: var(--concept-surface) !important;
  background-image: none !important;
  color: var(--concept-text) !important;
  box-shadow: none !important;
}

.world-shell.cplace-concept .game-sidebar :is(
  .game-tool-button,
  .claim-tool-button,
  .paint-tool-button,
  .game-theme-row button,
  .owned-area-filter-button,
  .game-sidebar-small-button,
  .game-sidebar-link,
  .pixel-clear-button,
  .area-action-button,
  .area-quick-action-button,
  .area-request-toggle,
  .area-add-player-button,
  .area-player-options-button,
  .area-options-button,
  .overlay-select-button
):not(:disabled):is(:hover, :focus-visible, .is-active),
.world-shell.cplace-concept .game-sidebar-primary {
  border-color: var(--concept-accent) !important;
  background: var(--concept-accent) !important;
  color: color-mix(in srgb, var(--concept-accent) 10%, #ffffff) !important;
}

.world-shell.cplace-concept--arcade .game-sidebar-primary {
  color: #0d1510 !important;
}

.world-shell.cplace-concept .game-sidebar :is(.account-input, input, textarea, select) {
  border-color: var(--concept-border) !important;
  border-radius: 10px !important;
  background: var(--concept-surface) !important;
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .game-sidebar :is(.account-input, input, textarea, select)::placeholder {
  color: var(--concept-muted) !important;
}

.world-shell.cplace-concept .game-sidebar-footer {
  border-color: var(--concept-sidebar-line) !important;
  color: var(--concept-sidebar-muted) !important;
}

.world-shell.cplace-concept .game-sidebar-footer :is(button, a),
.world-shell.cplace-concept .game-sidebar-cursor-readout :is(span, strong) {
  color: inherit !important;
}

.world-shell.cplace-concept .build-taskbar {
  border: 1px solid rgba(var(--concept-accent-rgb), 0.24) !important;
  border-radius: 18px !important;
  background: var(--concept-taskbar-bg) !important;
  background-image: none !important;
  color: var(--concept-taskbar-text) !important;
  box-shadow: var(--concept-shadow) !important;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}

.world-shell.cplace-concept .build-taskbar::before {
  background: linear-gradient(110deg, transparent 20%, rgba(var(--concept-accent-rgb), 0.12), rgba(255, 255, 255, 0.62), transparent 78%) !important;
}

.world-shell.cplace-concept .build-tool-button {
  border-color: transparent !important;
  border-radius: 14px !important;
  background: var(--concept-mode-claim-soft) !important;
  color: color-mix(in srgb, var(--concept-mode-claim) 72%, var(--concept-taskbar-text)) !important;
  box-shadow: inset 4px 0 0 var(--concept-mode-claim) !important;
}

.world-shell.cplace-concept .build-tool-button:nth-child(2) {
  background: var(--concept-mode-paint-soft) !important;
  color: color-mix(in srgb, var(--concept-mode-paint) 72%, var(--concept-taskbar-text)) !important;
  box-shadow: inset 4px 0 0 var(--concept-mode-paint) !important;
}

.world-shell.cplace-concept .build-tool-icon,
.world-shell.cplace-concept .build-tool-counter {
  border-color: transparent !important;
  background: color-mix(in srgb, var(--concept-taskbar-bg) 74%, transparent) !important;
  color: inherit !important;
}

.world-shell.cplace-concept .build-tool-button:not(:disabled):is(:hover, :focus-visible, .is-active) {
  border-color: transparent !important;
  background: var(--concept-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(var(--concept-accent-rgb), 0.26) !important;
}

.world-shell.cplace-concept--arcade .build-tool-button:not(:disabled):is(:hover, :focus-visible, .is-active) {
  color: #0d1510 !important;
}

.world-shell.cplace-concept .build-tool-button:not(:disabled):is(:hover, :focus-visible, .is-active) :is(.build-tool-icon, .build-tool-counter) {
  background: color-mix(in srgb, #ffffff 16%, transparent) !important;
  color: inherit !important;
}

.world-shell.cplace-concept :is(
  .account-popover,
  .modal-window,
  .pixel-placement-panel,
  .world-area-panel,
  .area-context-menu,
  .onboarding-guide-panel,
  .app-toast
) {
  border-color: rgba(var(--concept-accent-rgb), 0.22) !important;
  color: var(--hud-text);
  box-shadow: var(--menu-shadow) !important;
}

.world-shell.cplace-concept--arcade :is(
  .account-popover,
  .modal-window,
  .pixel-placement-panel,
  .world-area-panel,
  .area-context-menu,
  .onboarding-guide-panel,
  .app-toast
) :is(h1, h2, h3, strong) {
  color: #f3f7ee;
}

@media (max-width: 760px) {
  .world-shell.cplace-concept.has-shell-sidebar:not(.has-sidebar-collapsed),
  .world-shell.cplace-concept--citrus.has-shell-sidebar:not(.has-sidebar-collapsed) {
    --game-sidebar-width: min(94vw, 420px);
  }

  .world-shell.cplace-concept--citrus .game-mode-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .world-shell.cplace-concept--citrus .game-mode-list .game-mode-button,
  .world-shell.cplace-concept--citrus .game-mode-list .game-mode-button:nth-child(3) {
    min-height: 62px !important;
    grid-column: auto;
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .world-shell.cplace-concept *,
  .world-shell.cplace-concept *::before,
  .world-shell.cplace-concept *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Cplace concept layouts: full information architecture for every sidebar view. */
.world-shell.cplace-concept--aurora.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(420px, 23vw, 462px);
}

.world-shell.cplace-concept--citrus.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(480px, 27vw, 536px);
}

.world-shell.cplace-concept--arcade.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(348px, 20vw, 388px);
}

.world-shell.cplace-concept .game-sidebar-scroll-area {
  gap: 0.72rem;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-brand {
  order: 0;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-footer {
  order: 9;
  margin-top: auto;
}

/* Aurora: action-first command deck. */
.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-sidebar-modes-section {
  order: 1;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-sidebar-areas-entry-section {
  order: 2;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-sidebar-profile-section {
  order: 3;
  margin-top: 0.1rem;
}

.world-shell.cplace-concept--aurora .game-sidebar-modes-section > .game-sidebar-section-head > span::after {
  content: "  ·  choose an action";
  color: var(--concept-sidebar-muted);
  font-size: 0.62rem;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
}

.world-shell.cplace-concept--aurora .game-sidebar-modes-section .game-mode-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.62rem !important;
}

.world-shell.cplace-concept--aurora .game-sidebar-modes-section .game-mode-button {
  min-height: 118px !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  grid-template-rows: auto auto;
  align-content: center;
  gap: 0.58rem !important;
  padding: 0.82rem !important;
}

.world-shell.cplace-concept--aurora .game-sidebar-modes-section .game-mode-button:nth-child(3) {
  min-height: 68px !important;
  grid-column: 1 / -1;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
}

.world-shell.cplace-concept--aurora .game-sidebar-modes-section .game-mode-button::after {
  top: auto !important;
  right: 0.75rem !important;
  bottom: 0.62rem;
  transform: none !important;
}

.world-shell.cplace-concept--aurora .game-sidebar-modes-section .game-mode-button:nth-child(3)::after {
  top: 50% !important;
  bottom: auto;
  transform: translateY(-50%) !important;
}

.world-shell.cplace-concept--aurora .game-sidebar-modes-section .game-mode-icon {
  width: 52px !important;
  height: 52px !important;
}

.world-shell.cplace-concept--aurora .game-sidebar-modes-section .game-mode-button strong {
  font-size: 1.06rem !important;
}

.world-shell.cplace-concept--aurora .game-sidebar-modes-section .game-mode-button small {
  margin-top: 0.2rem !important;
  white-space: normal;
}

.world-shell.cplace-concept--aurora .game-sidebar-profile-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.world-shell.cplace-concept--aurora .game-sidebar-profile-section .game-profile-card {
  grid-template-columns: 48px minmax(0, 1fr) auto !important;
}

.world-shell.cplace-concept--aurora .game-sidebar-profile-section .game-profile-avatar {
  width: 48px !important;
  height: 48px !important;
}

.world-shell.cplace-concept--aurora .game-sidebar-profile-section .game-profile-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Citrus: broad three-card sticker grid. */
.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-sidebar-profile-section {
  order: 1;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-sidebar-modes-section {
  order: 2;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-sidebar-areas-entry-section {
  order: 3;
}

.world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.52rem !important;
}

.world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-button,
.world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-button:nth-child(3) {
  min-height: 116px !important;
  grid-column: auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 48px auto !important;
  justify-items: center;
  align-content: center;
  gap: 0.42rem !important;
  padding: 0.68rem 0.48rem !important;
  text-align: center !important;
}

.world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-button::before {
  inset: auto 0 0 !important;
  width: auto !important;
  height: 5px;
}

.world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-button::after {
  content: none !important;
}

.world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-icon {
  width: 48px !important;
  height: 48px !important;
}

.world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-button strong {
  font-size: 0.92rem !important;
}

.world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-button small {
  max-width: 100%;
  overflow: hidden;
  font-size: 0.67rem !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-shell.cplace-concept--citrus .game-sidebar-profile-section {
  grid-template-columns: minmax(0, 1fr) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar-profile-section .game-profile-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.world-shell.cplace-concept--citrus .game-area-entry-card {
  min-height: 82px !important;
  grid-template-columns: 52px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "icon copy count"
    "icon progress progress" !important;
}

.world-shell.cplace-concept--citrus .game-area-entry-meta {
  display: none;
}

/* Arcade: dense tool console. */
.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-sidebar-modes-section {
  order: 1;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-sidebar-areas-entry-section {
  order: 2;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-sidebar-profile-section {
  order: 3;
}

.world-shell.cplace-concept--arcade .game-sidebar-modes-section .game-mode-list {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0.38rem !important;
}

.world-shell.cplace-concept--arcade .game-sidebar-modes-section .game-mode-button {
  min-height: 58px !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  padding: 0.48rem 2rem 0.48rem 0.52rem !important;
  border-radius: 8px !important;
}

.world-shell.cplace-concept--arcade .game-sidebar-modes-section .game-mode-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 7px !important;
}

.world-shell.cplace-concept--arcade .game-sidebar-modes-section .game-mode-button strong {
  font-size: 0.86rem !important;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.world-shell.cplace-concept--arcade .game-sidebar-modes-section .game-mode-button small {
  font-size: 0.68rem !important;
}

.world-shell.cplace-concept--arcade .game-sidebar-profile-section {
  padding: 0.6rem !important;
  border-radius: 9px !important;
}

.world-shell.cplace-concept--arcade .game-sidebar-profile-section .game-profile-card {
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
}

.world-shell.cplace-concept--arcade .game-sidebar-profile-section .game-profile-avatar {
  width: 42px !important;
  height: 42px !important;
  border-radius: 8px !important;
}

.world-shell.cplace-concept--arcade .game-sidebar-profile-section .game-profile-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.world-shell.cplace-concept--arcade .game-sidebar-profile-section .game-profile-stat-card {
  min-height: 48px !important;
  border-radius: 7px !important;
}

.world-shell.cplace-concept--arcade .game-area-entry-card {
  min-height: 74px !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "icon copy count"
    "icon progress progress" !important;
  border-radius: 9px !important;
}

.world-shell.cplace-concept--arcade .game-area-entry-icon {
  width: 46px !important;
  height: 46px !important;
  border-radius: 7px !important;
}

.world-shell.cplace-concept--arcade .game-area-entry-meta {
  display: none;
}

/* Shared submenu shell and navigation hierarchy. */
.world-shell.cplace-concept .game-sidebar:not(.is-main):not(.is-collapsed) .game-sidebar-scroll-area {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-subhead {
  position: sticky;
  z-index: 12;
  top: -0.78rem;
  min-height: 56px !important;
  margin: -0.1rem -0.2rem 0;
  padding: 0.72rem 0.2rem 0.62rem !important;
  border-bottom: 1px solid var(--concept-sidebar-line) !important;
  background: color-mix(in srgb, var(--concept-sidebar-bg) 92%, transparent);
  -webkit-backdrop-filter: blur(18px);
          backdrop-filter: blur(18px);
}

.world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-subhead-title {
  color: var(--concept-sidebar-text) !important;
  font-size: 0.8rem !important;
}

.world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-section {
  gap: 0.72rem !important;
  padding: 0.82rem !important;
  border: 1px solid var(--concept-border) !important;
  border-radius: 15px !important;
  background: var(--concept-surface) !important;
  background-image: none !important;
  color: var(--concept-text) !important;
  box-shadow: 0 8px 22px rgba(16, 13, 36, 0.09) !important;
}

.world-shell.cplace-concept--arcade .game-sidebar:not(.is-main) .game-sidebar-section {
  padding: 0.68rem !important;
  border-radius: 9px !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.24) !important;
}

.world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-section-head > span {
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-section-head small {
  color: var(--concept-muted) !important;
}

/* Claim: resources, tools, templates, then a persistent commit zone. */
.world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-claim-tools-section {
  order: 1;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-template-section {
  order: 2;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-placement-section {
  order: 3;
  position: sticky;
  z-index: 9;
  bottom: -0.78rem;
  margin-top: auto;
  border-color: color-mix(in srgb, var(--concept-mode-claim) 32%, var(--concept-border)) !important;
  box-shadow: 0 -12px 32px color-mix(in srgb, var(--concept-sidebar-bg) 18%, transparent) !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-claim-tools-section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-claim-tools-section > .game-sidebar-section-head,
.world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-claim-tools-section > .game-tool-grid {
  grid-column: 1 / -1;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-claim-slot-row,
.world-shell.cplace-concept .game-sidebar.is-claim .pixel-resource-summary {
  min-height: 82px;
  display: grid !important;
  align-content: center;
  gap: 0.22rem;
  margin: 0 !important;
  padding: 0.68rem !important;
  border: 1px solid var(--concept-border) !important;
  border-radius: 11px !important;
  background: var(--concept-surface-soft) !important;
  color: var(--concept-text) !important;
  box-shadow: none !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-claim-slot-row {
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-claim-slot-row svg {
  width: 24px !important;
  height: 24px !important;
  color: var(--concept-mode-claim) !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .pixel-resource-summary > span,
.world-shell.cplace-concept .game-sidebar.is-claim .pixel-resource-summary > small {
  color: var(--concept-muted) !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .pixel-resource-summary > strong {
  color: var(--concept-text) !important;
  font-size: 0.94rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-tool-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.42rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-tool-button {
  min-height: 72px !important;
  border-radius: 11px !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-tool-button.is-active {
  border-color: var(--concept-mode-claim) !important;
  background: var(--concept-mode-claim-soft) !important;
  color: var(--concept-mode-claim) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--concept-mode-claim) 18%, transparent) !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-status-card,
.world-shell.cplace-concept .game-sidebar.is-paint .game-status-card {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.24rem 0.6rem;
  padding: 0.62rem !important;
  border: 1px solid var(--concept-border) !important;
  border-radius: 11px !important;
  background: var(--concept-surface-soft) !important;
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .game-sidebar :is(.game-status-card) > span {
  color: var(--concept-muted) !important;
}

.world-shell.cplace-concept .game-sidebar :is(.game-status-card) > strong {
  color: var(--concept-text) !important;
  text-align: right;
}

.world-shell.cplace-concept .game-sidebar :is(.game-status-card) > p {
  grid-column: 1 / -1;
  margin: 0.18rem 0 0;
}

.world-shell.cplace-concept .game-sidebar-actions {
  grid-template-columns: minmax(88px, 0.36fr) minmax(0, 1fr) !important;
  gap: 0.5rem !important;
}

.world-shell.cplace-concept .game-sidebar-actions > button {
  min-height: 46px;
}

.world-shell.cplace-concept .game-sidebar-primary {
  border-radius: 11px !important;
  font-weight: 900;
  box-shadow: 0 8px 20px rgba(var(--concept-accent-rgb), 0.2) !important;
}

.world-shell.cplace-concept .claim-overlay-tool {
  gap: 0.66rem;
}

.world-shell.cplace-concept .overlay-drop-zone {
  min-height: 112px !important;
  border: 2px dashed color-mix(in srgb, var(--concept-accent) 38%, var(--concept-border)) !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--concept-accent) 5%, var(--concept-surface)) !important;
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .overlay-control-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.world-shell.cplace-concept .overlay-action-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.world-shell.cplace-concept .overlay-meta-row,
.world-shell.cplace-concept .overlay-render-progress,
.world-shell.cplace-concept .overlay-palette-window {
  border-color: var(--concept-border) !important;
  background: var(--concept-surface-soft) !important;
  color: var(--concept-text) !important;
}

/* Paint: tools first, then a dedicated palette workspace and commit zone. */
.world-shell.cplace-concept .game-sidebar.is-paint .game-sidebar-paint-tools-section {
  order: 1;
}

.world-shell.cplace-concept .game-sidebar.is-paint .game-sidebar-paint-palette-section {
  order: 2;
  margin-bottom: 0;
}

.world-shell.cplace-concept .game-sidebar.is-paint .game-sidebar-paint-tools-section .game-tool-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.42rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .game-sidebar-paint-tools-section .game-tool-button {
  min-height: 68px !important;
  border-radius: 11px !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .game-sidebar-paint-tools-section .game-tool-button.is-active {
  border-color: var(--concept-mode-paint) !important;
  background: var(--concept-mode-paint-soft) !important;
  color: var(--concept-mode-paint) !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .pixel-resource-summary {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.22rem 0.6rem;
  padding: 0.68rem !important;
  border: 1px solid color-mix(in srgb, var(--concept-mode-paint) 24%, var(--concept-border)) !important;
  border-radius: 11px !important;
  background: var(--concept-mode-paint-soft) !important;
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .pixel-resource-summary > span,
.world-shell.cplace-concept .game-sidebar.is-paint .pixel-resource-summary > small {
  color: var(--concept-muted) !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .pixel-resource-summary > strong {
  color: var(--concept-text) !important;
  font-size: 1rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .pixel-resource-summary :is(.resource-meter, .claim-batch-progress) {
  grid-column: 1 / -1;
}

.world-shell.cplace-concept .game-sidebar.is-paint .game-color-grid {
  grid-template-columns: repeat(16, minmax(0, 1fr)) !important;
  gap: 3px !important;
  padding: 0.62rem !important;
  border: 1px solid var(--concept-border);
  border-radius: 12px;
  background: var(--concept-surface-soft);
}

.world-shell.cplace-concept .game-sidebar.is-paint .pixel-color-button {
  width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: 1;
  border-radius: 5px !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .pixel-color-button.is-selected,
.world-shell.cplace-concept .game-sidebar.is-paint .pixel-color-button[aria-pressed="true"] {
  z-index: 2;
  box-shadow:
    0 0 0 2px var(--concept-surface),
    0 0 0 4px var(--concept-mode-paint) !important;
  transform: scale(1.08);
}

.world-shell.cplace-concept .game-sidebar.is-paint .game-sidebar-actions {
  margin-top: 0.1rem;
}

/* Areas: command strip, artwork gallery, then a readable expanded workspace. */
.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-areas-section {
  width: 100% !important;
  margin: 0 !important;
  padding: 0.78rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-areas-section > .game-sidebar-section-head {
  order: 0;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-areas-section > .game-sidebar-small-button {
  position: absolute;
  top: 0.66rem;
  right: 0.7rem;
  width: auto !important;
  min-height: 32px;
  padding-inline: 0.62rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-controls {
  position: sticky;
  z-index: 7;
  top: 3.5rem;
  display: grid !important;
  gap: 0.5rem !important;
  padding: 0.6rem !important;
  border: 1px solid var(--concept-border) !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--concept-surface) 94%, transparent) !important;
  box-shadow: 0 8px 20px rgba(16, 13, 36, 0.09) !important;
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

.world-shell.cplace-concept .game-sidebar.is-areas .owned-area-filter-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .owned-area-search {
  min-height: 42px !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-list {
  gap: 0.82rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-section {
  gap: 0.52rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-section-head {
  padding: 0 0.15rem;
  color: var(--concept-muted);
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-gallery-item {
  overflow: hidden;
  border: 1px solid var(--concept-border) !important;
  border-radius: 12px !important;
  background: var(--concept-surface-soft) !important;
  box-shadow: 0 5px 14px rgba(16, 13, 36, 0.08) !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-gallery-item.is-selected {
  border-color: var(--concept-accent) !important;
  box-shadow: 0 0 0 2px rgba(var(--concept-accent-rgb), 0.12) !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-detail {
  padding: 0.72rem !important;
  border: 1px solid var(--concept-border) !important;
  border-radius: 14px !important;
  background: var(--concept-surface) !important;
  color: var(--concept-text) !important;
  box-shadow: 0 10px 26px rgba(16, 13, 36, 0.12) !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-detail-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.38rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-detail-facts > span {
  padding: 0.5rem !important;
  border: 1px solid var(--concept-border);
  border-radius: 9px;
  background: var(--concept-surface-soft);
  color: var(--concept-muted) !important;
}

.world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-detail-facts strong {
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .game-sidebar-area-detail-primary-actions {
  grid-template-columns: minmax(0, 1fr) 44px !important;
  gap: 0.45rem !important;
}

.world-shell.cplace-concept .game-sidebar-area-detail-secondary-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.38rem !important;
}

.world-shell.cplace-concept .owned-area-inline-panel {
  padding: 0.68rem !important;
  border: 1px solid var(--concept-border) !important;
  border-radius: 11px !important;
  background: var(--concept-surface-soft) !important;
  color: var(--concept-text) !important;
}

/* Shop: product catalogue rather than a repeated settings list. */
.world-shell.cplace-concept .game-sidebar.is-shop .game-sidebar-shop-section {
  padding: 0.82rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-balance {
  min-height: 36px;
  display: inline-flex !important;
  align-items: center;
  gap: 0.32rem;
  padding: 0 0.58rem;
  border: 1px solid color-mix(in srgb, var(--concept-gold) 32%, var(--concept-border));
  border-radius: 999px;
  background: var(--concept-mode-shop-soft);
  color: var(--concept-mode-shop) !important;
  font-size: 0.82rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.58rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item {
  min-height: 210px;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  grid-template-areas:
    "art copy"
    "quantity quantity"
    "purchase purchase" !important;
  grid-template-rows: auto auto auto;
  align-content: start;
  gap: 0.6rem !important;
  padding: 0.72rem !important;
  border: 1px solid var(--concept-border) !important;
  border-radius: 13px !important;
  background: var(--concept-surface-soft) !important;
  color: var(--concept-text) !important;
  box-shadow: none !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-artwork {
  grid-area: art;
  width: 54px !important;
  height: 54px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--concept-mode-shop-soft) !important;
  color: var(--concept-mode-shop) !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-copy {
  grid-area: copy;
  align-self: center;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-copy strong {
  color: var(--concept-text) !important;
  font-size: 0.86rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-copy span {
  color: var(--concept-muted) !important;
  font-size: 0.7rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-quantity-row {
  grid-area: quantity;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item > button {
  grid-area: purchase;
  min-height: 42px !important;
  align-self: end;
  border-color: var(--concept-mode-shop) !important;
  border-radius: 10px !important;
  background: var(--concept-mode-shop-soft) !important;
  color: var(--concept-mode-shop) !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item > button:not(:disabled):is(:hover, :focus-visible) {
  background: var(--concept-mode-shop) !important;
  color: #ffffff !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-shop .game-shop-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-shop .game-shop-item {
  min-height: 132px;
  grid-template-columns: 48px minmax(0, 1fr) 88px !important;
  grid-template-areas:
    "art copy purchase"
    "quantity quantity purchase" !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-shop .game-shop-artwork {
  width: 48px !important;
  height: 48px !important;
  border-radius: 7px !important;
}

/* Settings: grouped controls, clear switch hierarchy, full-width account tools. */
.world-shell.cplace-concept .game-sidebar.is-settings .game-sidebar-settings-section {
  padding: 0.82rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.48rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list .game-mode-button {
  min-height: 74px !important;
  grid-template-columns: 40px minmax(0, 1fr) auto !important;
  padding: 0.58rem !important;
  border-radius: 11px !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list .game-mode-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 9px !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list .game-mode-button strong {
  font-size: 0.78rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list .game-mode-button small {
  font-size: 0.65rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-switch {
  width: 40px !important;
  height: 23px !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-switch > span {
  width: 15px !important;
  height: 15px !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-switch.is-on > span {
  transform: translateX(17px) !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-sidebar-account-head {
  grid-column: 1 / -1;
  margin-top: 0.45rem;
  padding-top: 0.7rem;
  border-top: 1px solid var(--concept-border);
}

.world-shell.cplace-concept .game-sidebar.is-settings :is(
  .game-settings-name-card,
  .game-settings-voucher-card,
  .game-settings-danger-card
) {
  grid-column: 1 / -1;
  border-color: var(--concept-border) !important;
  border-radius: 12px !important;
  background: var(--concept-surface-soft) !important;
  color: var(--concept-text) !important;
  box-shadow: none !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-settings .game-settings-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-settings .game-settings-list .game-mode-button {
  min-height: 58px !important;
}

/* Area details: clear hero, tabs, metrics and actions. */
.world-shell.cplace-concept .game-sidebar.is-area .game-sidebar-selected-area {
  gap: 0.7rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-area .area-panel-header {
  overflow: hidden;
  padding: 0.82rem !important;
  border: 1px solid color-mix(in srgb, var(--concept-secondary) 28%, var(--concept-border)) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(125deg, color-mix(in srgb, var(--concept-secondary) 10%, var(--concept-surface)), var(--concept-surface)) !important;
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .game-sidebar.is-area .area-panel-title :is(strong, span) {
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .game-sidebar.is-area .area-panel-tabs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
  gap: 0.35rem !important;
  padding: 0.35rem !important;
  border: 1px solid var(--concept-border);
  border-radius: 12px;
  background: var(--concept-surface-soft);
}

.world-shell.cplace-concept .game-sidebar.is-area .area-panel-tab {
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--concept-muted) !important;
}

.world-shell.cplace-concept .game-sidebar.is-area .area-panel-tab.is-active {
  background: var(--concept-accent) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 14px rgba(var(--concept-accent-rgb), 0.2);
}

.world-shell.cplace-concept .game-sidebar.is-area :is(
  .area-summary-card,
  .area-reaction-card,
  .area-share-card,
  .area-access-card,
  .area-edit-card,
  .area-admin-tools-card,
  .area-pixel-audit-card,
  .area-collapsible-card
) {
  border: 1px solid var(--concept-border) !important;
  border-radius: 13px !important;
  background: var(--concept-surface) !important;
  color: var(--concept-text) !important;
  box-shadow: 0 6px 16px rgba(16, 13, 36, 0.07) !important;
}

.world-shell.cplace-concept .game-sidebar.is-area .area-metric-grid,
.world-shell.cplace-concept .game-sidebar.is-area .area-stat-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.45rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-area :is(.area-metric-card, .area-stat-grid article) {
  border: 1px solid var(--concept-border) !important;
  border-radius: 10px !important;
  background: var(--concept-surface-soft) !important;
  color: var(--concept-text) !important;
}

.world-shell.cplace-concept .game-sidebar.is-area :is(.area-primary-actions, .area-bottom-actions) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.45rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-area .area-primary-actions > :first-child {
  grid-column: 1 / -1;
}

/* Collapsed rail receives the same hierarchy without losing any shortcut. */
.world-shell.cplace-concept .game-sidebar.is-collapsed {
  padding-inline: 0.42rem !important;
  background: var(--concept-sidebar-bg) !important;
}

.world-shell.cplace-concept .game-sidebar-rail {
  gap: 0.48rem !important;
}

.world-shell.cplace-concept .game-rail-button {
  width: 42px !important;
  height: 42px !important;
  border: 1px solid var(--concept-sidebar-line) !important;
  border-radius: 11px !important;
  background: var(--concept-control-bg) !important;
  color: var(--concept-sidebar-text) !important;
}

.world-shell.cplace-concept--arcade .game-rail-button {
  border-radius: 7px !important;
}

@media (max-width: 980px) {
  .world-shell.cplace-concept--aurora.has-shell-sidebar:not(.has-sidebar-collapsed),
  .world-shell.cplace-concept--citrus.has-shell-sidebar:not(.has-sidebar-collapsed),
  .world-shell.cplace-concept--arcade.has-shell-sidebar:not(.has-sidebar-collapsed) {
    --game-sidebar-width: min(92vw, 430px);
  }

  .world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-button:nth-child(3) {
    grid-column: 1 / -1 !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-shop .game-shop-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 760px) {
  .world-shell.cplace-concept--aurora.has-shell-sidebar:not(.has-sidebar-collapsed),
  .world-shell.cplace-concept--citrus.has-shell-sidebar:not(.has-sidebar-collapsed),
  .world-shell.cplace-concept--arcade.has-shell-sidebar:not(.has-sidebar-collapsed) {
    --game-sidebar-width: 100vw;
  }

  .world-shell.cplace-concept .game-sidebar {
    border-radius: 18px 18px 0 0 !important;
  }

  .world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-subhead {
    position: relative;
    top: auto;
  }

  .world-shell.cplace-concept--aurora .game-sidebar-modes-section .game-mode-button {
    min-height: 92px !important;
  }

  .world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-button,
  .world-shell.cplace-concept--citrus .game-sidebar-modes-section .game-mode-button:nth-child(3) {
    min-height: 82px !important;
    grid-column: auto !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-claim .game-tool-grid,
  .world-shell.cplace-concept .game-sidebar.is-paint .game-sidebar-paint-tools-section .game-tool-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-paint .game-color-grid {
    grid-template-columns: repeat(16, minmax(0, 1fr)) !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-controls {
    position: relative;
    top: auto;
  }

  .world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-claim-tools-section {
    grid-template-columns: minmax(0, 1fr);
  }

  .world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-claim-tools-section > * {
    grid-column: 1 !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Final colorful QA corrections. Keep this last so the experimental route wins the cascade. */
.world-shell.cplace-concept--aurora.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(340px, 24vw, 380px);
}

.world-shell.cplace-concept--citrus.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(372px, 27vw, 420px);
}

.world-shell.cplace-concept--arcade.has-shell-sidebar:not(.has-sidebar-collapsed) {
  --game-sidebar-width: clamp(314px, 21vw, 342px);
}

.world-shell.cplace-concept .game-sidebar {
  padding: max(0.72rem, env(safe-area-inset-top, 0px)) 0.72rem max(0.72rem, env(safe-area-inset-bottom, 0px));
}

.world-shell.cplace-concept .game-sidebar-scroll-area {
  min-height: 0;
  gap: 0.62rem;
  overflow-x: hidden;
  overflow-y: auto;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-section,
.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-footer {
  flex: 0 0 auto;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-brand {
  min-height: 48px;
  padding-bottom: 0.62rem;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-profile-section {
  padding: 0.68rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-profile-card {
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  gap: 0.58rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-profile-avatar {
  width: 46px !important;
  height: 46px !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-area-entry-card {
  min-height: 76px !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
  grid-template-areas:
    "icon copy count"
    "icon progress progress" !important;
  gap: 0.35rem 0.55rem !important;
  padding: 0.58rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-area-entry-icon {
  width: 46px !important;
  height: 46px !important;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-area-entry-meta {
  display: none;
}

.world-shell.cplace-concept .game-sidebar.is-main .game-mode-list {
  gap: 0.5rem !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-button {
  min-height: 98px !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  align-content: center;
  padding: 0.68rem !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-button:nth-child(3) {
  min-height: 62px !important;
  grid-column: 1 / -1 !important;
  grid-template-columns: 46px minmax(0, 1fr) auto !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-icon {
  width: 46px !important;
  height: 46px !important;
}

.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-profile-stats,
.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-level-strip,
.world-shell.cplace-concept--aurora .game-sidebar.is-main .game-level-bar,
.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-profile-stats,
.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-level-strip,
.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-level-bar {
  display: none !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button,
.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button:nth-child(3) {
  min-height: 104px !important;
  grid-column: auto !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 44px auto !important;
  justify-items: center;
  align-content: center;
  gap: 0.38rem !important;
  padding: 0.55rem 0.38rem !important;
  text-align: center !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button:nth-child(1) {
  background: var(--concept-mode-claim-soft) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button:nth-child(2) {
  background: var(--concept-mode-paint-soft) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button:nth-child(3) {
  background: var(--concept-mode-shop-soft) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-icon {
  width: 44px !important;
  height: 44px !important;
}

.world-shell.cplace-concept--arcade .game-sidebar,
.world-shell.cplace-concept--arcade .game-sidebar :is(button, input, textarea, select) {
  border-radius: 4px !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-list {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0.36rem !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-button {
  min-height: 56px !important;
  grid-template-columns: 40px minmax(0, 1fr) auto !important;
  padding: 0.42rem 1.9rem 0.42rem 0.48rem !important;
}

.world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-icon {
  width: 40px !important;
  height: 40px !important;
}

.world-shell.cplace-concept .game-sidebar:not(.is-main) .game-sidebar-section {
  gap: 0.62rem !important;
  padding: 0.7rem !important;
  border-radius: 12px !important;
}

.world-shell.cplace-concept .game-sidebar.is-claim .game-claim-slot-row,
.world-shell.cplace-concept .game-sidebar.is-claim .pixel-resource-summary {
  min-height: 68px;
  padding: 0.55rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .game-color-grid {
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

.world-shell.cplace-concept .game-sidebar.is-paint .pixel-color-button {
  min-height: 30px;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-list,
.world-shell.cplace-concept--arcade .game-sidebar.is-shop .game-shop-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item,
.world-shell.cplace-concept--arcade .game-sidebar.is-shop .game-shop-item {
  min-height: 126px;
  grid-template-columns: 50px minmax(0, 1fr) 84px !important;
  grid-template-areas:
    "art copy purchase"
    "quantity quantity purchase" !important;
  grid-template-rows: auto auto !important;
  align-items: center;
  padding: 0.62rem !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-artwork {
  width: 50px !important;
  height: 50px !important;
}

.world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item > button {
  width: 84px;
  min-height: 76px !important;
}

.world-shell.cplace-concept .game-sidebar.is-settings .game-settings-list {
  grid-template-columns: minmax(0, 1fr) !important;
}

.world-shell.cplace-concept--citrus .game-sidebar.is-settings .game-settings-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (min-width: 1025px) {
  .world-shell.cplace-concept .game-sidebar:not(.is-floating) {
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }
}

@media (max-width: 1024px) {
  .world-shell.cplace-concept--aurora.has-shell-sidebar:not(.has-sidebar-collapsed),
  .world-shell.cplace-concept--citrus.has-shell-sidebar:not(.has-sidebar-collapsed),
  .world-shell.cplace-concept--arcade.has-shell-sidebar:not(.has-sidebar-collapsed) {
    --game-sidebar-width: 100vw;
  }

  .world-shell.cplace-concept .game-sidebar {
    padding: 0.5rem 0.65rem max(0.62rem, env(safe-area-inset-bottom, 0px));
    border-radius: 18px 18px 0 0 !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-brand {
    min-height: 42px;
    padding-bottom: 0.42rem;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-modes-section {
    order: 1;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-areas-entry-section {
    order: 2;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-sidebar-profile-section {
    order: 3;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-list,
  .world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-list,
  .world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-list,
  .world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-button,
  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-button:nth-child(3),
  .world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-button,
  .world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-button,
  .world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-button {
    min-height: 78px !important;
    grid-column: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 36px auto !important;
    justify-items: center;
    align-content: center;
    gap: 0.28rem !important;
    padding: 0.45rem 0.3rem !important;
    text-align: center !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-icon,
  .world-shell.cplace-concept--aurora .game-sidebar.is-main .game-mode-icon,
  .world-shell.cplace-concept--citrus .game-sidebar.is-main .game-mode-icon,
  .world-shell.cplace-concept--arcade .game-sidebar.is-main .game-mode-icon {
    width: 36px !important;
    height: 36px !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-button::after,
  .world-shell.cplace-concept .game-sidebar.is-main .game-mode-button small {
    display: none !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-main .game-profile-stats,
  .world-shell.cplace-concept .game-sidebar.is-main .game-level-strip,
  .world-shell.cplace-concept .game-sidebar.is-main .game-level-bar {
    display: none !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-areas .game-sidebar-area-controls {
    position: relative;
    top: auto;
  }
}

@media (max-width: 520px) {
  .world-shell.cplace-concept .game-sidebar.is-claim .game-sidebar-claim-tools-section {
    grid-template-columns: minmax(0, 1fr);
  }

  .world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item,
  .world-shell.cplace-concept--arcade .game-sidebar.is-shop .game-shop-item {
    min-height: 116px;
    grid-template-columns: 44px minmax(0, 1fr) 72px !important;
  }

  .world-shell.cplace-concept .game-sidebar.is-shop .game-shop-item > button {
    width: 72px;
  }
}

