:root {
  --night: #090d14;
  --night-2: #111824;
  --panel: #171a20;
  --parchment: #e7d7b1;
  --parchment-dark: #c8ad79;
  --gold-bright: #f4c75f;
  --gold: #c78e2f;
  --gold-dark: #79501d;
  --emerald: #2f725d;
  --ruby: #9f3c45;
  --ink-pixel: #17130e;
  --pixel: "Pixelify Sans", ui-monospace, monospace;
  --story: "IM Fell English", Georgia, serif;
}

.guild-home { margin: 0; background: var(--night); color: #f5ead0; font-family: var(--story); overflow-x: hidden; }
.guild-home * { box-sizing: border-box; }
.guild-home button, .guild-home a { font-family: var(--pixel); }
.skip-link { position: fixed; left: 12px; top: -70px; z-index: 100; padding: 12px 16px; background: var(--gold-bright); color: #111; }
.skip-link:focus { top: 12px; }

.guild-header { position: absolute; z-index: 20; inset: 0 0 auto; height: 92px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; padding: 0 4vw; border-bottom: 1px solid rgba(231,215,177,.18); background: linear-gradient(#090d14e8, #090d1499 76%, transparent); }
.guild-brand { display: inline-flex; align-items: center; gap: 13px; width: max-content; color: #fff4d2; }
.guild-brand > span:last-child { display: grid; line-height: 1; }
.guild-brand strong { font: 700 1.6rem/1 var(--pixel); letter-spacing: .08em; }
.guild-brand small { margin-top: 5px; color: var(--gold-bright); font: 600 .65rem/1 var(--pixel); letter-spacing: .17em; }
.guild-crest { display: grid; place-items: center; width: 58px; height: 52px; filter: drop-shadow(0 4px 0 #000) drop-shadow(0 0 9px #e9bd4e42); }
.guild-crest img { width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.guild-nav { display: flex; align-items: stretch; height: 100%; gap: 34px; }
.guild-nav a { position: relative; display: flex; align-items: center; justify-content: center; gap: 6px; color: #c9c0ae; font: 600 .92rem/1 var(--pixel); letter-spacing: .04em; }
.guild-nav a > span { display: none; }
.guild-nav a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 0; height: 3px; background: var(--gold-bright); transition: .2s; }
.guild-nav a:hover, .guild-nav a.active { color: #fff4d2; }
.guild-nav a:hover::after, .guild-nav a.active::after { left: 0; right: 0; }
.player-status { justify-self: end; display: flex; align-items: center; gap: 10px; padding: 7px 14px 7px 7px; background: #080b11bd; border: 1px solid #705830; }
.player-status > span:last-child { display: grid; }
.player-status small { color: #a9a291; font: 500 .62rem/1 var(--pixel); }
.player-status strong { color: var(--gold-bright); font: 600 .85rem/1.4 var(--pixel); }
.level-orb { display: grid; place-items: center; width: 34px; aspect-ratio: 1; border: 2px solid #d1a44c; border-radius: 50%; background: radial-gradient(circle, #5b804b, #1e332b 65%, #090d14); font: 700 .85rem/1 var(--pixel); box-shadow: 0 0 16px #6eba7e55; }

.game-stage { position: relative; min-height: 100svh; display: flex; align-items: center; padding: 120px 6vw 100px; isolation: isolate; background: #0b0e13; }
.stage-art, .stage-vignette { position: absolute; inset: 0; width: 100%; height: 100%; }
.stage-art { z-index: -3; object-fit: cover; image-rendering: pixelated; }
.stage-vignette { z-index: -2; background: linear-gradient(90deg, #06090fef 0%, #080b11a8 30%, transparent 64%), linear-gradient(0deg, #070a10d9 0%, transparent 35%, #070a1075 100%), radial-gradient(circle at 70% 50%, transparent 15%, #06080c88 100%); }
.game-stage::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .1; pointer-events: none; background-image: repeating-linear-gradient(0deg, #fff 0 1px, transparent 1px 4px); mix-blend-mode: overlay; }
.pixel-frame { border: 2px solid #88662f; outline: 1px solid #1d1409; box-shadow: inset 0 0 0 2px #2d2113, inset 0 0 40px #0008, 0 18px 70px #0009; }
.welcome-panel { width: min(590px, 48vw); padding: clamp(28px, 4vw, 58px); background: linear-gradient(135deg, #111720ed, #080c13e8); }
.pixel-kicker { margin: 0 0 12px; color: var(--gold-bright); font: 700 .8rem/1 var(--pixel); text-transform: uppercase; letter-spacing: .18em; }
.welcome-panel h1 { margin: 0 0 22px; color: #f2e7cc; font: 400 clamp(3rem, 5.2vw, 5.8rem)/.86 var(--story); letter-spacing: -.025em; text-shadow: 0 5px 0 #000; }
.welcome-panel h1 em { display: inline; color: var(--gold-bright); font-weight: 400; }
.welcome-panel > p:not(.pixel-kicker) { max-width: 470px; margin-bottom: 28px; color: #c8c2b5; font: 400 1.15rem/1.55 var(--story); }
.welcome-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.pixel-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 12px 20px; border: 2px solid #24180b; border-radius: 0; font: 700 .88rem/1 var(--pixel); letter-spacing: .04em; cursor: pointer; box-shadow: inset 0 0 0 2px #edca70, 3px 3px 0 #0008; transition: transform .15s, filter .15s; }
.pixel-button:hover { transform: translate(-1px, -2px); filter: brightness(1.12); }
.pixel-button:active { transform: translate(2px, 2px); }
.pixel-button.gold { background: linear-gradient(#dca94a, #a66e22); color: #1a1106; }
.pixel-button.dark { border-color: #665232; background: #121820; color: #e7d7b1; box-shadow: inset 0 0 0 1px #2f3742, 3px 3px 0 #0008; }
.pixel-button.outline { border-color: #84632e; color: var(--gold-bright); background: #0b1017; box-shadow: inset 0 0 0 1px #3c2b14, 3px 3px 0 #000; }
.daily-card { position: absolute; right: 5vw; bottom: 9vh; display: flex; align-items: center; gap: 14px; min-width: 270px; padding: 14px 18px; background: #0b1016e8; }
.daily-icon { display: grid; place-items: center; width: 48px; aspect-ratio: 1; color: #ffd873; border: 1px solid #8b682f; background: radial-gradient(circle, #8b672b55, transparent 70%); font-size: 1.8rem; }
.daily-card div { display: grid; gap: 3px; }
.daily-card small { color: var(--gold); font: 600 .62rem/1 var(--pixel); letter-spacing: .12em; }
.daily-card strong { font: 500 1.12rem/1.2 var(--story); }
.xp-line { color: #78b995; font: 500 .68rem/1 var(--pixel); }
.world-marker { position: absolute; left: 55%; top: 42%; display: grid; place-items: center; color: var(--gold-bright); font: 600 .68rem/1 var(--pixel); text-shadow: 0 2px 2px #000; }
.marker-icon { z-index: 2; display: grid; place-items: center; width: 34px; aspect-ratio: 1; margin-bottom: 8px; color: #251600; border: 2px solid #2b1d08; transform: rotate(45deg); background: var(--gold-bright); box-shadow: 0 0 22px #ffc34d; font-size: 1.2rem; }
.marker-icon::first-letter { transform: rotate(-45deg); }
.marker-pulse { position: absolute; top: -8px; width: 50px; aspect-ratio: 1; border: 2px solid #f4c75f; transform: rotate(45deg); animation: marker-pulse 2s infinite; }
@keyframes marker-pulse { 0% { opacity: .8; scale: .6; } 100% { opacity: 0; scale: 1.5; } }
.scroll-cue { position: absolute; bottom: 26px; left: 50%; display: grid; justify-items: center; color: #cfc6b3; font: 500 .62rem/1 var(--pixel); letter-spacing: .18em; transform: translateX(-50%); }
.scroll-cue i { color: var(--gold-bright); font: normal 1.5rem/1 var(--pixel); animation: bob 1.5s infinite; }
@keyframes bob { 50% { transform: translateY(5px); } }

.guild-passes { position: relative; padding: 92px 5vw 72px; color: #eee1c3; background: #0d111a; border-top: 8px solid #3b2817; scroll-margin-top: 0; }
.passes-heading { display: grid; grid-template-columns: 1fr minmax(280px, 440px); align-items: end; gap: 30px; max-width: 1320px; margin: auto; }
.passes-heading h2 { margin: 0; font: 400 clamp(2.8rem, 5vw, 5.4rem)/.9 var(--story); }
.passes-heading > p { margin: 0 0 5px; color: #aaa598; font-size: 1.1rem; line-height: 1.45; }
.passes-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; max-width: 1320px; margin: 40px auto 22px; }
.pass-card { position: relative; display: flex; min-width: 0; min-height: 430px; flex-direction: column; padding: 22px 18px 18px; border: 2px solid #6c5434; color: #eee4cf; background: linear-gradient(145deg, #252034, #161824); box-shadow: inset 0 0 0 2px #332943, 5px 6px 0 #0005; transition: transform .15s, border-color .15s; }
.pass-card:hover { transform: translateY(-4px); border-color: #c59748; }
.pass-card.selected { border-color: #c6a2ff; box-shadow: inset 0 0 0 3px #6d48b5, 0 0 22px #8d61df55, 5px 6px 0 #0007; }
.pass-card.legendary { border-color: #b99555; background: linear-gradient(145deg, #30243c, #181823); }
.pass-card-top { display: flex; min-height: 25px; justify-content: space-between; align-items: start; gap: 8px; }
.pass-level, .pass-limited { color: #bfaa81; font: 600 .58rem/1 var(--pixel); letter-spacing: .08em; }
.pass-limited { padding: 6px 8px; color: #f5d779; border: 1px solid #6f604a; }
.pass-card h3 { margin: 17px 0 5px; color: #fff5dc; font: 400 1.75rem/1 var(--story); }
.pass-price { margin: 0 0 18px; color: #f4ce67; font: 400 2.5rem/1 var(--story); }
.pass-card ul { margin: 0 0 24px; padding-left: 18px; color: #c9c3b8; font-size: .98rem; line-height: 1.35; }
.pass-card li + li { margin-top: 8px; }
.pass-card button { min-height: 48px; margin-top: auto; border: 2px solid #66537e; color: #f2ecff; background: #272137; font: 700 .75rem/1 var(--pixel); cursor: pointer; }
.pass-card button:hover { background: #3b2d56; }
.pass-card.selected button { border-color: #a889e8; background: linear-gradient(135deg, #9e78f4, #6541cc); box-shadow: inset 0 0 0 2px #bda5f6; }
.pass-action { display: flex; max-width: 1320px; align-items: center; justify-content: space-between; gap: 18px; margin: 0 auto; padding: 16px 18px; background: #111722; }
.pass-action > span { display: grid; gap: 5px; }
.pass-action small { color: #a89a7e; font: 600 .58rem/1 var(--pixel); letter-spacing: .08em; }
.pass-action strong { color: #f3d071; font: 600 1rem/1.2 var(--pixel); }

.guild-board { position: relative; padding: 100px 5vw 110px; background: #e0cfa8; color: var(--ink-pixel); background-image: radial-gradient(#46301417 1px, transparent 1px), linear-gradient(90deg, transparent 49.7%, #5137140d 50%); background-size: 6px 6px, 100% 100%; border-top: 8px solid #3b2817; }
.guild-board::before, .guild-board::after { content: "✦"; position: absolute; top: 42px; color: #8c672c; font-size: 1.5rem; }
.guild-board::before { left: 5vw; }.guild-board::after { right: 5vw; }
.board-heading { display: grid; grid-template-columns: 1fr minmax(280px, 450px); align-items: end; gap: 30px; max-width: 1320px; margin: auto; }
.board-heading .pixel-kicker, .path-copy .pixel-kicker { color: #80571c; }
.board-heading h2, .guild-path h2, .lore-dialog h2 { margin: 0; font: 400 clamp(2.8rem, 5vw, 5.4rem)/.9 var(--story); }
.board-heading > p { margin: 0 0 5px; color: #5d513e; font-size: 1.1rem; }
.quest-toolbar { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; max-width: 1320px; margin: 42px auto 28px; padding-bottom: 10px; border-bottom: 2px solid #a88955; }
.quest-tab { position: relative; min-height: 43px; padding: 8px 24px; border: 2px solid transparent; background: transparent; color: #5c4930; font: 650 .8rem/1 var(--pixel); cursor: pointer; }
.quest-tab::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: -12px; height: 4px; background: #80551d; transition: .2s; }
.quest-tab:hover { color: #17130e; background: #e9d9b4; border-color: #b79761; }
.quest-tab.active { color: #efffe8; background: #39765c; border-color: #244d3d; box-shadow: inset 0 0 0 2px #66a47b, 3px 3px 0 #79562955; }
.quest-tab.active::after { left: 10px; right: 10px; }
.quest-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; max-width: 1320px; min-height: 435px; margin: auto; }
.quest-card { position: relative; display: grid; grid-template-rows: 128px 1fr; min-width: 0; background: #f0e3c4; border: 2px solid #715129; box-shadow: inset 0 0 0 3px #ceb986, 6px 7px 0 #6d4a2152; transition: transform .2s, box-shadow .2s; }
.quest-card:hover { transform: translateY(-6px); box-shadow: inset 0 0 0 3px #ceb986, 9px 13px 0 #6d4a2133; }
.quest-card.locked { filter: saturate(.45); opacity: .7; }
.quest-card.locked:hover { transform: none; }
.quest-card.locked .quest-reward button { border-color: #766b59; color: #ded5c3; background: #6d6558; cursor: not-allowed; box-shadow: none; }
.quest-ribbon { position: absolute; z-index: 2; top: 12px; left: -7px; color: #f5e8ca; background: #253f38; box-shadow: 0 3px 0 #0004; }
.quest-ribbon span { display: block; padding: 6px 13px; font: 650 .66rem/1 var(--pixel); text-transform: uppercase; letter-spacing: .08em; }
.quest-symbol { display: grid; place-items: center; border-bottom: 2px solid #81623c; color: #f4d582; background: radial-gradient(circle, #765b3070, transparent 52%), repeating-linear-gradient(45deg, #162019, #162019 3px, #121a16 3px, #121a16 6px); font: 400 3.8rem/1 var(--story); text-shadow: 3px 4px 0 #000; }
.quest-symbol.tone-coral { background-color: #3d2225; }.quest-symbol.tone-aqua { background-color: #153533; }.quest-symbol.tone-violet { background-color: #2d263e; }.quest-symbol.tone-lime { background-color: #344222; }
.quest-content { display: flex; flex-direction: column; padding: 17px; }
.quest-rank { display: flex; justify-content: space-between; color: #85591d; font: 600 .62rem/1 var(--pixel); letter-spacing: .05em; }
.quest-rank span:last-child { color: #72644f; }
.quest-card h3 { min-height: 54px; margin: 10px 0 8px; font: 400 1.55rem/1 var(--story); }
.quest-card h3 + p { display: -webkit-box; overflow: hidden; margin: 0 0 14px; color: #5e5547; font-size: .95rem; line-height: 1.35; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.quest-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: auto 0 12px; padding: 11px 0; border-block: 1px dashed #a88d60; }
.quest-facts div { min-width: 0; }.quest-facts dt { color: #7a6444; font: 600 .62rem/1 var(--pixel); }.quest-facts dd { overflow: hidden; margin: 5px 0 0; font: 600 .8rem/1 var(--story); white-space: nowrap; text-overflow: ellipsis; }
.party-line { display: grid; gap: 7px; }.party-line > div:first-child { display: flex; justify-content: space-between; align-items: end; }.party-line span { font: 700 .78rem/1 var(--pixel); }.party-line small { color: #70634f; font: 500 .53rem/1 var(--pixel); letter-spacing: .05em; }
.party-progress { height: 7px; padding: 1px; background: #b7a175; border: 1px solid #7e633d; }.party-progress i { display: block; height: 100%; background: #397359; }
.quest-reward { display: flex; align-items: end; justify-content: space-between; margin-top: 15px; padding-top: 12px; border-top: 1px solid #c7ad7a; }.quest-reward > span { display: grid; }.quest-reward small { color: #7d6a4d; font: 500 .53rem/1 var(--pixel); }.quest-reward strong { color: #77501f; font: 700 1rem/1.4 var(--pixel); }.quest-reward a, .quest-reward button { min-height: 40px; padding: 7px 10px; border: 1px solid #2d5a49; color: #f2ffe8; background: #39765c; font: 700 .7rem/1 var(--pixel); cursor: pointer; box-shadow: inset 0 0 0 1px #67a47c; }
.quest-empty { grid-column: 1 / -1; align-self: center; text-align: center; font-size: 1.3rem; }.all-quests { display: flex; justify-content: center; margin-top: 42px; }

.guild-path { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; padding: 100px max(5vw, calc((100vw - 1320px)/2)); background: #0d141b; color: #eee1c3; border-top: 1px solid #7b5a28; }
.path-copy > p:last-child { max-width: 430px; color: #aaa598; font-size: 1.1rem; }.path-copy .pixel-kicker { color: var(--gold-bright); }
.path-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: path; }
.path-steps li { position: relative; display: grid; align-content: start; padding: 22px 28px; border-left: 1px solid #584728; }
.path-steps li::before { content: ""; position: absolute; top: 32px; left: -4px; width: 7px; aspect-ratio: 1; background: var(--gold-bright); transform: rotate(45deg); box-shadow: 0 0 12px #e8b84a; }
.path-steps span { color: #79643d; font: 600 .68rem/1 var(--pixel); }.path-steps strong { margin: 40px 0 10px; color: var(--gold-bright); font: 500 1.9rem/1 var(--story); }.path-steps p { margin: 0; color: #aaa598; }
.guild-footer { display: flex; justify-content: space-between; gap: 30px; align-items: center; padding: 30px 5vw; color: #918a7c; background: #070a0e; border-top: 1px solid #272219; }
.guild-footer > div { display: grid; }.guild-footer strong { color: #d2b874; font: 700 1rem/1 var(--pixel); letter-spacing: .1em; }.guild-footer span { margin-top: 6px; font-size: .85rem; }.guild-footer nav { display: flex; flex-wrap: wrap; gap: 20px; }.guild-footer a { font-size: .7rem; }.guild-footer a:hover { color: var(--gold-bright); }
.footer-brand { display: flex !important; align-items: center; gap: 12px; }
.footer-brand > img { width: 54px; height: 44px; object-fit: contain; image-rendering: pixelated; }
.footer-brand > span { display: grid; margin: 0; }
.footer-brand small { margin-top: 5px; color: #918a7c; font: 400 .82rem/1.2 var(--story); }

.lore-dialog { width: min(600px, calc(100% - 32px)); padding: 52px; color: #2d2113; background: #e5d2a6; border: 4px double #76511f; box-shadow: 0 22px 100px #000; }
.lore-dialog::backdrop { background: #030508cc; backdrop-filter: blur(5px); }.lore-dialog .pixel-kicker { color: #815619; }.lore-dialog p:not(.pixel-kicker) { color: #594b37; font-size: 1.15rem; line-height: 1.6; }.dialog-close { position: absolute; right: 14px; top: 12px; width: 36px; height: 36px; color: #3a2c1b; background: transparent; border: 0; font-size: 1.6rem; cursor: pointer; }.dialog-rune { position: absolute; right: 30px; bottom: 20px; color: #a58446; font-size: 4rem; opacity: .25; }
.quest-dialog-icon { display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: 18px; border: 3px double #77511f; color: #f7d77c; background: #173329; font: 400 2.5rem/1 var(--story); box-shadow: 4px 4px 0 #6f4a2540; }
.quest-dialog-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 22px 0; }
.quest-dialog-stats div { padding: 12px; border: 1px solid #9f7e48; background: #d6bf8d; }
.quest-dialog-stats dt { color: #735522; font: 600 .62rem/1 var(--pixel); text-transform: uppercase; }
.quest-dialog-stats dd { margin: 7px 0 0; color: #251b0f; font: 700 .92rem/1.2 var(--pixel); }

@media (max-width: 1000px) {
  .guild-header { grid-template-columns: 1fr auto; }
  .guild-nav { position: fixed; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); z-index: 50; height: 66px; justify-content: space-around; gap: 4px; padding: 0 8px; background: #0a0e15f2; border: 1px solid #79602f; box-shadow: 0 8px 40px #000; backdrop-filter: blur(14px); }
  .guild-nav a { flex: 1; min-width: 0; min-height: 54px; flex-direction: column; gap: 5px; font-size: .64rem; }
  .guild-nav a > span { display: block; color: var(--gold-bright); font: 700 1rem/1 var(--pixel); }
  .guild-nav a::after { bottom: -6px; }
  .player-status { display: none; }
  .welcome-panel { width: min(620px, 76vw); }.quest-grid { grid-template-columns: repeat(2, 1fr); }.guild-path { grid-template-columns: 1fr; gap: 35px; }
  .passes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .guild-home .cookie-banner { right: 12px; bottom: calc(88px + env(safe-area-inset-bottom)); left: 12px; z-index: 60; }
}
@media (max-width: 680px) {
  .guild-header { position: absolute; height: 70px; padding-inline: 16px; }
  .guild-brand { gap: 7px; }
  .guild-brand strong { font-size: 1.12rem; }
  .guild-brand small { font-size: .5rem; }
  .guild-crest { width: 48px; height: 42px; }
  .guild-nav { left: 8px; right: 8px; height: 64px; padding-inline: 3px; }
  .guild-nav a { font-size: clamp(.52rem, 2.5vw, .63rem); }
  .game-stage { align-items: end; min-height: 100svh; padding: 194px 14px 88px; }
  .stage-art { object-position: 68% center; }
  .stage-vignette { background: linear-gradient(0deg, #06090ff8 5%, #070a11d4 55%, #070a1055 78%, #070a10a8 100%); }
  .welcome-panel { width: 100%; padding: 22px 20px 24px; }
  .pixel-kicker { font-size: .68rem; letter-spacing: .13em; }
  .welcome-panel h1 { margin-bottom: 14px; font-size: clamp(2.55rem, 13.5vw, 3.8rem); line-height: .88; }
  .welcome-panel > p:not(.pixel-kicker) { margin-bottom: 18px; font-size: 1rem; line-height: 1.42; }
  .welcome-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
  .pixel-button { min-height: 50px; padding: 11px 12px; font-size: .72rem; }
  .world-marker { top: 126px; right: 25px; left: auto; }
  .world-marker strong { display: none; }
  .marker-icon { width: 30px; }
  .daily-card { top: 78px; right: auto; bottom: auto; left: 16px; min-width: 0; max-width: calc(100% - 82px); padding: 9px 12px; scale: 1; }
  .daily-icon { width: 36px; font-size: 1.25rem; }
  .daily-card strong { font-size: .94rem; }
  .daily-card small, .xp-line { font-size: .54rem; }
  .scroll-cue { display: none; }
  .guild-passes { padding: 64px 0 42px; }
  .passes-heading { grid-template-columns: 1fr; gap: 14px; padding-inline: 14px; }
  .passes-heading h2 { font-size: clamp(2.5rem, 13vw, 3.7rem); }
  .passes-heading > p { font-size: 1rem; }
  .passes-grid { display: flex; overflow-x: auto; gap: 12px; margin: 28px 0 18px; padding: 4px 14px 16px; scroll-padding-inline: 14px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .passes-grid::-webkit-scrollbar { display: none; }
  .pass-card { flex: 0 0 min(82vw, 330px); min-height: 420px; scroll-snap-align: center; }
  .pass-card:hover { transform: none; }
  .pass-action { margin-inline: 14px; align-items: stretch; flex-direction: column; padding: 14px; }
  .pass-action .pixel-button { width: 100%; }
  .guild-board { padding: 66px 14px 88px; scroll-margin-top: 0; }
  .guild-board::before, .guild-board::after { top: 26px; }
  .board-heading { grid-template-columns: 1fr; gap: 16px; }
  .board-heading h2, .guild-path h2 { font-size: clamp(2.5rem, 13vw, 3.7rem); }
  .board-heading > p { font-size: 1rem; line-height: 1.45; }
  .quest-toolbar { justify-content: start; overflow-x: auto; flex-wrap: nowrap; margin: 28px -14px 22px; padding: 0 14px 11px; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .quest-toolbar::-webkit-scrollbar { display: none; }
  .quest-tab { flex: 0 0 auto; min-height: 48px; padding-inline: 16px; scroll-snap-align: start; }
  .quest-grid { grid-template-columns: 1fr; gap: 16px; min-height: 0; }
  .quest-card { grid-template-rows: 96px 1fr; }
  .quest-card:hover { transform: none; }
  .quest-content { padding: 16px; }
  .quest-card h3 { min-height: auto; font-size: 1.65rem; }
  .quest-card h3 + p { font-size: 1rem; -webkit-line-clamp: 3; }
  .quest-facts { gap: 14px; }
  .quest-facts dt, .party-line small { font-size: .6rem; }
  .quest-facts dd, .party-line span, .quest-reward a, .quest-reward button { font-size: .8rem; }
  .quest-reward a, .quest-reward button { min-height: 44px; display: inline-flex; align-items: center; }
  .all-quests .pixel-button { width: 100%; }
  .guild-path { padding: 66px 20px 94px; }
  .path-steps { grid-template-columns: 1fr; }
  .path-steps li { padding: 18px 22px; }
  .path-steps strong { margin-top: 14px; }
  .guild-footer { align-items: start; flex-direction: column; padding: 28px 20px calc(96px + env(safe-area-inset-bottom)); }
  .guild-footer nav { gap: 18px; }
  .guild-footer a { min-height: 36px; display: inline-flex; align-items: center; }
  .lore-dialog { max-height: calc(100svh - 32px); overflow-y: auto; padding: 42px 24px 30px; }
  .quest-dialog-stats { grid-template-columns: 1fr; }
  .guild-home .cookie-banner { grid-template-columns: 1fr auto; gap: 10px; padding: 11px 12px; }
  .guild-home.cookie-notice-visible .game-stage { padding-bottom: 164px; }
  .guild-home .cookie-banner strong { margin: 0; font: 600 .8rem/1.2 var(--pixel); }
  .guild-home .cookie-banner p, .guild-home .cookie-actions .ghost { display: none; }
  .guild-home .cookie-actions { display: block; }
  .guild-home .cookie-actions .button { min-height: 44px; padding: 9px 12px; font-size: .7rem; }
}
@media (max-width: 370px) {
  .guild-brand small { display: none; }
  .game-stage { padding-inline: 10px; }
  .welcome-panel { padding-inline: 16px; }
  .welcome-actions { grid-template-columns: 1fr; }
  .welcome-actions .pixel-button { min-height: 46px; }
  .guild-nav a { letter-spacing: 0; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
