/* Mobile game world. Scoped to the authenticated world template. */
body.tida-world-page {
  --world-gold: #d5b679;
  --world-ivory: #f4e9d5;
  --world-muted: #a7b3b7;
  --world-panel: #111b23;
  --world-border: #726345;
  max-width: 540px;
  margin: 0 auto;
  padding: 0;
  background: #10171c;
  color: var(--world-ivory);
  font-family: "Segoe UI", Arial, sans-serif;
  line-height: 1.4;
  overflow-x: hidden;
}
.tida-world-page *, .tida-world-page *::before, .tida-world-page *::after { box-sizing: border-box; }
.tida-world-page .bdr.bg_main, .tida-world-page .bdr.bg_main.tida-has-dock { background: #10171c; padding: 0; min-height: 0; border: 0; }
.tida-world-page .bdr.bg_main > .light, .tida-world-page [class^="wr"] { background: none; padding: 0; border: 0; margin: 0; }
.tida-world-page .tfooter, .tida-world-page .tida-player-hud { display: none; }
.tida-world-page .world-notices:empty { display: none; }
.world-notices { font-size: 13px; }
.world-notices > div { margin: 0; }
.world-shell a, .world-sheet a { color: inherit; text-decoration: none; }
.world-shell button, .world-sheet button { font: inherit; cursor: pointer; }
.world-shell a:focus-visible, .world-shell button:focus-visible, .world-sheet a:focus-visible, .world-sheet button:focus-visible { outline: 2px solid #f9d587; outline-offset: 3px; }
.world-shell [hidden], .world-sheet [hidden] { display: none !important; }
.world-shell .tida-icon, .world-sheet .tida-icon { width: 24px; height: 24px; flex-shrink: 0; }
.world-shell {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(280px, 1fr) auto auto;
  min-height: 660px;
  height: 100vh;
  height: 100svh;
  max-height: 1120px;
  isolation: isolate;
  background: #10171c;
  overflow: hidden;
}
.world-hud { position: relative; z-index: 3; display: grid; grid-template-columns: 59px minmax(0, 1fr) minmax(92px, .72fr) 36px; align-items: center; gap: 9px; padding: 12px 12px 11px; padding-top: calc(12px + env(safe-area-inset-top, 0px)); background: linear-gradient(160deg, #1b2730, #0d141b); border-bottom: 1px solid #766344; box-shadow: 0 4px 18px #0009; }
.world-avatar { position: relative; width: 58px; height: 65px; display: block; }
.world-avatar img { display: block; width: 58px; height: 58px; object-fit: cover; border-radius: 50%; border: 2px solid #bd9a5b; box-shadow: 0 0 0 3px #343532, 0 2px 10px #000; }
.world-avatar > span { position: absolute; right: -2px; bottom: 0; display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 3px; border: 1px solid #af8b4b; border-radius: 50%; background: #121b22; color: #f3deb5; font: 15px Georgia, serif; }
.world-vitals { min-width: 0; display: grid; gap: 5px; }
.world-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 19px Georgia, serif; line-height: 1.2; }
.world-meter { position: relative; height: 15px; overflow: hidden; background: #091016; border: 1px solid #4a4d47; border-radius: 4px; box-shadow: 0 1px 0 #ffffff15; }
.world-meter i { position: absolute; inset: 1px auto 1px 1px; max-width: calc(100% - 2px); border-radius: 2px; background: linear-gradient(#7ca95b, #3e763d); box-shadow: inset 0 1px #c2d79666; }
.world-meter--courage i { background: linear-gradient(#659cc7, #31628d); box-shadow: inset 0 1px #b5e5ff66; }
.world-meter span { position: relative; display: block; text-align: center; font: 10px/13px "Segoe UI", sans-serif; font-variant-numeric: tabular-nums; color: #fff; text-shadow: 0 1px 2px #000; }
.world-wallet { display: grid; gap: 6px; }
.world-wallet a { display: flex; align-items: center; gap: 5px; min-height: 29px; padding: 3px 5px; background: linear-gradient(#0b1118, #19222b); border: 1px solid #63563e; border-radius: 7px; }
.world-wallet b { min-width: 0; font-size: 12px; white-space: nowrap; font-weight: 500; font-variant-numeric: tabular-nums; }
.world-plus { display: grid; place-items: center; margin-left: auto; width: 19px; height: 19px; flex-shrink: 0; border: 1px solid #7b6843; border-radius: 3px; color: #e9be6e; font-size: 19px; line-height: 1; }
.world-coin { display: grid; place-items: center; width: 18px; height: 18px; flex-shrink: 0; color: #fff0b5; border: 1px solid #edd48b; border-radius: 50%; background: radial-gradient(at 35% 25%, #fce49d, #a37123 65%, #5e401d); font-size: 13px; box-shadow: 0 0 5px #f5bb3122; }
.world-pearl { display: block; margin: 1px; width: 16px; height: 16px; flex-shrink: 0; border: 1px solid #c9e0ff; border-radius: 50%; background: radial-gradient(at 30% 25%, #fff, #93afda 45%, #3c5489 75%); box-shadow: 0 0 7px #8ecbff44; }
.world-square { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #79684b; border-radius: 9px; background: linear-gradient(140deg, #28323be8, #0d141cea); color: var(--world-gold) !important; box-shadow: inset 0 1px #d7c49b18, 0 2px 8px #0006; padding: 0; }
.world-settings { width: 36px; height: 44px; border: 0; background: none; box-shadow: none; }
.world-playfield { position: relative; overflow: hidden; background: #182826; min-height: 280px; }
.world-playfield::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(#06101770, transparent 30%, transparent 65%, #10171c); }
.world-terrain { position: absolute; inset: 0; transform-origin: 50% 52%; transition: transform .6s ease; }
.world-terrain.is-zoomed { transform: scale(1.28); }
.world-map-art { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 51%; }
.world-location { position: absolute; z-index: 2; top: 16px; left: 15px; max-width: calc(100% - 112px); text-shadow: 0 2px 5px #000; }
.world-eyebrow { display: block; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; color: #b7bdaf; line-height: 1.5; }
.world-location h1 { margin: 3px 0 5px; color: #f7e9d0; font: 21px/1.2 Georgia, serif; font-weight: normal; overflow-wrap: anywhere; }
.world-location a { display: flex; align-items: center; gap: 6px; font-size: 10px; color: #c4cdc9; }
.world-location a i { width: 6px; height: 6px; border-radius: 50%; background: #8ccd65; box-shadow: 0 0 9px #8ccd6577; }
.world-minimap { position: absolute; z-index: 2; top: 14px; right: 13px; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; border: 2px solid #b79b66; background: linear-gradient(#08121955, #08121955), url('/img/ui/world-map.webp') center/cover; box-shadow: inset 0 0 0 4px #101820a0, 0 3px 15px #0009; }
.world-minimap .tida-icon { color: #fff1c4; width: 36px; height: 36px; transform: rotate(-18deg); filter: drop-shadow(0 1px 3px #000); }
.world-minimap > span { position: absolute; top: 0; font: 10px Georgia, serif; color: #ffefd0; }
.world-minimap i { position: absolute; right: 14px; bottom: 15px; width: 4px; height: 4px; border-radius: 50%; background: #52e6e5; box-shadow: 0 0 6px #65ffff; }
.world-shortcuts { position: absolute; top: 106px; left: 12px; z-index: 2; display: grid; gap: 10px; }
.world-shortcut { width: 48px; height: 54px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; border: 1px solid #9b8454; border-radius: 8px; background: linear-gradient(135deg, #28312ade, #0b121adc); box-shadow: 0 3px 10px #0006, inset 0 1px #dec89733; }
.world-shortcut .tida-icon { color: #ebd2a2; width: 25px; height: 25px; }
.world-shortcut span { font-size: 9px; color: #e0d5c2; }
.world-shortcut--pay {
  border-color: #c39b52;
  background: linear-gradient(135deg, #4a3a22de, #1a140cdc);
}
.world-shortcut--pay .tida-icon { color: #f0d090; }
.world-shortcut--pay span { color: #f3e0b4; }
.world-pin { position: absolute; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; transform: translate(-50%, -50%); filter: drop-shadow(0 3px 4px #0008); transition: filter .2s; }
.world-pin:hover { filter: drop-shadow(0 0 7px #dfc37e80); }
.world-pin--camp { left: 29%; top: 37%; }
.world-pin--portal { left: 80%; top: 48%; }
.world-pin--wilds { left: 37%; top: 76%; }
.world-pin-icon { position: relative; display: grid; place-items: center; width: 43px; height: 43px; border: 1.5px solid #d4b578; border-radius: 50%; background: radial-gradient(at 40% 20%, #374039, #101923 80%); color: #f4d8a0; box-shadow: inset 0 0 0 3px #111b1c; }
.world-pin-icon::after { content: ""; position: absolute; top: calc(100% + 2px); left: calc(50% - 4px); width: 8px; height: 8px; transform: rotate(45deg); background: #d4b578; }
.world-pin--portal .world-pin-icon { border-color: #74d6d1; color: #8fe9e1; }
.world-pin--portal .world-pin-icon::after { background: #74d6d1; }
.world-pin b { font: 12px Georgia, serif; font-weight: normal; color: #f8ebd4; background: #0c121bd9; border: 1px solid #88775480; border-radius: 5px; padding: 3px 9px; white-space: nowrap; }
.world-player-label { position: absolute; left: 50%; top: 57%; transform: translate(-50%, -50%); padding: 2px 7px; color: #b6eeeb; text-shadow: 0 2px 4px #000; background: #101c2370; border-radius: 3px; font-size: 9px; }
.world-map-controls { position: absolute; right: 12px; bottom: 23px; z-index: 2; display: grid; gap: 7px; }
.world-map-controls button[aria-pressed="true"] { color: #fff1c0 !important; border-color: #e0c48a; background: #3d4233; }
.world-map-hint { position: absolute; z-index: 2; left: 14px; bottom: 13px; display: flex; gap: 6px; align-items: center; margin: 0; font-size: 9px; color: #b6c3be; text-shadow: 0 2px 3px #000; }
.world-map-hint .tida-icon { width: 13px; height: 13px; }
.world-portal-glow { position: absolute; top: 36%; right: 0; width: 18%; height: 22%; border-radius: 50%; background: radial-gradient(ellipse, #40edd22b, transparent 70%); mix-blend-mode: screen; animation: world-breathe 5s ease-in-out infinite; pointer-events: none; }
.world-firefly { position: absolute; width: 3px; height: 3px; background: #e7e6b3; border-radius: 50%; box-shadow: 0 0 8px 2px #e3bd7577; animation: world-drift 7s ease-in-out infinite alternate; pointer-events: none; }
.world-firefly--one { top: 51%; left: 36%; }.world-firefly--two { top: 72%; left: 62%; animation-delay: -3s; }.world-firefly--three { top: 24%; left: 64%; animation-delay: -5s; }
.world-bottom { z-index: 3; position: relative; padding: 0 11px 9px; background: linear-gradient(#10171cf0, #10171c 35%); }
.world-quest { position: relative; display: flex; align-items: center; gap: 9px; min-height: 66px; padding: 10px 11px; border: 1px solid #887349; border-radius: 8px; background: linear-gradient(120deg, #202b2b, #111920 70%); box-shadow: inset 0 0 0 3px #10182088, 0 2px 8px #0003; }
.world-quest-icon { flex-shrink: 0; color: #dfc292; }.world-quest-icon .tida-icon { width: 31px; height: 36px; }
.world-quest-copy { flex: 1; min-width: 0; display: block; }.world-quest-copy strong { display: block; font: 13px Georgia, serif; color: #eee0bf; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }.world-quest-copy small { display: block; margin-top: 3px; color: #a8b2ad; font-size: 10px; }
.world-quest-progress { display: block; height: 4px; background: #080e14; border-radius: 3px; overflow: hidden; margin-top: 7px; }.world-quest-progress i { display: block; height: 100%; background: linear-gradient(90deg, #a78242, #e5c17b); border-radius: inherit; }
.world-quest-count { white-space: nowrap; color: #d6c6a9; font-size: 10px; }.world-quest > .tida-icon { width: 17px; color: #bfa26b; }
.world-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; padding: 11px 0 9px; }
.world-slots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.world-slot { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; height: 55px; border: 1px solid #736448; border-radius: 7px; background: radial-gradient(at 50% 25%, #69403f70, #15202a 80%); box-shadow: inset 0 0 0 2px #0a101988; color: #da9990 !important; }.world-slot .tida-icon { width: 27px; height: 27px; }.world-slot span { color: #c1c7c3; font-size: 8px; }.world-slot--blue { color: #a4c6d3 !important; background: radial-gradient(at 50% 25%, #34596c80, #15202a 80%); }.world-slot--green { color: #bbd192 !important; background: radial-gradient(at 50% 25%, #4c614380, #15202a 80%); }
.world-battle { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 55px; padding: 10px 14px; border: 1px solid #f1cb80; border-radius: 9px; background: linear-gradient(#a87634, #795023 50%, #624020); color: #fff0ce !important; box-shadow: inset 0 0 0 3px #664520, inset 0 0 0 4px #c79649, 0 0 13px #e9a43b24; font: 21px Georgia, serif; text-shadow: 0 2px 2px #55351a; transition: filter .15s, transform .15s; }
.world-battle:hover { filter: brightness(1.17); }.world-battle:active { transform: translateY(1px); }.world-battle .tida-icon { width: 26px; height: 26px; }
.world-chat-row { display: flex; border: 1px solid #3f4847; background: #141c23; border-radius: 8px; overflow: hidden; }
.world-chat {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  flex: 1;
  min-width: 0;
  gap: 2px 8px;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px;
  text-decoration: none;
}
.world-chat-meta {
  grid-column: 1;
  grid-row: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 10px;
  color: #a8c686;
  letter-spacing: .02em;
}
.world-chat-preview {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  font-size: 12px;
  line-height: 1.25;
  color: #d5c9ae;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.world-chat--live .world-chat-preview { color: #efe3c4; }
.world-chat > .tida-icon {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 20px;
  height: 20px;
  margin: 0;
  color: #bead8b;
}
.world-mail { position: relative; width: 42px; display: grid; place-items: center; border-left: 1px solid #3c4545; color: #c0b395 !important; }
.world-mail .tida-icon { width: 19px; height: 19px; }
.world-chat-feed { display: grid; gap: 8px; margin: 0 0 18px; }
.world-chat-bubble {
  padding: 10px 12px;
  background: linear-gradient(160deg, #1c2430, #121820);
  border: 1px solid #554833;
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px #2c2419;
}
.world-chat-bubble strong { display: block; margin-bottom: 3px; color: #efd6a0; font-size: 12px; font-weight: 500; }
.world-chat-bubble span { color: #c8d0d2; font-size: 13px; line-height: 1.45; }
.world-chat-empty { margin: 0 0 8px; color: #a3b4b6; font-size: 13px; }
.world-chat-channels { margin-bottom: 16px; }
.world-chat-compose { display: grid; gap: 8px; margin-top: 4px; }
.world-chat-compose-label { color: #c8ac73; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.world-chat-compose-input {
  width: 100%;
  box-sizing: border-box;
  min-height: 64px;
  padding: 10px 12px;
  resize: vertical;
  color: #f4ead0;
  background: #0d141b;
  border: 1px solid #766344;
  border-radius: 10px;
  font: 14px/1.4 Georgia, "Times New Roman", serif;
}
.world-chat-compose .world-sheet-cta { margin-top: 2px; }
.world-dock { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); min-height: 71px; padding-bottom: env(safe-area-inset-bottom, 0px); border-top: 1px solid #726143; background: linear-gradient(#202a32, #0b1118); z-index: 3; }
.world-dock a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 70px; border-right: 1px solid #434a4655; color: #b6b6a9; font: 12px Georgia, serif; }.world-dock a:last-child { border-right: 0; }.world-dock .tida-icon { width: 28px; height: 28px; }.world-dock a.is-active { background: radial-gradient(ellipse at 50% 10%, #9d7d3c42, transparent 80%); color: #f5d398; }.world-dock a.is-active::before { content: ""; position: absolute; top: 0; width: 35px; height: 2px; background: #edcc8a; box-shadow: 0 0 10px #e7b95f; }.world-dock a.is-active .tida-icon { filter: drop-shadow(0 0 5px #e8b04877); }
.world-events {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 12px 10px;
  z-index: 4;
}
body.tida-app-page .world-events {
  padding: 8px 12px 0;
  background: linear-gradient(#121820, #0d1218);
  border-bottom: 1px solid #3a3428;
}
.world-event {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  padding: 6px 11px;
  border: 1px solid #8a6a3d;
  border-radius: 999px;
  background: linear-gradient(160deg, #2a2218, #17130f);
  color: #f3e0b4 !important;
  box-shadow: inset 0 0 0 1px #3a2c1a, 0 4px 14px #0005;
  text-decoration: none;
  font: 12px/1.2 Georgia, "Times New Roman", serif;
}
.world-event .tida-icon { width: 15px; height: 15px; color: #e2c17a; flex: 0 0 auto; }
.world-event--danger {
  border-color: #a85a4a;
  background: linear-gradient(160deg, #3a1c18, #1a1010);
  color: #f5c4b8 !important;
  animation: world-event-pulse 1.6s ease-in-out infinite;
}
.world-event--danger .tida-icon { color: #e88978; }
.world-event--arena { border-color: #7a8a4a; }
.world-event--outpost { border-color: #4a7a8a; }
.world-event--wait { border-color: #a87834; color: #ffe0a8 !important; }
.world-event--warn { border-color: #8a6a3d; color: #efd6a0 !important; }
.world-battle { position: relative; }
.world-battle .world-dot { top: 8px; right: 10px; }
.world-battle.has-alert { box-shadow: inset 0 0 0 3px #664520, inset 0 0 0 4px #c79649, 0 0 18px #e9a43b55; }
@keyframes world-event-pulse {
  0%, 100% { box-shadow: inset 0 0 0 1px #3a1c18, 0 0 0 0 #dc756500; }
  50% { box-shadow: inset 0 0 0 1px #5a2c22, 0 0 14px #dc756566; }
}
@media (prefers-reduced-motion: reduce) {
  .world-event--danger { animation: none; }
}

.world-sheet { position: fixed; inset: auto 0 0; width: min(100%, 540px); max-width: 540px; max-height: 85vh; max-height: 85svh; margin: auto auto 0; padding: 0 0 env(safe-area-inset-bottom, 0px); color: var(--world-ivory); background: #141f27; border: 1px solid #a78a55; border-bottom: 0; border-radius: 18px 18px 0 0; box-shadow: 0 -10px 60px #0009; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.world-sheet:not([open]) { display: none; }.world-sheet[open] { animation: world-sheet-in .22s ease-out; }.world-sheet::backdrop { background: #040a10b0; backdrop-filter: blur(4px); }
.world-sheet-body { position: relative; padding: 26px 22px 24px; }.world-sheet-body > .world-eyebrow { padding-right: 40px; color: #c8ac73; }.world-sheet h2 { margin: 8px 40px 12px 0; font: 26px/1.15 Georgia, serif; color: #eee0c3; overflow-wrap: anywhere; }.world-sheet p { margin: 0 0 21px; font-size: 14px; line-height: 1.65; color: #b1bec1; }.world-sheet-close { position: absolute; right: 14px; top: 14px; z-index: 1; width: 36px; height: 36px; }.world-sheet-close .tida-icon { width: 20px; height: 20px; }.world-sheet-cta { margin-top: 16px; width: 100%; font-size: 18px; }
.world-sheet-art { position: relative; height: 160px; background-image: linear-gradient(transparent 45%, #141f27), url('/img/ui/world-map.webp'); background-size: cover, 100% auto; }.world-sheet-art--camp { background-position: center, 25% 25%; }.world-sheet-art--portal { background-position: center, 75% 42%; }.world-sheet-art--wilds { background-position: center, 50% 70%; }.world-sheet-emblem { position: absolute; left: 22px; bottom: 0; display: grid; place-items: center; width: 48px; height: 48px; color: #e1c58f; background: #15212ae8; border: 1px solid #a98b53; border-radius: 12px; }
.world-destinations { display: grid; gap: 9px; }.world-destinations a { display: flex; align-items: center; gap: 13px; padding: 14px; min-height: 58px; background: #202d35; border: 1px solid #535846; border-radius: 9px; font-size: 14px; }.world-destinations a > .tida-icon { color: #c5a86f; }.world-destinations a > .tida-icon:last-child { width: 18px; margin-left: auto; }.world-destinations strong, .world-destinations small { display: block; }.world-destinations strong { color: #eadcbe; font-size: 15px; font-weight: 500; }.world-destinations small { color: #a3b4b6; font-size: 11px; margin-top: 2px; }
.world-text-link { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; margin-top: 14px; color: #d8bc86 !important; font-size: 13px; }.world-text-link .tida-icon { width: 18px; }
.world-menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 10px 0 18px; }.world-menu-grid a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; min-height: 83px; padding: 9px 5px; text-align: center; border: 1px solid #766344; border-radius: 8px; background: linear-gradient(160deg, #1c2430, #121820); color: #efd6a0; font-size: 11px; text-decoration: none; }.world-menu-grid a:hover { border-color: #c39b52; color: #fff1bd; }.world-menu-grid .tida-icon { color: #d0b481; }
.world-places-heading { margin: 4px 0 0; color: #dbc47f; font: 12px Georgia, serif; letter-spacing: .08em; text-transform: uppercase; }
.world-legacy-menu { margin-top: 20px; border-top: 1px solid #5c5845; }.world-legacy-menu .nav { margin: 0; }.world-legacy-menu a { display: inline-block; min-height: 30px; padding: 5px 0; }.world-legacy-menu h2 { font-size: 18px; }.world-legacy-quest { font-size: 13px; }.world-legacy-quest a { color: #edca85; }
.world-motion-setting { display: flex; align-items: center; gap: 12px; position: relative; min-height: 75px; margin-bottom: 14px; cursor: pointer; }.world-motion-setting > span:first-child { flex: 1; }.world-motion-setting strong, .world-motion-setting small { display: block; }.world-motion-setting strong { font-size: 14px; font-weight: 500; }.world-motion-setting small { color: #a8b7b9; font-size: 11px; margin-top: 3px; }.world-motion-setting input { position: absolute; right: 0; width: 42px; height: 24px; opacity: 0; margin: 0; cursor: pointer; }.world-switch { width: 42px; height: 24px; padding: 3px; border-radius: 20px; background: #42505b; pointer-events: none; }.world-switch::before { content: ""; display: block; width: 18px; height: 18px; border-radius: 50%; background: #e3e5dc; transition: transform .15s; }.world-motion-setting input:checked + .world-switch { background: #798856; }.world-motion-setting input:checked + .world-switch::before { transform: translateX(18px); }.world-motion-setting input:focus-visible + .world-switch { outline: 2px solid #f9d587; outline-offset: 4px; }
.world-shell[data-motion="off"] .world-firefly, .world-shell[data-motion="off"] .world-portal-glow { animation: none; display: none; }
body.world-modal-open { overflow: hidden; }
@keyframes world-breathe { 50% { opacity: .35; transform: scale(.9); } }
@keyframes world-drift { from { opacity: .15; transform: translate(0, 0); } to { opacity: .8; transform: translate(12px, -22px); } }
@keyframes world-sheet-in { from { opacity: .4; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .world-shell *, .world-sheet[open] { animation: none !important; transition: none !important; } }
@media (max-width: 370px) {
  .world-hud { grid-template-columns: 49px minmax(0, 1fr) 88px 28px; gap: 6px; padding-left: 9px; padding-right: 9px; }.world-avatar, .world-avatar img { width: 47px; }.world-avatar img { height: 47px; }.world-avatar { height: 55px; }.world-name { font-size: 16px; }.world-settings { width: 28px; }.world-wallet b { font-size: 11px; }.world-wallet a { padding-left: 4px; gap: 4px; }.world-location h1 { font-size: 19px; }.world-battle { font-size: 19px; padding-left: 8px; padding-right: 8px; }.world-chat small { font-size: 9px; }.world-quest { gap: 7px; padding-left: 8px; padding-right: 8px; }.world-quest-copy strong { font-size: 12px; }.world-dock a { font-size: 11px; }.world-quest-count { font-size: 9px; }
}
@media (min-width: 500px) { .world-hud { padding: 16px; gap: 12px; }.world-name { font-size: 23px; }.world-wallet b { font-size: 14px; }.world-playfield { min-height: 370px; }.world-location h1 { font-size: 25px; }.world-pin-icon { width: 48px; height: 48px; }.world-pin b { font-size: 14px; }.world-bottom { padding: 0 15px 12px; }.world-quest-copy strong { font-size: 15px; }.world-quest { min-height: 74px; }.world-battle, .world-slot { min-height: 62px; }.world-dock { min-height: 79px; } }
@media (max-height: 700px) and (max-width: 499px) { .world-shell { min-height: 590px; }.world-hud { padding-top: calc(8px + env(safe-area-inset-top, 0px)); padding-bottom: 8px; }.world-shortcuts { top: 93px; gap: 7px; }.world-shortcut { height: 46px; }.world-playfield { min-height: 240px; }.world-bottom { padding-bottom: 6px; }.world-quest { min-height: 60px; }.world-dock, .world-dock a { min-height: 61px; }.world-actions { padding: 8px 0; }.world-map-hint { display: none; } }
