/* Camp Commons — one visual language for every Charzoid workspace.
   Intentionally loaded last: legacy route layouts retain their behavior, while
   this theme owns surfaces, typography, controls and responsive shell geometry. */
html[data-theme="camp"] {
  color-scheme: light;
  --camp-bg: #f6f5ee;
  --camp-card: #fffef9;
  --camp-soft: #eeefe5;
  --camp-line: #dcded2;
  --camp-ink: #173d2e;
  --camp-body: #35483d;
  --camp-muted: #657064;
  --camp-green: #22573e;
  --camp-rust: #ac4c27;
  --camp-radius: 18px;
  --black: #f6f5ee; --black-2: #fffef9; --black-3: #eeefe5;
  --surface: #fffef9; --surface-strong: #eeefe5;
  --text: #173d2e; --muted: #657064; --dim: #657064;
  --line: #dcded2; --line-strong: #bbc4b6;
  --moss: #22573e; --moss-bright: #32704d; --moss-dark: #dce7d9;
  --amber: #92651f; --rust: #ac4c27; --danger: #a83d35; --blue: #286474;
  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --guide-display: "Manrope", "Inter", sans-serif;
  --guide-body: var(--font);
  --guide-ink: #173d2e; --guide-paper: #fffef9; --guide-olive: #22573e;
  --guide-olive-bright: #32704d; --guide-muted: #657064;
  --app-header-height: 94px; --app-header-control-height: 44px;
  --app-brand-icon-size: 58px; --app-text-nav: 15px;
  font-family: var(--font); font-size: 16px;
  background: var(--camp-bg); color: var(--camp-ink);
}
html[data-theme="camp"] body { background: var(--camp-bg); color: var(--camp-body); font-family: var(--font); line-height: 1.55; }
html[data-theme="camp"] body::before, html[data-theme="camp"] body::after { display: none; }
html[data-theme="camp"] [hidden] { display: none !important; }
html[data-theme="camp"] :is(h1,h2,h3,h4,h5) { font-family: "Manrope", "Inter", sans-serif !important; font-weight: 800; line-height: 1.2 !important; letter-spacing: -.035em !important; text-transform: none; overflow-wrap: break-word; }
html[data-theme="camp"] :is(button,input,select,textarea,summary) { font-family: var(--font) !important; font-synthesis: none; }
html[data-theme="camp"] :is(button,a,input,textarea,select,summary,[tabindex]):focus-visible { outline: 3px solid #b6572d !important; outline-offset: 4px; }
html[data-theme="camp"] :is(button,a) { -webkit-tap-highlight-color: transparent; }
html[data-theme="camp"] :is(button,select,summary) { touch-action: manipulation; }
html[data-theme="camp"] :is(input,select,textarea) { color-scheme: light; accent-color: var(--camp-green); }
html[data-theme="camp"] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { border: 1px solid #c6cebf !important; border-radius: 10px !important; background-color: var(--camp-card) !important; color: var(--camp-ink) !important; font-size: 16px !important; line-height: 1.5; }
html[data-theme="camp"] :is(input,textarea)::placeholder { color: #6b756b; opacity: 1; }
html[data-theme="camp"] :is(select,input:not([type="checkbox"]):not([type="radio"])) { min-height: 46px; }
/* Native WebKit menu styling can ignore the requested control height. Keep the
   native select behavior, with the same library chevron and geometry everywhere. */
html[data-theme="camp"] select:not([multiple]):not([size]) {
  -webkit-appearance: none !important; appearance: none !important;
  padding-right: 38px !important;
  background-image: url('/assets/bootstrap-chevron-down.svg') !important;
  background-position: right 12px center !important;
  background-size: 14px 14px !important; background-repeat: no-repeat !important;
}
html[data-theme="camp"] button:disabled { cursor: not-allowed; }
html[data-theme="camp"] :is(progress,[role="progressbar"]) { accent-color: var(--camp-green); }
html[data-theme="camp"] progress { border: 0; border-radius: 20px; background: #dfe5d9; overflow: hidden; }
html[data-theme="camp"] progress::-webkit-progress-bar { background: #dfe5d9; border-radius: 20px; }
html[data-theme="camp"] progress::-webkit-progress-value { background: #38724c; border-radius: 20px; }
html[data-theme="camp"] progress::-moz-progress-bar { background: #38724c; }
html[data-theme="camp"] * { scrollbar-color: #abb9a4 #eff1e9; scrollbar-width: thin; }
html[data-theme="camp"] ::selection { background: #d2e2cb; color: #173d2e; }

/* The header is in normal grid flow; navigation can never sit beneath account controls. */
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header {
  position: relative !important; inset: auto !important; display: grid !important;
  grid-template-columns: minmax(200px,1fr) auto minmax(220px,1fr) !important;
  grid-template-rows: 1fr !important; align-items: center !important;
  width: 100% !important; height: var(--app-header-height) !important;
  min-height: var(--app-header-height) !important; max-height: none !important;
  gap: 18px !important; padding: 12px clamp(18px,2vw,38px) !important;
  margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--camp-line) !important;
  border-radius: 0 !important; background: var(--camp-bg) !important;
  color: var(--camp-ink) !important; box-shadow: none !important; overflow: visible !important;
}
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.player-brand,.shop-library-brand,.quest-brand,.ranking-brand,.ticket-brand,.legal-brand,.admin-brand,.login-header-brand,.camp-mod-brand) {
  display: flex !important; grid-column: 1 !important; grid-row: 1 !important;
  align-items: center !important; gap: 10px !important; min-width: 0 !important;
  color: var(--camp-ink) !important; text-decoration: none; overflow: visible !important;
}
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.player-brand,.shop-library-brand,.quest-brand,.ranking-brand,.ticket-brand,.legal-brand,.admin-brand,.login-header-brand,.camp-mod-brand) img { width: 58px !important; height: 58px !important; flex: 0 0 58px !important; object-fit: contain; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .brand-mark { width: 58px !important; height: 58px !important; flex: 0 0 58px; border: 0 !important; border-radius: 0 !important; background: none !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.player-brand,.shop-library-brand,.quest-brand,.ranking-brand,.ticket-brand,.legal-brand,.admin-brand,.login-header-brand,.camp-mod-brand) :is(strong,h2) { display: block !important; margin: 0 !important; color: var(--camp-ink) !important; font: 800 clamp(22px,1.8vw,29px)/1.1 "Manrope",sans-serif !important; letter-spacing: -.055em !important; white-space: nowrap; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.shop-library-brand,.quest-brand,.ranking-brand,.ticket-brand,.legal-brand,.admin-brand,.login-header-brand,.camp-mod-brand) :is(p,div > span), html[data-theme="camp"] .camp-brand-copy small { display: block; margin: 4px 0 0 !important; color: var(--camp-rust) !important; font: 500 11px/1.35 var(--font) !important; letter-spacing: 0 !important; text-transform: none; white-space: normal; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-primary-nav { position: static !important; inset: auto !important; grid-column: 2 !important; grid-row: 1 !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; width: auto !important; max-width: none !important; height: 100% !important; min-height: 0 !important; margin: 0 !important; border: 0 !important; transform: none !important; overflow: visible; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-primary-nav :is(a,button) { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 7px; padding: 10px 12px !important; height: 44px !important; min-height: 44px !important; border: 0 !important; border-radius: 9px !important; background: transparent !important; color: var(--camp-body) !important; font: 650 15px/1.2 var(--font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-primary-nav .active { background: #e3eadc !important; color: #17462e !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-primary-nav :is(a,button):hover { background: #ebeee3 !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-primary-nav :is(a,button)::after { display: none !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-header-actions { position: static !important; display: flex !important; grid-column: 3 !important; grid-row: 1 !important; justify-self: end; align-items: center; gap: 7px !important; margin: 0 !important; width: auto; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-header-actions > button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; height: 44px !important; padding: 8px 11px !important; border: 1px solid #d4d9cb !important; border-radius: 10px !important; background: var(--camp-card) !important; color: var(--camp-ink) !important; box-shadow: none !important; font: 650 13px/1.2 var(--font) !important; letter-spacing: 0 !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-header-actions > button:hover { background: #e8eedf !important; border-color: #9dac91 !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .shop-header-tier { display: inline-flex !important; width: auto !important; min-width: 130px !important; gap: 7px; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .shop-header-tier-icon { display: grid; place-items: center; flex: 0 0 29px; width: 29px !important; height: 29px !important; margin: 0; border: 0; border-radius: 8px; background: #e1ead9 !important; color: var(--camp-green) !important; font-size: 17px !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .shop-header-tier-copy { display: grid !important; min-width: 0; gap: 3px; text-align: left; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .shop-header-tier-copy strong { color: var(--camp-ink) !important; font: 750 11px/1.2 var(--font) !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .shop-header-tier-copy small { color: var(--camp-muted) !important; font: 600 10px/1.2 var(--font) !important; letter-spacing: 0 !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .shop-header-tier-copy progress { height: 3px; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .shop-header-tier-chevron { display: none !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.shop-header-account,.site-session-trigger,.quest-account-button,.ticket-account-button) { width: 44px !important; min-width: 44px !important; padding: 5px !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.shop-header-account,.quest-account-button,.ticket-account-button) > span { display: none !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.shop-header-account,.quest-account-button,.ticket-account-button) > i:last-child:not(:first-child) { display: none; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.shop-header-account,.site-session-trigger,.quest-account-button,.ticket-account-button) img { width: 31px !important; height: 31px !important; border-radius: 50%; }
html[data-theme="camp"] .player-mobile-nav { display: none !important; }

/* Home: matching the chosen warm safehouse composition, all values remain live. */
html[data-theme="camp"][data-app-route="home"], html[data-theme="camp"][data-app-route="home"] body:not(.overlay-open) { height: auto; overflow-y: auto; }
html[data-theme="camp"] #appShell { display: block; height: auto; min-height: 100dvh; overflow: visible; max-width: none; width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--camp-bg); box-shadow: none; }
html[data-theme="camp"] #commandHome { display: flex; width: 100%; height: auto; min-height: calc(100dvh - var(--app-header-height)); flex-direction: column; gap: 18px; padding: 22px clamp(18px,2vw,38px) 0; overflow: visible; background: var(--camp-bg); color: var(--camp-body); }
html[data-theme="camp"] .camp-hero { position: relative; display: flex; height: auto; min-height: clamp(395px,31vw,560px); padding: 0; grid-template-columns: none; border: 1px solid #e3e1d5; border-radius: var(--camp-radius); overflow: hidden; background: #f7f1df; box-shadow: none; }
html[data-theme="camp"] .camp-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
html[data-theme="camp"] .camp-hero-copy { position: relative; z-index: 1; display: flex; width: min(57%,790px); flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(24px,2.8vw,48px); }
html[data-theme="camp"] .camp-eyebrow { margin: 0 0 12px; color: #557052; font-size: 11px; letter-spacing: .12em; font-weight: 750; }
html[data-theme="camp"] #campWelcomeTitle { display: grid; margin: 0; color: #163e2e; font-size: clamp(35px,3.55vw,69px); line-height: 1.06 !important; letter-spacing: -.05em !important; }
html[data-theme="camp"] #campWelcomeTitle em { color: var(--camp-rust); font-style: normal; }
html[data-theme="camp"] .camp-hero-intro { max-width: 420px; margin: 18px 0; color: #34473a; font-size: clamp(15px,1.05vw,18px); line-height: 1.5; text-wrap: pretty; }
html[data-theme="camp"] .camp-hero-actions { display: flex; align-items: stretch; gap: 10px; width: min(100%,510px); }
html[data-theme="camp"] .command-status-panel { display: grid; flex: 0 0 auto; grid-template-columns: 12px 1fr; grid-template-rows: auto auto; align-content: center; align-items: center; gap: 3px 9px; min-width: 132px; min-height: 68px; padding: 10px 15px; border: 1px solid #d7dbce; border-radius: 12px; background: rgba(255,254,249,.94); box-shadow: none; text-align: left; }
html[data-theme="camp"] .camp-status-dot { display: block; grid-column: 1; grid-row: 1; width: 10px; height: 10px; border-radius: 50%; background: #7f806a; }
html[data-theme="camp"] .command-status-panel[data-state="online"] .camp-status-dot { background: #2e7845; }
html[data-theme="camp"] #commandStatusText { grid-column: 2; grid-row: 1; margin: 0; padding: 0; font: 750 16px/1.45 var(--font) !important; color: var(--camp-ink) !important; letter-spacing: 0; }
html[data-theme="camp"] .command-status-fact { grid-column: 2; display: block; margin: 0; padding: 0; }
html[data-theme="camp"] .command-status-fact > div { display: flex; flex-direction: row; align-items: baseline; gap: 5px; }
html[data-theme="camp"] .command-status-fact :is(strong,span) { margin: 0; color: var(--camp-body) !important; font: 500 12px/1.4 var(--font) !important; letter-spacing: 0; white-space: nowrap; }
html[data-theme="camp"] .command-status-fact strong { font-weight: 750 !important; }
html[data-theme="camp"] .command-join-button { display: flex; flex: 1; align-items: center; justify-content: flex-start; gap: 12px; min-height: 68px; width: auto; margin: 0; padding: 12px 18px; border: 0; border-radius: 12px; background: #20563d; box-shadow: 0 4px 10px #173d2e12; color: #fff; text-align: left; }
html[data-theme="camp"] .command-join-icon { display: grid; flex: 0 0 31px; place-items: center; width: 31px; height: 31px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: #39724e; }
html[data-theme="camp"] .command-join-icon i { display: grid; place-items: center; width: 100%; height: 100%; font-size: 18px; line-height: 1; transform: none !important; }
html[data-theme="camp"] .command-join-icon i::before { display: block; vertical-align: 0; }
html[data-theme="camp"] .command-join-copy { display: grid; gap: 4px; min-width: 0; }
html[data-theme="camp"] .command-join-copy strong { color: #fff; font: 750 16px/1.3 var(--font) !important; letter-spacing: 0; }
html[data-theme="camp"] .command-join-copy small { color: #e2eddb; font: 400 11px/1.35 var(--font); letter-spacing: 0; }
html[data-theme="camp"] .command-copy-address { display: flex; align-items: center; gap: 10px; width: min(100%,510px); min-height: 48px; margin: 10px 0 0; padding: 10px 15px; border: 1px solid #d7dbce; border-radius: 10px; background: rgba(255,254,249,.93); color: var(--camp-ink); text-align: left; }
html[data-theme="camp"] .command-copy-address > i:first-child { font-size: 24px; }
html[data-theme="camp"] .command-copy-address strong { font: 700 clamp(14px,1.1vw,18px)/1.3 var(--font); letter-spacing: -.02em; }
html[data-theme="camp"] .command-copy-address span { margin-left: auto; font: 500 11px/1.3 var(--font); letter-spacing: 0; }
html[data-theme="camp"] .camp-connection { min-width: 0; margin: 0; padding: 16px 20px 20px; border: 1px solid var(--camp-line); border-radius: 16px; background: var(--camp-card); box-shadow: none; color: var(--camp-body); clip-path: none; }
html[data-theme="camp"] .camp-connection::before, html[data-theme="camp"] .camp-connection::after { display: none; }
html[data-theme="camp"] #campConnectionTitle { margin: 0 0 14px; font: 650 12px/1.4 var(--font) !important; letter-spacing: .03em !important; }
html[data-theme="camp"] .command-join-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; padding: 0; margin: 0; list-style: none; }
html[data-theme="camp"] .command-join-steps li { display: flex; align-items: flex-start; gap: 13px; padding: 0 22px; border: 0; border-right: 1px solid var(--camp-line); }
html[data-theme="camp"] .command-join-steps li:first-child { padding-left: 0; }
html[data-theme="camp"] .command-join-steps li:last-child { border: 0; }
html[data-theme="camp"] .command-join-steps li > strong { display: grid; place-items: center; flex: 0 0 29px; width: 29px; height: 29px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: var(--camp-rust); color: white; font: 700 14px/1 var(--font); transform: none; box-shadow: none; }
html[data-theme="camp"] .command-join-steps li > span { color: var(--camp-body); font: 600 13px/1.55 var(--font); letter-spacing: 0; }
html[data-theme="camp"] .camp-destinations { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
html[data-theme="camp"] .camp-destination { display: grid; grid-template-columns: 42% minmax(0,1fr); align-items: center; gap: 8px; min-height: 206px; padding: 15px 16px 15px 8px; border: 1px solid #e1e1d6; border-radius: 16px; background: #faf9f3; box-shadow: 0 3px 12px #32443004; }
html[data-theme="camp"] .camp-destination img { width: 100%; max-height: 178px; object-fit: contain; mix-blend-mode: darken; }
html[data-theme="camp"] .camp-destination > div { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; min-width: 0; }
html[data-theme="camp"] .camp-destination h2 { margin: 0; font-size: clamp(18px,1.35vw,24px); color: var(--camp-ink); }
html[data-theme="camp"] .camp-destination p { margin: 0; color: #4b5b4e; font-size: 12px; line-height: 1.6; }
html[data-theme="camp"] .camp-action { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 38px; padding: 9px 13px; border: 0; border-radius: 9px; background: var(--camp-green); color: #fff; font: 650 12px/1.35 var(--font); text-decoration: none; }
html[data-theme="camp"] .camp-action:hover { background: #153e2b; }
html[data-theme="camp"] .camp-destination-rust .camp-action, html[data-theme="camp"] .camp-vote .camp-action { background: var(--camp-rust); }
html[data-theme="camp"] .camp-destination-rust h2 { color: var(--camp-rust); }
html[data-theme="camp"] .camp-community { display: grid; grid-template-columns: minmax(180px,.65fr) minmax(0,1.7fr) minmax(260px,1fr); gap: 22px; padding: 24px; border: 1px solid var(--camp-line); border-radius: 16px; background: var(--camp-card); }
html[data-theme="camp"] .camp-world-panel { align-self: center; border-right: 1px solid var(--camp-line); padding-right: 18px; }
html[data-theme="camp"] .command-world-clock { display: grid; grid-template-columns: 1fr; margin: 0; padding: 0; gap: 5px; border: 0; background: none; text-align: left; }
html[data-theme="camp"] .command-world-clock > span { display: flex; align-items: center; gap: 8px; margin: 0; color: #4d654f; font: 650 11px/1.5 var(--font); letter-spacing: .03em; }
html[data-theme="camp"] .command-world-clock > strong { margin: 0; color: var(--camp-ink); font: 800 clamp(30px,2.7vw,42px)/1.2 "Manrope",sans-serif; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
html[data-theme="camp"] .command-world-clock > time { margin: 0; color: #536351; font: 500 12px/1.5 var(--font); letter-spacing: 0; text-transform: lowercase; }
html[data-theme="camp"] .camp-build { margin: 5px 0 0; font-size: 11px; color: #687360; }
html[data-theme="camp"] .command-roster-panel { min-height: 0; padding: 0; border: 0; background: none; box-shadow: none; overflow: visible; }
html[data-theme="camp"] .command-roster-panel > header { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 0 0 12px; margin: 0; border: 0; }
html[data-theme="camp"] .command-roster-panel h2 { margin: 0; font-size: 16px; color: var(--camp-ink); }
html[data-theme="camp"] #commandRosterCount { font: 750 15px/1.4 var(--font); color: var(--camp-green); white-space: nowrap; }
html[data-theme="camp"] .command-roster { min-height: 0; max-height: 155px; padding: 0; overflow: auto; }
html[data-theme="camp"] .command-player-list { display: flex; flex-wrap: wrap; gap: 8px; }
html[data-theme="camp"] .command-player-row { display: flex; width: auto; min-width: 0; align-items: center; gap: 8px; padding: 6px 9px; border: 1px solid #e0e5d8; border-radius: 10px; background: #f3f6ec; }
html[data-theme="camp"] .command-player-avatar { width: 30px; height: 30px; flex: 0 0 30px; border: 0; background: #e1e9d7; color: #396045; font-size: 25px; }
html[data-theme="camp"] .command-player-row strong { color: var(--camp-ink); font: 700 12px/1.4 var(--font); }
html[data-theme="camp"] .command-player-row span { color: #527347; font: 500 10px/1.4 var(--font); }
html[data-theme="camp"] .command-online-dot { display: none; }
html[data-theme="camp"] .command-roster-freshness { margin: 10px 0 0; padding: 0; color: #687360; font: 500 10px/1.5 var(--font); letter-spacing: 0; }
html[data-theme="camp"] .command-roster-empty { min-height: 0; display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 8px; padding: 10px 0; background: none; }
html[data-theme="camp"] .command-roster-empty :is(i,strong,p) { margin: 0; color: #63725e; font: 500 13px/1.5 var(--font); }
html[data-theme="camp"] .command-roster-empty i { font-size: 20px; }
html[data-theme="camp"] .camp-vote { display: flex; align-items: center; gap: 16px; padding-left: 22px; border-left: 1px solid var(--camp-line); }
html[data-theme="camp"] .camp-vote > i { display: grid; flex: 0 0 50px; width: 50px; height: 50px; place-items: center; border-radius: 50%; background: #f1e1d2; color: var(--camp-rust); font-size: 25px; }
html[data-theme="camp"] .camp-vote h2 { margin: 0; font-size: 18px; }
html[data-theme="camp"] .camp-vote p { margin: 7px 0 12px; font-size: 12px; }
html[data-theme="camp"] .command-rules { display: grid; height: auto; min-height: 0; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; padding: 0 5px; gap: 20px; border: 0; background: none; }
html[data-theme="camp"] .command-rules article { padding: 5px 0; background: none; border: 0; gap: 10px; }
html[data-theme="camp"] .command-rules article > i { color: #476044; font-size: 21px; }
html[data-theme="camp"] .command-rules strong { display: block; color: #284933; font: 750 11px/1.5 var(--font); letter-spacing: 0; }
html[data-theme="camp"] .command-rules p { margin: 4px 0 0; color: #66735e; font: 500 11px/1.5 var(--font); }
html[data-theme="camp"] .command-home-footer { display: flex; height: auto; min-height: 64px; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0 calc(-1 * clamp(18px,2vw,38px)); padding: 16px clamp(18px,2vw,38px); border: 0; background: #1e4935; color: #eef4e7; }
html[data-theme="camp"] .command-home-footer > :is(span,div,button) { color: #dce8d4; font: 500 11px/1.5 var(--font); }
html[data-theme="camp"] .command-home-footer > .js-open-mods { padding: 0; border: 0; background: none; }

/* All page canvases. No translucent black layers remain above the new palette. */
html[data-theme="camp"] :is(.shop-library,.shop-selected,.quest-workspace,.ticket-workspace,.ranking-workspace,.legal-workspace,.mod-library,.admin-workspace,.login-layer) {
  --guide-display: "Manrope", "Inter", sans-serif; --guide-body: var(--font);
  --quest-display: "Manrope",sans-serif; --quest-body: var(--font);
  --quest-olive: #22573e; --quest-olive-dark: #dce7d9; --quest-paper: #fffef9; --quest-muted: #657064;
  --ticket-paper: #fffef9; --ticket-olive: #22573e; --ticket-line: #dcded2; --ticket-muted: #657064;
  --admin-ink: #173d2e; --admin-ink-soft: #586852; --admin-line: #dcded2; --admin-paper: #fffef9;
  --shop-paper: #fffef9; --shop-ink: #173d2e;
  background: var(--camp-bg) !important; color: var(--camp-body) !important;
  font-family: var(--font); box-shadow: none !important;
}
html[data-theme="camp"] :is(.quest-workspace,.ticket-workspace,.ranking-workspace,.legal-workspace,.mod-library) { border: 0; border-radius: 0; grid-template-rows: var(--app-header-height) minmax(0,1fr); }
html[data-theme="camp"] :is(.quest-main,.ticket-main,.ranking-main,.legal-main,.mod-library-body) { width: 100%; max-width: none; padding: clamp(20px,2.4vw,40px); margin: 0; }
html[data-theme="camp"] :is(.quest-workspace,.ticket-workspace,.ranking-workspace,.legal-workspace,.mod-library,.shop-selected,.admin-workspace,.login-layer,dialog) :is(h1,h2,h3,h4,h5,strong,p,small,label,time,dt,dd,summary,code,span) { color: inherit; }
html[data-theme="camp"] :is(.quest-workspace,.ticket-workspace,.ranking-workspace,.legal-workspace,.mod-library,.shop-selected,.admin-workspace,.login-layer,dialog) :is(h1,h2,h3,h4,h5) { color: var(--camp-ink); }
html[data-theme="camp"] :is(.quest-workspace,.ticket-workspace,.ranking-workspace,.legal-workspace,.mod-library,.shop-selected,.admin-workspace) :is(p,small,label,time,dt,summary) { font-family: var(--font); letter-spacing: 0; }
html[data-theme="camp"] :is(.quest-hero,.ticket-hero,.ranking-hero,.legal-hero) { min-height: 220px; padding: clamp(25px,3vw,48px); border: 1px solid #d9decf; border-radius: 18px; background: #e9efdf !important; box-shadow: none; align-items: center; color: var(--camp-body); }
html[data-theme="camp"] :is(.quest-hero,.ticket-hero,.ranking-hero,.legal-hero)::after { display: none; }
html[data-theme="camp"] :is(.quest-hero,.ticket-hero,.ranking-hero,.legal-hero) h1 { max-width: 1050px; color: var(--camp-ink); font-size: clamp(29px,3.05vw,52px); line-height: 1.18 !important; }
html[data-theme="camp"] :is(.quest-hero,.ticket-hero,.ranking-hero,.legal-hero) :is(p,span,small) { color: #52654a; font-size: 14px; line-height: 1.6; }
html[data-theme="camp"] :is(.quest-hero,.ticket-hero,.ranking-hero,.legal-hero) > div > span { font-size: 17px; margin-top: 14px; }
html[data-theme="camp"] :is(.quest-reset,.ticket-help-card,.ranking-hero-stat,.ranking-hero-note,.legal-hero-meta) { padding: 22px; border: 1px solid #cbd7bd; border-radius: 14px; background: #fffef9 !important; box-shadow: none; color: var(--camp-ink); }
html[data-theme="camp"] :is(.quest-reset,.ranking-hero-stat,.ranking-hero-note) strong { color: var(--camp-ink); font-family: "Manrope",sans-serif; line-height: 1.3; }
html[data-theme="camp"] :is(.quest-reset,.ranking-hero-stat) > i { color: var(--camp-green); }
html[data-theme="camp"] :is(.quest-reset span,.quest-reset small) { color: var(--camp-muted); font-size: 12px; }

/* Shop: calm shelves, clear categories, a real cart and the existing delivery flow. */
html[data-theme="camp"] .shop-selected :is(.shop-library-body,.shop-library-frame,.shop-section,.shop-market,.shop-workspace,.shop-content,.shop-stock-header) { background: var(--camp-bg) !important; color: var(--camp-body); border-color: var(--camp-line); box-shadow: none; }
html[data-theme="camp"] .shop-selected .shop-library-body { padding: 0 !important; }
html[data-theme="camp"] .shop-selected .shop-section { display: grid !important; grid-template-columns: 230px minmax(0,1fr) 330px !important; gap: 0; }
html[data-theme="camp"] .shop-selected .shop-departments { padding: 24px 16px; border-right: 1px solid var(--camp-line); background: #eff1e7 !important; color: var(--camp-body); }
html[data-theme="camp"] .shop-selected :is(.shop-search,.shop-sidebar-reset-card,.shop-safe-card) { padding: 14px; border: 1px solid #d6dccb; border-radius: 12px; background: var(--camp-card) !important; box-shadow: none; color: var(--camp-green); }
html[data-theme="camp"] .shop-selected .shop-search { padding: 0 10px; }
html[data-theme="camp"] .shop-selected .shop-search input { min-width: 0; border: 0 !important; background: none !important; font-size: 14px !important; padding: 10px 0; }
html[data-theme="camp"] .shop-selected .shop-sidebar-reset-card { gap: 10px; margin: 16px 0 22px; }
html[data-theme="camp"] .shop-selected .shop-sidebar-reset-card strong { color: var(--camp-ink); font: 800 25px/1.3 "Manrope",sans-serif; font-variant-numeric: tabular-nums; }
html[data-theme="camp"] .shop-selected :is(.shop-sidebar-reset-card span,.shop-department-heading,.shop-safe-card strong) { color: #4e6944; font: 750 11px/1.5 var(--font); letter-spacing: .03em; }
html[data-theme="camp"] .shop-selected .shop-safe-card p { color: var(--camp-muted); font: 400 13px/1.6 var(--font); }
html[data-theme="camp"] .shop-selected :is(.shop-category-tabs button,.shop-tabs button,.shop-department-button) { min-height: 48px; padding: 11px 12px; border: 0; border-radius: 9px; background: transparent; color: var(--camp-body); font: 650 13px/1.4 var(--font); letter-spacing: 0; }
html[data-theme="camp"] .shop-selected :is(.shop-category-tabs button,.shop-tabs button) :is(span,strong,small) { color: inherit; font: inherit; }
html[data-theme="camp"] .shop-selected :is(.shop-category-tabs button,.shop-tabs button).active { background: #dce7d2 !important; color: #1e502f !important; border: 0; box-shadow: none; }
html[data-theme="camp"] .shop-selected :is(.shop-category-tabs button,.shop-tabs button):hover { background: #e4eadc; }
html[data-theme="camp"] .shop-selected :is(.shop-category-count,.shop-department-count,.shop-tab-count) { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 5px; border-radius: 20px; background: #d9e2cd; color: #32533b; font: 700 11px/1 var(--font); }
html[data-theme="camp"] .shop-selected .shop-market { padding: 24px; }
html[data-theme="camp"] .shop-selected .shop-store-hero { min-height: 240px; margin: 0 0 24px; border: 1px solid #d6ddc9; border-radius: 16px; background: #e7eddc !important; color: var(--camp-ink); overflow: hidden; }
html[data-theme="camp"] .shop-selected .shop-store-hero::before, html[data-theme="camp"] .shop-selected .shop-store-hero::after { display: none; }
html[data-theme="camp"] .shop-selected .shop-hero-copy { padding: 28px; background: none; }
html[data-theme="camp"] .shop-selected .shop-hero-copy h2 { color: var(--camp-ink); font-size: clamp(26px,2.5vw,42px); }
html[data-theme="camp"] .shop-selected .shop-hero-copy :is(p,span) { color: #49633f; }
html[data-theme="camp"] .shop-selected .shop-hero-copy p { font-size: 15px; line-height: 1.55; }
html[data-theme="camp"] .shop-selected .shop-feature { border: 0; background: none; box-shadow: none; }
html[data-theme="camp"] .shop-selected .shop-feature-copy { background: none; color: var(--camp-ink); padding: 24px; }
html[data-theme="camp"] .shop-selected .shop-feature-copy :is(h3,h4,p,strong,span) { color: inherit; }
html[data-theme="camp"] .shop-selected .shop-feature-copy h3 { font-size: clamp(25px,2.1vw,37px); }
html[data-theme="camp"] .shop-selected .shop-feature-copy p { color: #53654b; font-size: 15px; }
html[data-theme="camp"] .shop-selected .shop-feature-art { border-radius: 14px; }
html[data-theme="camp"] .shop-selected .shop-stock-header { padding: 5px 0 22px; gap: 15px; min-height: 110px; align-items: center; }
html[data-theme="camp"] .shop-selected .shop-stock-header h3 { color: var(--camp-ink); font-size: clamp(24px,2.2vw,35px); }
html[data-theme="camp"] .shop-selected :is(.shop-stock-eyebrow,.shop-stock-updated,.shop-stock-description,.shop-rotation-name) { color: #647359; font-size: 12px; line-height: 1.5; transform: none; border: 0; }
html[data-theme="camp"] .shop-selected .shop-stock-tools { gap: 8px; }
html[data-theme="camp"] .shop-selected .shop-stock-tools select { font-size: 12px !important; padding: 8px 30px 8px 12px; min-height: 42px; }
html[data-theme="camp"] .shop-selected #shopResultsSummary { padding: 0; border: 0; background: none; color: #586a4d; font: 650 12px/1.5 var(--font); }
html[data-theme="camp"] .shop-selected :is(.shop-catalog,.shop-mixed-catalog,.shop-department-catalog) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; padding: 0; }
html[data-theme="camp"] .shop-selected .shop-item-card { min-width: 0; border: 1px solid #dce0d3; border-radius: 14px; background: var(--camp-card) !important; color: var(--camp-body); box-shadow: 0 3px 12px #314b2707; overflow: hidden; }
html[data-theme="camp"] .shop-selected .shop-item-card.selected { border-color: #3f7950; box-shadow: 0 0 0 2px #bed2ad; }
html[data-theme="camp"] .shop-selected .shop-item-icon { height: auto; min-height: 0; aspect-ratio: 1.5; border: 0; background: #e8ecdf; }
html[data-theme="camp"] .shop-selected .shop-item-art { width: 100%; height: 100%; object-fit: cover; filter: none; }
html[data-theme="camp"] .shop-selected .shop-product-art-trigger { width: 100%; height: 100%; padding: 0; }
html[data-theme="camp"] .shop-selected .shop-item-badges { top: 10px; left: 10px; }
html[data-theme="camp"] .shop-selected :is(.shop-item-tier,.shop-mod-badge) { padding: 5px 7px; border: 0; border-radius: 6px; background: #fffef9ed; color: #244c34; font: 750 10px/1.3 var(--font); }
html[data-theme="camp"] .shop-selected .shop-item-copy { padding: 16px 14px 8px; }
html[data-theme="camp"] .shop-selected .shop-item-title h3 { color: var(--camp-ink); font-size: clamp(17px,1.18vw,23px); line-height: 1.3 !important; }
html[data-theme="camp"] .shop-selected .shop-item-copy > p { color: #5a6955; font-size: 15px; line-height: 1.55; }
html[data-theme="camp"] .shop-selected :is(.shop-item-assurance,.shop-item-meta,.shop-item-specification,.shop-bundle-contents,.shop-bundle-summary) { color: #546a4b; border-color: #dee3d6; background: #f1f4e9; font-size: 11px; line-height: 1.5; }
html[data-theme="camp"] .shop-selected .shop-item-meta { padding: 6px 0; background: none; }
html[data-theme="camp"] .shop-selected .shop-item-price-row { border-color: #e0e4d7; padding: 8px 14px; background: none; }
html[data-theme="camp"] .shop-selected .shop-item-price-row > strong { color: var(--camp-ink); background: none; font: 800 18px/1.4 "Manrope",sans-serif; padding: 0; transform: none; box-shadow: none; }
html[data-theme="camp"] .shop-selected .shop-item-price-row > span { color: #6a745e; font-size: 10px; }
html[data-theme="camp"] .shop-selected .shop-item-card > button { min-height: 42px; margin: 6px 14px 14px; width: calc(100% - 28px); border: 0; border-radius: 8px; background: var(--camp-green) !important; color: #fff !important; font: 700 12px/1.4 var(--font); box-shadow: none; }
html[data-theme="camp"] .shop-selected .shop-item-card > button:disabled { background: #e3e7d9 !important; color: #617055 !important; opacity: 1; }
html[data-theme="camp"] .shop-selected .shop-item-card > button :is(span,i) { color: inherit; border: 0 !important; }
html[data-theme="camp"] .shop-selected .shop-pagination button { min-height: 44px; border: 1px solid #d2d9c5; border-radius: 9px; background: #fffef9; color: #365631; font: 600 13px var(--font); }
html[data-theme="camp"] .shop-selected .shop-pagination button.active { background: #285c40; color: #fff; }
html[data-theme="camp"] .shop-selected .shop-receipt { position: relative; top: 0; align-self: stretch; margin: 0; padding: 25px 22px; border: 0; border-left: 1px solid var(--camp-line); border-radius: 0; background: #faf9f3 !important; color: var(--camp-body); box-shadow: none; clip-path: none; }
html[data-theme="camp"] .shop-selected .shop-receipt::before, html[data-theme="camp"] .shop-selected .shop-receipt::after, html[data-theme="camp"] .shop-receipt-stamp { display: none; }
html[data-theme="camp"] .shop-selected .shop-receipt-heading { padding: 0 0 18px; border-bottom: 1px solid var(--camp-line); color: var(--camp-ink); gap: 12px; }
html[data-theme="camp"] .shop-selected .shop-receipt-heading h2 { margin: 4px 0 0; font-size: 23px; }
html[data-theme="camp"] .shop-selected .shop-receipt-heading > i { font-size: 28px; color: #476d42; }
html[data-theme="camp"] .shop-selected .shop-receipt :is(.shop-receipt-section-label,.shop-receipt-heading span,.shop-account-copy > span,.shop-wallet > span,.shop-account-rank > span,.shop-cart-heading,.shop-receipt-stock span) { font: 750 11px/1.5 var(--font); color: #5d7152; letter-spacing: .035em; }
html[data-theme="camp"] .shop-selected .shop-account-card { padding: 14px 0; border: 0; border-bottom: 1px solid var(--camp-line); border-radius: 0; background: none; box-shadow: none; }
html[data-theme="camp"] .shop-selected .shop-account-copy h3 { color: var(--camp-ink); font-size: 21px; }
html[data-theme="camp"] .shop-selected .shop-account-copy p { color: #626f59; font-size: 13px; line-height: 1.6; }
html[data-theme="camp"] .shop-selected .shop-presence { color: #6a745a; font: 650 11px/1.6 var(--font); white-space: normal; }
html[data-theme="camp"] .shop-selected .shop-presence[data-state="offline"] { color: #975435; }
html[data-theme="camp"] .shop-selected .shop-presence span { overflow: visible; white-space: normal; }
html[data-theme="camp"] .shop-selected .shop-wallet { padding: 18px 0; border: 0; background: none; text-align: left; }
html[data-theme="camp"] .shop-selected .shop-wallet > strong { justify-content: flex-start; color: var(--camp-ink); font: 800 34px/1.3 "Manrope",sans-serif; }
html[data-theme="camp"] .shop-selected .shop-wallet p { color: #69735c; font-size: 12px; }
html[data-theme="camp"] .shop-selected .shop-account-rank { width: 100%; padding: 14px; border: 1px solid #d8e1cb; border-radius: 12px; background: #edf2e4; text-align: left; color: #355b35; }
html[data-theme="camp"] .shop-selected .shop-account-rank strong { color: var(--camp-ink); font: 750 15px/1.4 var(--font); }
html[data-theme="camp"] .shop-selected .shop-account-rank :is(p,small) { color: #5b7050; font: 600 10px/1.5 var(--font); }
html[data-theme="camp"] .shop-selected .shop-receipt-stock { padding: 18px 0; border-color: var(--camp-line); }
html[data-theme="camp"] .shop-selected .shop-receipt-stock strong { color: #345c38; font: 750 15px/1.5 var(--font); }
html[data-theme="camp"] .shop-selected .shop-receipt-selection { padding: 18px 0; border-color: var(--camp-line); }
html[data-theme="camp"] .shop-selected :is(.shop-receipt-empty,.shop-cart-line,.shop-receipt-delivery) { border: 1px solid #d9dece; border-radius: 10px; background: #f3f4eb; color: #586b50; }
html[data-theme="camp"] .shop-selected .shop-receipt-empty { padding: 25px 16px; }
html[data-theme="camp"] .shop-selected .shop-receipt-empty strong { font: 750 14px/1.5 var(--font); }
html[data-theme="camp"] .shop-selected .shop-receipt-empty p { font: 400 13px/1.6 var(--font); }
html[data-theme="camp"] .shop-selected .shop-cart-line { padding: 12px; }
html[data-theme="camp"] .shop-selected .shop-cart-line h3 { font-size: 15px; }
html[data-theme="camp"] .shop-selected .shop-cart-line :is(p,span) { font-size: 12px; }
html[data-theme="camp"] .shop-selected :is(.shop-cart-quantity button,.shop-cart-remove) { min-width: 32px; min-height: 32px; border-radius: 7px; border: 1px solid #cbd6bd; background: #fffef9; color: #355a36; }
html[data-theme="camp"] .shop-selected .shop-receipt-checkout { min-height: 48px; border: 0; border-radius: 10px; background: #22573e; color: #fff; box-shadow: none; font: 750 13px/1.4 var(--font); }
html[data-theme="camp"] .shop-selected .shop-receipt-checkout:disabled { background: #e0e6d5; color: #647258; opacity: 1; }
html[data-theme="camp"] .shop-selected .shop-receipt-code { opacity: .55; padding-top: 20px; }
html[data-theme="camp"] .shop-selected .shop-receipt-code img { max-height: 40px; mix-blend-mode: multiply; }
html[data-theme="camp"] .shop-selected .shop-receipt-code span { color: #6f775f; font-size: 9px; }
html[data-theme="camp"] .shop-selected :is(.shop-inventory-item,.shop-activity-row,.shop-activity-head,.shop-empty) { border-color: var(--camp-line); border-radius: 12px; background: var(--camp-card); color: var(--camp-body); padding: 22px; }
html[data-theme="camp"] .shop-selected :is(.shop-inventory-item,.shop-activity-row) :is(strong,p,small,span) { color: inherit; }

/* Quests — three readable objectives, neutral history and forest progress. */
html[data-theme="camp"] :is(.quest-guest,.quest-family-list,.quest-profile-strip,.quest-board,.quest-history,.quest-history-day,.quest-card,.quest-set-bonus) { border: 1px solid var(--camp-line); border-radius: 16px; background: var(--camp-card) !important; box-shadow: none; color: var(--camp-body); }
html[data-theme="camp"] .quest-guest { margin-top: 20px; }
html[data-theme="camp"] .quest-guest-art { background: url('/assets/camp-commons/quests-clipboard-20260905.webp') center/contain no-repeat; border: 0; }
html[data-theme="camp"] .quest-guest-art i { visibility: hidden; }
html[data-theme="camp"] .quest-guest h2 { font-size: clamp(25px,2.5vw,42px); }
html[data-theme="camp"] .quest-guest p { color: var(--camp-muted); font-size: 16px; }
html[data-theme="camp"] .quest-family-list li { color: var(--camp-body); border-color: var(--camp-line); font-size: 14px; }
html[data-theme="camp"] .quest-profile-strip { margin: 4px 0; }
html[data-theme="camp"] .quest-profile-strip > div { border-color: var(--camp-line); }
html[data-theme="camp"] .quest-profile-strip strong { font: 750 24px/1.4 "Manrope",sans-serif; color: var(--camp-ink); }
html[data-theme="camp"] .quest-profile-strip :is(small,span) { color: #5f7354; font-size: 12px; }
html[data-theme="camp"] :is(.quest-board,.quest-history) > header { border-color: var(--camp-line); background: none; }
html[data-theme="camp"] :is(.quest-board,.quest-history) h2 { font-size: 26px; }
html[data-theme="camp"] :is(.quest-board,.quest-history) > header :is(p,span) { color: var(--camp-muted); font-size: 13px; }
html[data-theme="camp"] .quest-card-grid { padding: 20px; gap: 20px; background: none; }
html[data-theme="camp"] .quest-card { min-height: 390px; padding: 24px; }
html[data-theme="camp"] .quest-card h3 { font-size: 25px; }
html[data-theme="camp"] .quest-card-description { color: #566b4d; font-size: 16px; }
html[data-theme="camp"] .quest-card.completed { background: #edf4e4 !important; }
html[data-theme="camp"] .quest-card[data-difficulty="easy"] { --difficulty-color: #3f723c; }
html[data-theme="camp"] .quest-card[data-difficulty="medium"] { --difficulty-color: #8c661f; }
html[data-theme="camp"] .quest-card[data-difficulty="hard"] { --difficulty-color: #a94d30; }
html[data-theme="camp"] .quest-card-reward { color: #906326; font: 750 22px/1.4 "Manrope",sans-serif; }
html[data-theme="camp"] .quest-card-icon { background: #e9efdf; border: 0; border-radius: 12px; color: #396738; }
html[data-theme="camp"] :is(.quest-progress,.quest-bonus-progress) strong { color: var(--camp-ink); font-family: "Manrope",sans-serif; }
html[data-theme="camp"] .quest-requirements span { color: #5c7052; border-color: #d6dfcb; background: #f2f5ec; font-size: 12px; }
html[data-theme="camp"] .quest-set-bonus { background: #e8efdb !important; }
html[data-theme="camp"] .quest-set-bonus h2 { font-size: 29px; }
html[data-theme="camp"] .quest-set-bonus p { color: #566b49; font-size: 15px; }
html[data-theme="camp"] .quest-complete-stamp { color: #356c37; }

/* Support: spacious list/detail layout and clearly distinct public/internal states. */
html[data-theme="camp"] :is(.ticket-signed-out,.ticket-console,.ticket-console-head,.ticket-list-panel,.ticket-detail-panel,.ticket-detail-head,.ticket-thread,.ticket-composer,.ticket-create-dialog,.ticket-reopen-dialog) { background: var(--camp-card) !important; border-color: var(--camp-line); color: var(--camp-body); box-shadow: none; }
html[data-theme="camp"] .ticket-signed-out { margin-top: 22px; border-radius: 16px; }
html[data-theme="camp"] .ticket-console { margin-top: 24px; border: 1px solid var(--camp-line); border-radius: 16px; overflow: hidden; }
html[data-theme="camp"] .ticket-console-head { padding: 24px; }
html[data-theme="camp"] :is(.ticket-stat,.ticket-summary-card,.ticket-status-summary,.ticket-account-summary,.ticket-hero-aside) { background: #f7f8f1 !important; color: #355837; border-color: var(--camp-line); border-radius: 12px; box-shadow: none; }
html[data-theme="camp"] :is(.ticket-filter-chips,.ticket-quick-filters) button { border: 1px solid #d3dbc7; border-radius: 9px; background: #f7f8f0; color: #547047; padding: 10px 15px; font-size: 14px; min-height: 44px; }
html[data-theme="camp"] :is(.ticket-filter-chips,.ticket-quick-filters) button.active, html[data-theme="camp"] :is(.ticket-filter-chips,.ticket-quick-filters) button[aria-pressed="true"] { background: #245b3f; color: #fff; }
html[data-theme="camp"] :is(.ticket-list-head,.ticket-detail-head) { border-color: var(--camp-line); padding: 22px; background: #f4f6ec !important; }
html[data-theme="camp"] .ticket-list-panel { border-right: 1px solid var(--camp-line); }
html[data-theme="camp"] :is(.ticket-row,.ticket-list-item) { padding: 22px; border-color: var(--camp-line); background: var(--camp-card); color: var(--camp-body); }
html[data-theme="camp"] :is(.ticket-row,.ticket-list-item).active { background: #edf2e4; box-shadow: inset 4px 0 #41754a; }
html[data-theme="camp"] :is(.ticket-row,.ticket-list-item) h3 { font-size: 21px; }
html[data-theme="camp"] :is(.ticket-row,.ticket-list-item) :is(p,small,time,span) { color: #5d7051; line-height: 1.55; }
html[data-theme="camp"] .ticket-detail-head h2 { font-size: clamp(23px,2vw,33px); }
html[data-theme="camp"] :is(.ticket-message,.ticket-message-card) { padding: 20px; border: 1px solid #dce2d2; border-radius: 13px; background: #f5f6ee; color: var(--camp-body); }
html[data-theme="camp"] .ticket-message[data-author="admin"], html[data-theme="camp"] .ticket-message.admin { background: #edf4e5; border-color: #cddfc0; }
html[data-theme="camp"] .ticket-message :is(p,span,strong,time) { color: inherit; }
html[data-theme="camp"] .ticket-message p { font-size: 16px; line-height: 1.7; }
html[data-theme="camp"] .ticket-message header { color: #657858; font-size: 12px; }
html[data-theme="camp"] .ticket-composer { padding: 22px; border-top: 1px solid var(--camp-line); }
html[data-theme="camp"] .ticket-composer textarea { padding: 15px; min-height: 130px; }
html[data-theme="camp"] :is(.ticket-empty,.ticket-detail-empty,.ticket-list-empty,.ticket-closed-actions) { color: #607454; background: #f5f7ee; border-color: #d9e0ce; border-radius: 12px; }

/* Ranking / records / legacy — the same calm table and dossier system. */
html[data-theme="camp"] :is(.legacy-tabs,.legacy-filters,.ranking-table-section,.ranking-podium-card,.legacy-summary,.legacy-stat,.legacy-record-card,.legacy-timeline,.legacy-current-card,.legacy-history-card,.legacy-login-card,.legacy-profile,.legacy-achievement,.legacy-metric-card,.legacy-record-leader,.legacy-personal-summary) { border-color: var(--camp-line); border-radius: 14px; background: var(--camp-card) !important; color: var(--camp-body); box-shadow: none; }
html[data-theme="camp"] .legacy-tabs { margin: 24px 0; padding: 8px; border: 1px solid var(--camp-line); background: #e9eedf !important; gap: 8px; }
html[data-theme="camp"] .legacy-tabs button { min-height: 48px; border: 0; border-radius: 9px; padding: 12px 18px; background: none; color: #537047; font: 700 14px/1.4 var(--font); }
html[data-theme="camp"] .legacy-tabs button[aria-selected="true"] { background: var(--camp-card); color: #215739; box-shadow: 0 2px 5px #233d2110; }
html[data-theme="camp"] .legacy-tabs button::after { display: none; }
html[data-theme="camp"] .ranking-section-heading :is(span,p), html[data-theme="camp"] .ranking-table-section > header span { color: #60724f; font-size: 13px; }
html[data-theme="camp"] .ranking-section-heading h2, html[data-theme="camp"] .ranking-table-section > header h2 { font-size: 29px; color: var(--camp-ink); }
html[data-theme="camp"] .ranking-podium { gap: 20px; }
html[data-theme="camp"] .ranking-podium-card { border: 1px solid #dce2d0; }
html[data-theme="camp"] .ranking-podium-card[data-position="1"] { background: #edf3e2 !important; border-color: #a8c28d; box-shadow: none; }
html[data-theme="camp"] .ranking-podium-position { border: 0; background: #e5ecd9; color: #366335; font: 750 17px/1 var(--font); }
html[data-theme="camp"] .ranking-avatar { background: #e0e9d4; border-color: #afc894; color: #4b773e; box-shadow: none; }
html[data-theme="camp"] .ranking-podium-card h3 { font-size: clamp(24px,2.1vw,34px); color: var(--camp-ink); }
html[data-theme="camp"] .ranking-podium-card p { color: #42713c; font: 750 23px/1.4 "Manrope",sans-serif; }
html[data-theme="camp"] .ranking-podium-card small { color: #617852; font: 600 12px/1.5 var(--font); }
html[data-theme="camp"] .ranking-table-head { background: #f1f4e9; color: #59704b; border-color: #dce3cf; font-size: 12px; }
html[data-theme="camp"] .ranking-row { border-color: #e1e6d8; }
html[data-theme="camp"] .ranking-row:hover { background: #f1f5e7; }
html[data-theme="camp"] .ranking-row :is(strong,span) { color: var(--camp-body); }
html[data-theme="camp"] .ranking-row-position, html[data-theme="camp"] .ranking-row-time { color: #336534; font-family: "Manrope",sans-serif; font-size: 22px; }
html[data-theme="camp"] .ranking-row-player span { color: #61764f; font-size: 12px; }
html[data-theme="camp"] :is(.legacy-metrics,.legacy-records,.legacy-timeline,.legacy-achievements) :is(article,li) { background: #fffef9; border-color: #dce3d0; color: var(--camp-body); border-radius: 12px; }
html[data-theme="camp"] .legacy-filters { padding: 18px; border: 1px solid var(--camp-line); }
html[data-theme="camp"] :is(.ranking-empty,.ranking-loading,.legacy-empty) { color: var(--camp-muted); }

/* Mods and legal pages share the same shell, search and readable document surface. */
html[data-theme="camp"] .mod-library { inset: 0; width: 100%; height: 100%; max-height: none; max-width: none; }
html[data-theme="camp"] .mod-library-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-bottom: 14px; padding: 24px; border: 1px solid var(--camp-line); border-radius: 14px; background: var(--camp-card); color: var(--camp-ink); }
html[data-theme="camp"] .mod-library-toolbar > div { flex: 1; min-width: 220px; background: none; border: 0; }
html[data-theme="camp"] .mod-library-toolbar input { width: 100%; padding: 12px 14px; }
html[data-theme="camp"] .mod-library-note { color: var(--camp-muted); font-size: 15px; margin: 12px 0 24px; }
html[data-theme="camp"] :is(.mod-library-card,.mod-library-item,.mod-card,.mod-library-list a) { border: 1px solid var(--camp-line); border-radius: 14px; background: var(--camp-card); color: var(--camp-body); overflow: hidden; box-shadow: none; }
html[data-theme="camp"] :is(.mod-library-card,.mod-library-item,.mod-library-list a) :is(strong,span,p,small) { color: inherit; }
html[data-theme="camp"] .legal-hero { margin-bottom: 22px; }
html[data-theme="camp"] :is(.legal-summary,.legal-index,.legal-article,.legal-section,.legal-callout,.legal-contact,.legal-summary-card) { border-color: var(--camp-line); border-radius: 14px; background: var(--camp-card) !important; color: var(--camp-body); box-shadow: none; }
html[data-theme="camp"] .legal-article { padding: clamp(24px,3vw,48px); }
html[data-theme="camp"] .legal-article :is(p,li) { color: #465e40; font: 400 clamp(16px,1.1vw,18px)/1.8 var(--font); }
html[data-theme="camp"] .legal-article h2 { margin-top: 30px; font-size: 27px; }
html[data-theme="camp"] .legal-index a { color: #315e36; font-size: 15px; }
html[data-theme="camp"] .legal-summary :is(strong,p,span) { color: var(--camp-body); }

/* Admin: distinct workspace, shared visual language. Existing safety review is unchanged. */
html[data-theme="camp"] #adminWorkspace { --admin-small: 14px; --admin-body: 16px; }
html[data-theme="camp"] #adminWorkspace .admin-header { grid-template-columns: minmax(180px,1fr) auto !important; grid-template-rows: auto !important; height: 94px !important; }
html[data-theme="camp"] #adminWorkspace .admin-header-actions { grid-column: 2 !important; }
html[data-theme="camp"] #adminWorkspace .admin-session { display: none; }
html[data-theme="camp"] #adminWorkspace .admin-layout { grid-template-columns: 245px minmax(0,1fr); background: var(--camp-bg); }
html[data-theme="camp"] #adminWorkspace .admin-nav { padding: 22px 16px; border-right: 1px solid var(--camp-line); background: #e9eee0; }
html[data-theme="camp"] #adminWorkspace .admin-nav-button { display: flex; align-items: center; gap: 12px; min-height: 70px; padding: 14px; margin: 0 0 6px; border: 0; border-radius: 12px; background: none; box-shadow: none; color: #3c5939; }
html[data-theme="camp"] #adminWorkspace .admin-nav-button.active { background: #22573e; color: #fff; box-shadow: 0 5px 12px #29432713; }
html[data-theme="camp"] #adminWorkspace .admin-nav-button > i { color: inherit; font-size: 22px; }
html[data-theme="camp"] #adminWorkspace .admin-nav-button small { color: #68785b; font: 500 10px/1.5 var(--font); }
html[data-theme="camp"] #adminWorkspace .admin-nav-button strong { color: inherit; font: 750 15px/1.5 var(--font); letter-spacing: 0; }
html[data-theme="camp"] #adminWorkspace .admin-nav-button.active small { color: #ccdfc0; }
html[data-theme="camp"] #adminWorkspace .admin-stage { background: var(--camp-bg); }
html[data-theme="camp"] #adminWorkspace .admin-stage-head { min-height: 126px; padding: 28px 32px; border: 0; border-bottom: 1px solid var(--camp-line); background: #f1f4e9; box-shadow: none; color: var(--camp-body); }
html[data-theme="camp"] #adminWorkspace .admin-stage-head h3 { color: var(--camp-ink); font-size: 32px; }
html[data-theme="camp"] #adminWorkspace .admin-stage-head :is(p,span) { color: #637951; font: 600 12px/1.5 var(--font); letter-spacing: .03em; }
html[data-theme="camp"] #adminWorkspace .admin-view { padding: 26px 32px 40px; }
html[data-theme="camp"] #adminWorkspace :is(.admin-card,.admin-overview-summary article,.admin-ticket-dashboard,.admin-ticket-metrics article,.admin-ticket-list,.admin-ticket-detail,.admin-ticket-toolbar,.admin-ticket-controls,.admin-ticket-composer,.admin-ticket-detail-head,.admin-ticket-row,.admin-ticket-thread,.control-status-card,.restart-summary-card,.backup-item,.backup-summary,.operation-stat,.settings-edit-note) { border-color: var(--camp-line); border-radius: 14px; background: var(--camp-card) !important; box-shadow: none; color: var(--camp-body); }
html[data-theme="camp"] #adminWorkspace .admin-card { overflow: hidden; }
html[data-theme="camp"] #adminWorkspace .admin-card-head { padding: 22px; border-color: var(--camp-line); background: #f7f8f0; color: var(--camp-body); }
html[data-theme="camp"] #adminWorkspace .admin-card-head h4 { color: var(--camp-ink); font-size: 24px; }
html[data-theme="camp"] #adminWorkspace .admin-overview-summary article { padding: 22px; }
html[data-theme="camp"] #adminWorkspace .admin-overview-summary article > strong { color: #2c633b; font: 800 33px/1.3 "Manrope",sans-serif; }
html[data-theme="camp"] #adminWorkspace :is(.admin-overview-summary article span,.admin-overview-summary article p,.admin-card-head span,.admin-health-list p,.account-identity small,.account-access small,.account-survivor-rank,.account-state,.control-safety,.control-field small,.log-level,.log-message,.event-row time,.event-row p) { color: #5c7150; }
html[data-theme="camp"] #adminWorkspace :is(.admin-chart-legend,.admin-chart-frame,.admin-chart-times,.admin-health-list,.admin-health-list li) { background: var(--camp-card); border-color: var(--camp-line); color: var(--camp-body); }
html[data-theme="camp"] #adminWorkspace .admin-chart-legend button { border-color: #d6dfcb; border-radius: 8px; background: #f4f7ed; color: #325838; }
html[data-theme="camp"] #adminWorkspace .admin-chart-legend :is(strong,b) { color: #365735; }
html[data-theme="camp"] #adminWorkspace :is(.admin-table,.admin-table td,.admin-table th,.setting-row,.shop-log-row,.update-event-row,.admin-audit-row,.event-row,.log-row) { border-color: #dfe5d6; background: transparent; color: var(--camp-body); }
html[data-theme="camp"] #adminWorkspace .admin-table th { background: #f0f4e7; color: #58704a; font-size: 12px; }
html[data-theme="camp"] #adminWorkspace :is(.account-balance,.account-row-actions button,.setting-edit-button,.account-subtabs button,.log-subtabs button,.control-actions button,.backup-actions button,.admin-ticket-toolbar button,.admin-ticket-compose-mode button) { min-height: 42px; border: 1px solid #cbd8bf; border-radius: 8px; background: #f2f6e9; color: #365e35; box-shadow: none; }
html[data-theme="camp"] #adminWorkspace :is(.account-subtabs button,.log-subtabs button).active { background: #255d40; color: white; }
html[data-theme="camp"] #adminWorkspace .account-balance strong { color: #356337; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-metrics { margin: 0 0 18px; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-metrics strong { color: #315f35; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-row { border: 0; border-radius: 0; border-bottom: 1px solid var(--camp-line); }
html[data-theme="camp"] #adminWorkspace .admin-ticket-row.active { background: #eaf2df !important; box-shadow: inset 4px 0 #4c7f48; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-row h4 { color: #254e30; font-size: 21px; }
html[data-theme="camp"] #adminWorkspace :is(.admin-ticket-row p,.admin-ticket-row header,.admin-ticket-row footer,.admin-ticket-detail-head p,.admin-ticket-message header,.admin-ticket-event-log,.admin-ticket-toolbar label,.admin-ticket-controls label,.admin-ticket-save-row,.admin-ticket-composer label,#adminTicketAudience,.admin-ticket-filter-status) { color: #57734b; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-detail-head h4 { color: #204c2f; font-size: 27px; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-message { border: 1px solid #d5dfc9; border-radius: 12px; background: #eff5e7; color: #395b37; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-message p { color: #395b37; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-message[data-private="true"], html[data-theme="camp"] #adminWorkspace .admin-ticket-message.internal { background: #fbf0d9; border-color: #dfc68d; color: #725729; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-compose-mode button[aria-pressed="true"] { background: #245a3c; color: white; border-color: #245a3c; box-shadow: none; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-composer[data-mode="note"] .admin-ticket-compose-mode button[aria-pressed="true"] { background: #855e26; border-color: #855e26; color: white; box-shadow: none; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-controls button { background: #275e3e; color: white; border-radius: 9px; border: 0; }
html[data-theme="camp"] #adminWorkspace :is(.admin-ticket-event-log,.admin-ticket-compose-mode,.admin-ticket-save-row) { border-color: var(--camp-line); background: none; }

/* Authentication and every dialog use comfortable, consistent light surfaces. */
html[data-theme="camp"] .login-layer { background: #eff2e7 !important; }
html[data-theme="camp"] .login-stage { padding: clamp(20px,3vw,50px); }
html[data-theme="camp"] .login-dialog { width: min(1260px,100%); max-width: none; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); border: 1px solid #d0dbc3; border-radius: 22px; background: #fffef9; box-shadow: 0 18px 60px #233c2420; overflow: hidden; }
html[data-theme="camp"] .login-visual { background: url('/assets/camp-commons/hero-daylight-20260905.webp') 78% center / cover; }
html[data-theme="camp"] .login-visual::before { background: linear-gradient(0deg,#173d2ef2,transparent 85%); }
html[data-theme="camp"] .login-visual :is(h1,h2,strong,p,span) { color: #fff; }
html[data-theme="camp"] .login-panel { padding: clamp(26px,3.5vw,58px); background: #fffef9; color: var(--camp-body); }
html[data-theme="camp"] .login-panel :is(h1,h2) { color: var(--camp-ink); font-size: clamp(28px,2.8vw,44px); }
html[data-theme="camp"] .login-panel :is(p,label,span,small) { color: #5c7150; line-height: 1.6; }
html[data-theme="camp"] .login-panel input { padding: 14px 16px; min-height: 52px !important; }
html[data-theme="camp"] .login-panel :is(.login-field,.login-method-divider,.steam-account-choice,.login-note,.steam-login-note,.steam-connect-panel) { border-color: #d2ddc6; background: transparent; color: #587348; }
html[data-theme="camp"] dialog, html[data-theme="camp"] :is(.purchase-dialog,.site-session-panel,.shop-tier-dialog,.shop-mod-detail-dialog,.legacy-dossier,.ticket-create-dialog,.ticket-reopen-dialog,.admin-action-dialog) { border: 1px solid #d2dcc6; border-radius: 20px; background: #fffef9 !important; color: var(--camp-body); box-shadow: 0 20px 80px #102d2633; }
html[data-theme="camp"] dialog::backdrop { background: #173d2e88; backdrop-filter: blur(5px); }
html[data-theme="camp"] dialog :is(header,footer,section,.shop-personal-tier,.shop-rank-system,.shop-rank-rewards,.shop-rank-card,.shop-rank-progress,.shop-mod-detail-copy,.shop-mod-detail-facts,.shop-mod-detail-delivery,.site-session-details,.site-session-note,.admin-action-target-card,.config-setting-card,.legacy-dossier-grid,.legacy-dossier-hero) { background-color: transparent; background-image: none; border-color: #d8e1cd; color: var(--camp-body); box-shadow: none; }
html[data-theme="camp"] dialog :is(h2,h3,h4) { color: var(--camp-ink); }
html[data-theme="camp"] dialog h2 { font-size: clamp(25px,2.5vw,39px); }
html[data-theme="camp"] dialog h3 { font-size: 24px; }
html[data-theme="camp"] dialog :is(p,small,label,dt,dd,span) { color: #516d46; line-height: 1.6; }
html[data-theme="camp"] dialog :is(p,label) { font-size: 16px; }
html[data-theme="camp"] .shop-rank-card { border-radius: 12px; border-color: #d2dec3; background: #f4f7ec; }
html[data-theme="camp"] .shop-rank-card.current { background: #e6f0db; border-color: #8eb77a; }
html[data-theme="camp"] .shop-rank-card :is(strong,span,small,p) { color: #44683d; }
html[data-theme="camp"] .site-session-avatar { background: #e3edd9; color: #4a743d; }
/* Profile details must not inherit the legacy dark cards or clipped values. */
html[data-theme="camp"] .site-session-dialog { max-height: calc(100dvh - 28px); overflow-y: auto; padding: 0; }
html[data-theme="camp"] .site-session-panel { padding: 30px; border: 0; border-radius: 0; }
html[data-theme="camp"] .site-session-profile { grid-template-columns: 64px minmax(0,1fr); gap: 16px; padding-right: 48px; }
html[data-theme="camp"] .site-session-close { width: 44px; height: 44px; border-radius: 10px; }
html[data-theme="camp"] .site-session-avatar { width: 64px; height: 64px; border-color: #cad9be; }
html[data-theme="camp"] .site-session-profile p { margin-bottom: 6px; color: #516d46; font-size: 11px; line-height: 1.5; letter-spacing: .09em; }
html[data-theme="camp"] .site-session-profile h2 { font-size: 26px; }
html[data-theme="camp"] .site-session-profile strong { color: var(--camp-body); }
html[data-theme="camp"] .site-session-details { gap: 12px; margin-top: 24px; }
html[data-theme="camp"] .site-session-details > div { grid-template-columns: 24px minmax(0,1fr); align-content: start; gap: 6px 10px; padding: 16px; border: 1px solid #d6e0cb; border-radius: 12px; background: #f0f5e9; }
html[data-theme="camp"] .site-session-details i { align-self: start; color: #416d3e; }
html[data-theme="camp"] .site-session-details span { color: #516d46; font-size: 11px; line-height: 1.5; letter-spacing: .04em; }
html[data-theme="camp"] .site-session-details strong { overflow: visible; color: var(--camp-ink); font-size: 15px; line-height: 1.5; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
html[data-theme="camp"] .site-session-note { margin-top: 18px; padding: 0; border: 0; font-size: 14px; line-height: 1.65; }
html[data-theme="camp"] .site-session-note span { color: #516d46; line-height: inherit; }
html[data-theme="camp"] .site-session-note i { color: #516d46; }
html[data-theme="camp"] .site-session-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
html[data-theme="camp"] .site-session-actions button { flex: 1 1 200px; min-height: 48px; padding: 12px 16px; border-color: #c8d8bc; border-radius: 10px; background: #edf3e5; color: var(--camp-ink); font-size: 12px; line-height: 1.5; }
html[data-theme="camp"] .site-session-actions button span { color: inherit; line-height: inherit; }
@media(max-width:560px) {
  html[data-theme="camp"] .site-session-panel { padding: 24px 20px; }
  html[data-theme="camp"] .site-session-profile { grid-template-columns: 48px minmax(0,1fr); gap: 12px; padding-right: 48px; }
  html[data-theme="camp"] .site-session-avatar { width: 48px; height: 48px; font-size: 24px; }
  html[data-theme="camp"] .site-session-profile h2 { font-size: 22px; }
  html[data-theme="camp"] .site-session-details { grid-template-columns: minmax(0,1fr); gap: 10px; margin-top: 20px; }
  html[data-theme="camp"] .site-session-details > div { padding: 13px 14px; }
}
html[data-theme="camp"] :is(.toast,.toast-card,.site-toast) { border: 1px solid #aec497; border-radius: 14px; background: #fffef9 !important; color: #224f33 !important; box-shadow: 0 12px 40px #25452225; font: 550 16px/1.6 var(--font); }

/* Consistent buttons without overwriting icon-only controls or semantic danger. */
html[data-theme="camp"] :is(.quest-guest button,.quest-turnin-button,.ticket-primary,.ticket-primary-button,.ticket-create-button,.ticket-composer button[type="submit"],.ticket-signed-out button,.shop-login-button,.shop-feature-buy,.steam-login-button,.login-submit,.purchase-confirm,.admin-action-submit,.shop-mod-detail-buy,.ticket-submit,.ticket-new-button,.primary-button) { min-height: 46px; padding: 12px 20px; border: 0; border-radius: 10px; background: #22573e !important; color: #fff !important; box-shadow: none; font: 750 14px/1.4 var(--font); letter-spacing: 0; }
html[data-theme="camp"] :is(button.camp-action,.quest-guest button,.quest-turnin-button,.ticket-primary,.ticket-primary-button,.ticket-create-button,.ticket-composer button[type="submit"],.ticket-signed-out button,.shop-login-button,.shop-feature-buy,.steam-login-button,.login-submit,.purchase-confirm,.admin-action-submit,.shop-mod-detail-buy,.ticket-submit,.ticket-new-button,.primary-button) :is(span,strong,i) { color: inherit !important; }
html[data-theme="camp"] :is(.ticket-badge,.ticket-status,.ticket-priority,.admin-ticket-status,.admin-ticket-priority,.shop-activity-status) { border-radius: 20px; border-color: #bfd0ad; background: #e9f0de; color: #3d6635; font: 700 11px/1.5 var(--font); letter-spacing: .025em; }
html[data-theme="camp"] :is([data-status="closed"],.closed) :is(.ticket-status,.admin-ticket-status) { background: #edf0e5; color: #68755c; }
html[data-theme="camp"] :is(.danger-button,.admin-action-submit.danger,button[data-action="ban"],#siteSessionLogout) { background: #a34432 !important; border-color: #a34432 !important; color: #fff !important; }
html[data-theme="camp"] :is(.danger-button,.admin-action-submit.danger,button[data-action="ban"],#siteSessionLogout) :is(span,i) { color: inherit !important; }

/* A footer is a comfortable end to the page, never a cramped strip. */
html[data-theme="camp"] .site-legal-footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 25px; width: 100%; max-width: none; min-height: 64px; margin: 24px 0 0; padding: 20px 26px; border: 0; border-radius: 14px; background: #e9eee0; color: #516b45; font: 500 12px/1.65 var(--font); letter-spacing: 0; }
html[data-theme="camp"] .site-legal-footer :is(span,a) { color: inherit !important; font: inherit !important; letter-spacing: 0 !important; }
html[data-theme="camp"] .site-legal-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
html[data-theme="camp"] .site-legal-footer a { padding: 7px 0; text-underline-offset: 4px; text-decoration-color: #8da37c; }
html[data-theme="camp"] .command-home-footer .site-legal-footer { margin: 0; padding: 0; min-height: 24px; background: none; color: #e2edd8; border-radius: 0; }
html[data-theme="camp"] #adminWorkspace .site-legal-footer { width: calc(100% - 64px); margin: 0 32px 26px; }

/* Responsive shell and page composition. Desktop rails become natural document
   sections on narrow screens, rather than squeezing long labels into columns. */
@media(min-width:1800px) {
  html[data-theme="camp"] { --app-header-height: 104px; --app-text-nav: 16px; }
  html[data-theme="camp"] .login-dialog { width: min(1700px,100%); }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-primary-nav :is(a,button) { padding: 12px 18px !important; font-size: 16px !important; }
  html[data-theme="camp"] .shop-selected .shop-section { grid-template-columns: 275px minmax(0,1fr) 380px !important; }
  html[data-theme="camp"] .shop-selected .shop-market { padding: 30px; }
  html[data-theme="camp"] .shop-selected .shop-item-title h3 { font-size: 24px; }
  html[data-theme="camp"] .shop-selected .shop-item-copy > p { font-size: 15px; }
  html[data-theme="camp"] .shop-selected .shop-item-card > button { font-size: 14px; min-height: 46px; }
  html[data-theme="camp"] .camp-destination p { font-size: 15px; }
  html[data-theme="camp"] .camp-action { font-size: 14px; min-height: 42px; }
  html[data-theme="camp"] .camp-destination { min-height: 240px; padding: 22px; }
}
@media(max-width:1279px) {
  html[data-theme="camp"] { --app-header-height: 134px; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header { grid-template-columns: minmax(0,1fr) auto !important; grid-template-rows: 62px 46px !important; gap: 5px 12px !important; padding: 8px 20px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-primary-nav { grid-column: 1 / -1 !important; grid-row: 2 !important; width: 100% !important; justify-content: space-evenly !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-header-actions { grid-column: 2 !important; grid-row: 1 !important; }
  html[data-theme="camp"] .camp-destinations { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-theme="camp"] .camp-destination { grid-template-columns: 140px minmax(0,1fr); min-height: 195px; }
  html[data-theme="camp"] .camp-destination p { font-size: 14px; }
  html[data-theme="camp"] .camp-destination h2 { font-size: 23px; }
  html[data-theme="camp"] .camp-community { grid-template-columns: 190px minmax(0,1fr); }
  html[data-theme="camp"] .camp-vote { grid-column: 1 / -1; padding: 20px 0 0; border-left: 0; border-top: 1px solid var(--camp-line); }
  html[data-theme="camp"] .shop-selected .shop-section { grid-template-columns: 200px minmax(0,1fr) 280px !important; }
  html[data-theme="camp"] .shop-selected .shop-market { padding: 18px; }
  html[data-theme="camp"] .shop-selected :is(.shop-catalog,.shop-mixed-catalog,.shop-department-catalog) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  html[data-theme="camp"] .shop-selected .shop-receipt { padding: 20px 16px; }
  html[data-theme="camp"] .shop-selected .shop-stock-header { flex-direction: column; align-items: flex-start; }
  html[data-theme="camp"] .shop-selected .shop-stock-header-actions { width: 100%; align-items: flex-start; }
  html[data-theme="camp"] .quest-guest { grid-template-columns: 150px minmax(0,1fr); padding: 30px; gap: 25px; }
  html[data-theme="camp"] .quest-family-list { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-theme="camp"] .quest-profile-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-theme="camp"] .quest-card-grid { gap: 12px; padding: 14px; }
  html[data-theme="camp"] .quest-card { padding: 20px; }
  html[data-theme="camp"] #adminWorkspace .admin-layout { grid-template-columns: 210px minmax(0,1fr); }
  html[data-theme="camp"] #adminWorkspace .admin-view { padding: 22px; }
}
@media(max-width:1120px) {
  html[data-theme="camp"] .camp-hero { min-height: 430px; }
  html[data-theme="camp"] .camp-hero-copy { width: 66%; }
  html[data-theme="camp"] #campWelcomeTitle { font-size: clamp(32px,4.6vw,46px); }
  html[data-theme="camp"] .camp-hero-image { object-position: 63% center; }
  html[data-theme="camp"] .command-join-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  html[data-theme="camp"] .command-join-steps li { border: 0; padding: 0; }
  html[data-theme="camp"] .command-rules { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html[data-theme="camp"] .shop-selected .shop-section { grid-template-columns: 210px minmax(0,1fr) !important; grid-template-areas: none !important; height: auto !important; overflow: visible !important; }
  html[data-theme="camp"] .shop-selected .shop-departments { grid-column: 1; grid-row: 1 / 3; }
  html[data-theme="camp"] .shop-selected .shop-market { grid-column: 2; grid-row: 1; }
  html[data-theme="camp"] .shop-selected :is(.shop-category-tabs,.shop-tabs) { display: grid; grid-template-columns: minmax(0,1fr); overflow: visible; }
  html[data-theme="camp"] .shop-selected .shop-category-branch { min-width: 0; width: 100%; }
  html[data-theme="camp"] .shop-selected :is(.shop-safe-card,.shop-sidebar-reset-card) { display: flex; }
  html[data-theme="camp"] .shop-selected .shop-library-body { overflow: auto !important; }
  html[data-theme="camp"] .shop-selected .shop-market { height: auto !important; overflow: visible !important; }
  html[data-theme="camp"] .shop-selected .shop-departments { height: auto !important; overflow: visible !important; }
  html[data-theme="camp"] .shop-selected .shop-receipt { grid-area: 2 / 2; align-self: start; height: auto !important; max-height: none; overflow: visible !important; border: 1px solid var(--camp-line); border-radius: 15px; margin: 0 18px 24px; }
  html[data-theme="camp"] .quest-card-grid { grid-template-columns: 1fr; }
  html[data-theme="camp"] .quest-card { min-height: 320px; }
  html[data-theme="camp"] :is(.quest-hero,.ticket-hero,.ranking-hero) { grid-template-columns: 1fr; gap: 22px; }
  html[data-theme="camp"] .quest-reset { min-width: 0; width: fit-content; }
  html[data-theme="camp"] .ranking-podium { gap: 12px; }
  html[data-theme="camp"] #adminWorkspace .admin-layout { grid-template-columns: 180px minmax(0,1fr); }
  html[data-theme="camp"] #adminWorkspace .admin-nav { padding: 18px 10px; }
  html[data-theme="camp"] #adminWorkspace .admin-nav-button { padding: 12px; gap: 9px; }
  html[data-theme="camp"] #adminWorkspace .admin-nav-button small { display: none; }
  html[data-theme="camp"] #adminWorkspace .admin-nav-button strong { font-size: 13px; }
  html[data-theme="camp"] #adminWorkspace .admin-header-actions button span { display: none; }
  html[data-theme="camp"] #adminWorkspace .admin-ticket-layout { grid-template-columns: 1fr; }
}
@media(max-width:680px) {
  html[data-theme="camp"] { --app-header-height: 174px; --app-brand-icon-size: 43px; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header { height: 174px !important; min-height: 174px !important; padding: 10px 14px !important; grid-template-rows: 58px 84px !important; gap: 6px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-primary-nav { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,40px); gap: 3px !important; height: 84px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-primary-nav :is(a,button) { font-size: 13px !important; height: 40px !important; min-height: 40px !important; padding: 8px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.player-brand,.shop-library-brand,.quest-brand,.ranking-brand,.ticket-brand,.legal-brand,.admin-brand,.login-header-brand,.camp-mod-brand) img { width: 43px !important; height: 43px !important; flex-basis: 43px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .brand-mark { width: 43px !important; height: 43px !important; flex-basis: 43px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.player-brand,.shop-library-brand,.quest-brand,.ranking-brand,.ticket-brand,.legal-brand,.admin-brand,.login-header-brand,.camp-mod-brand) :is(strong,h2) { font-size: 20px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header :is(.shop-library-brand,.quest-brand,.ranking-brand,.ticket-brand,.legal-brand,.admin-brand,.login-header-brand,.camp-mod-brand) :is(p,div > span), html[data-theme="camp"] .camp-brand-copy small { display: none !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-header-actions { gap: 5px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .app-header-actions > button { min-width: 37px !important; width: 37px; height: 40px !important; min-height: 40px !important; padding: 5px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .shop-header-tier { width: 37px !important; min-width: 37px !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .shop-header-tier-copy { display: none !important; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .admin-trigger span { display: none; }
  html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .admin-trigger { width: 37px; }
  html[data-theme="camp"] #commandHome { padding: 14px 14px 0; gap: 14px; }
  html[data-theme="camp"] .camp-hero { min-height: 595px; align-items: flex-start; }
  html[data-theme="camp"] .camp-hero-image { object-fit: cover; object-position: 63% bottom; }
  html[data-theme="camp"] .camp-hero-copy { width: 100%; padding: 25px 20px 180px; background: linear-gradient(180deg,#f8f3e8 0%,#f8f3e8f5 63%,transparent 100%); }
  html[data-theme="camp"] #campWelcomeTitle { font-size: 37px; }
  html[data-theme="camp"] .camp-eyebrow { font-size: 10px; }
  html[data-theme="camp"] .camp-hero-intro { font-size: 14px; }
  html[data-theme="camp"] .camp-hero-actions { gap: 8px; }
  html[data-theme="camp"] .command-status-panel { min-width: 113px; padding: 9px; }
  html[data-theme="camp"] #commandStatusText { font-size: 14px !important; }
  html[data-theme="camp"] .command-join-button { padding: 10px; gap: 8px; }
  html[data-theme="camp"] .command-join-copy strong { font-size: 13px !important; }
  html[data-theme="camp"] .command-join-copy small { font-size: 10px; }
  html[data-theme="camp"] .command-join-icon { width: 26px; height: 26px; flex-basis: 26px; }
  html[data-theme="camp"] .command-copy-address { padding: 10px; gap: 7px; }
  html[data-theme="camp"] .command-copy-address strong { font-size: 13px; }
  html[data-theme="camp"] .command-copy-address span { font-size: 9px; }
  html[data-theme="camp"] .command-copy-address > i:first-child { font-size: 19px; }
  html[data-theme="camp"] .camp-connection { padding: 20px; }
  html[data-theme="camp"] .command-join-steps { grid-template-columns: 1fr; gap: 18px; }
  html[data-theme="camp"] .command-join-steps li > span { font-size: 14px; }
  html[data-theme="camp"] .camp-destinations { grid-template-columns: 1fr; gap: 12px; }
  html[data-theme="camp"] .camp-destination { grid-template-columns: 115px minmax(0,1fr); padding: 18px 16px 18px 7px; min-height: 195px; }
  html[data-theme="camp"] .camp-destination h2 { font-size: 23px; }
  html[data-theme="camp"] .camp-action { min-height: 42px; font-size: 12px; }
  html[data-theme="camp"] .camp-community { grid-template-columns: 1fr; padding: 22px; gap: 24px; }
  html[data-theme="camp"] .camp-world-panel { border-right: 0; border-bottom: 1px solid var(--camp-line); padding: 0 0 20px; }
  html[data-theme="camp"] .camp-vote { padding-top: 20px; }
  html[data-theme="camp"] .command-rules { grid-template-columns: 1fr; gap: 12px; padding: 8px; }
  html[data-theme="camp"] .command-rules strong { font-size: 12px; }
  html[data-theme="camp"] .command-rules p { font-size: 12px; }
  html[data-theme="camp"] .command-home-footer { margin: 0 -14px; padding: 20px; }
  html[data-theme="camp"] :is(.quest-main,.ticket-main,.ranking-main,.legal-main,.mod-library-body) { padding: 16px; }
  html[data-theme="camp"] :is(.quest-hero,.ticket-hero,.ranking-hero,.legal-hero) { min-height: 0; padding: 25px 22px; border-radius: 15px; }
  html[data-theme="camp"] :is(.quest-hero,.ticket-hero,.ranking-hero,.legal-hero) h1 { font-size: 30px; }
  html[data-theme="camp"] .shop-selected .shop-section { display: flex !important; flex-direction: column; }
  html[data-theme="camp"] .shop-selected .shop-departments { padding: 18px 16px; border-right: 0; border-bottom: 1px solid var(--camp-line); }
  html[data-theme="camp"] .shop-selected .shop-category-tabs { display: flex; flex-wrap: wrap; gap: 6px; }
  html[data-theme="camp"] .shop-selected .shop-category-tabs > * { flex: 1 1 auto; min-width: 0; }
  html[data-theme="camp"] .shop-selected .shop-category-tabs button { min-height: 44px; font-size: 12px; padding: 10px; width: 100%; }
  html[data-theme="camp"] .shop-selected .shop-safe-card { display: none; }
  html[data-theme="camp"] .shop-selected .shop-sidebar-reset-card { display: flex; margin: 12px 0; padding: 10px 14px; }
  html[data-theme="camp"] .shop-selected .shop-sidebar-reset-card strong { font-size: 21px; }
  html[data-theme="camp"] .shop-selected .shop-tabs { display: flex; margin-top: 12px; }
  html[data-theme="camp"] .shop-selected .shop-tabs button { flex: 1; }
  html[data-theme="camp"] .shop-selected .shop-market { padding: 18px 16px; }
  html[data-theme="camp"] .shop-selected .shop-store-hero { min-height: 220px; }
  html[data-theme="camp"] .shop-selected .shop-feature-copy { padding: 20px; }
  html[data-theme="camp"] .shop-selected .shop-hero-copy { padding: 22px; }
  html[data-theme="camp"] .shop-selected :is(.shop-catalog,.shop-mixed-catalog,.shop-department-catalog) { grid-template-columns: 1fr; gap: 18px; }
  html[data-theme="camp"] .shop-selected .shop-item-title h3 { font-size: 23px; }
  html[data-theme="camp"] .shop-selected .shop-item-copy > p { font-size: 15px; }
  html[data-theme="camp"] .shop-selected .shop-item-card > button { min-height: 46px; font-size: 14px; }
  html[data-theme="camp"] .shop-selected .shop-item-price-row > strong { font-size: 22px; }
  html[data-theme="camp"] .shop-selected .shop-receipt { margin: 0 16px 22px; padding: 24px; }
  html[data-theme="camp"] .quest-guest { grid-template-columns: 1fr; padding: 24px; }
  html[data-theme="camp"] .quest-guest-art { min-height: 180px; }
  html[data-theme="camp"] .quest-family-list { grid-template-columns: 1fr; }
  html[data-theme="camp"] .quest-profile-strip { grid-template-columns: 1fr 1fr; }
  html[data-theme="camp"] .quest-profile-strip > div { min-height: 96px; padding: 15px; }
  html[data-theme="camp"] .quest-profile-strip strong { font-size: 20px; }
  html[data-theme="camp"] .quest-profile-strip small { font-size: 10px; }
  html[data-theme="camp"] .quest-set-bonus { grid-template-columns: 1fr; padding: 24px; }
  html[data-theme="camp"] .quest-set-bonus > i { display: none; }
  html[data-theme="camp"] .quest-card-grid { padding: 12px; }
  html[data-theme="camp"] .ticket-console-head { padding: 18px; grid-template-columns: minmax(0,1fr); gap: 15px; }
  html[data-theme="camp"] .ticket-console-head .ticket-new-button { position: static; grid-column: 1; grid-row: auto; width: 100%; }
  html[data-theme="camp"] .ticket-console-identity > div { min-width: 0; }
  html[data-theme="camp"] .ticket-console-head .ticket-console-identity h2 { white-space: normal; overflow-wrap: anywhere; }
  html[data-theme="camp"] .ticket-layout { grid-template-columns: 1fr; }
  html[data-theme="camp"] .ticket-list-panel { border-right: 0; }
  html[data-theme="camp"] .legacy-tabs { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
  html[data-theme="camp"] .legacy-tabs button { padding: 10px; font-size: 12px; }
  html[data-theme="camp"] .ranking-podium { grid-template-columns: 1fr; align-items: stretch; }
  html[data-theme="camp"] .ranking-podium-card, html[data-theme="camp"] .ranking-podium-card[data-position="1"] { min-height: 260px; }
  html[data-theme="camp"] .ranking-podium-card[data-position="2"] { order: 0; }
  html[data-theme="camp"] .ranking-section-heading h2 { font-size: 25px; }
  html[data-theme="camp"] .ranking-table-section { overflow-x: auto; }
  html[data-theme="camp"] .legacy-filters { grid-template-columns: 1fr; }
  html[data-theme="camp"] #adminWorkspace .admin-header { grid-template-rows: 1fr !important; height: 80px !important; min-height: 80px !important; }
  html[data-theme="camp"] #adminWorkspace .admin-layout { grid-template-columns: 1fr; grid-template-rows: auto minmax(0,1fr); }
  html[data-theme="camp"] #adminWorkspace .admin-nav { display: flex; flex-wrap: wrap; gap: 5px; padding: 10px; border: 0; border-bottom: 1px solid var(--camp-line); overflow: visible; }
  html[data-theme="camp"] #adminWorkspace .admin-nav-button { min-height: 42px; padding: 8px 10px; margin: 0; flex: 1 1 auto; border-radius: 8px; gap: 7px; }
  html[data-theme="camp"] #adminWorkspace .admin-nav-button > i { font-size: 16px; }
  html[data-theme="camp"] #adminWorkspace .admin-nav-button strong { font-size: 11px; }
  html[data-theme="camp"] #adminWorkspace .admin-stage-head { padding: 22px 18px; min-height: 112px; }
  html[data-theme="camp"] #adminWorkspace .admin-stage-head h3 { font-size: 27px; }
  html[data-theme="camp"] #adminWorkspace .admin-view { padding: 16px; }
  html[data-theme="camp"] #adminWorkspace .site-legal-footer { width: calc(100% - 32px); margin: 0 16px 20px; }
  html[data-theme="camp"] .login-dialog { display: block; }
  html[data-theme="camp"] .login-visual { display: none; }
  html[data-theme="camp"] .login-panel { padding: 28px 24px; }
  html[data-theme="camp"] .login-stage { padding: 18px; }
  html[data-theme="camp"] dialog { width: calc(100% - 24px); max-width: none; padding: 22px; border-radius: 16px; }
  html[data-theme="camp"] .site-legal-footer { align-items: flex-start; padding: 20px; gap: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-theme="camp"] *, html[data-theme="camp"] *::before, html[data-theme="camp"] *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
/* Hidden authentication/route states always win over layout display rules. */
html[data-theme="camp"] :is(body,#appShell,#adminWorkspace,#shopWorkspace,#questWorkspace,#ticketWorkspace,#rankingWorkspace,#legalWorkspace,#modLibrary) [hidden][hidden] { display: none !important; }
html[data-theme="camp"] #campWelcomeTitle :is(span,em) { font: inherit !important; letter-spacing: inherit !important; }
html[data-theme="camp"][data-home-variant="classic"] #commandHome { display: none; }
html[data-theme="camp"] #commandHome > .camp-connection { display: block; flex: 0 0 auto; height: auto !important; min-height: 120px; overflow: visible; }
html[data-theme="camp"] #commandHome > section { flex-shrink: 0; }
html[data-theme="camp"] #commandStatusPanel { grid-auto-flow: row; grid-template-rows: auto auto; }
html[data-theme="camp"] #commandStatusPanel > .camp-status-dot { margin: 0; align-self: center; grid-row: 1; }
html[data-theme="camp"] #commandStatusPanel .command-status-fact { grid-row: 2; }
html[data-theme="camp"] #shopWorkspace { --shop-black:#f6f5ee; --shop-panel:#fffef9; --shop-panel-soft:#eff3e7; --shop-line:#dcded2; --shop-cream:#173d2e; --shop-muted:#657064; --shop-gold:#936529; --shop-olive:#22573e; --shop-olive-dark:#dce7d9; grid-template-rows: var(--app-header-height) minmax(0,1fr); }
html[data-theme="camp"] #shopWorkspace .shop-category-tabs button, html[data-theme="camp"] #shopWorkspace .shop-tabs button { display: grid; grid-template-columns: 22px minmax(0,1fr) 25px 12px !important; gap: 7px; width: 100%; min-width: 0; padding: 10px 8px; }
html[data-theme="camp"] #shopWorkspace .shop-category-tabs button > span, html[data-theme="camp"] #shopWorkspace .shop-tabs button > span { white-space: normal; overflow: visible; text-overflow: clip; font: 650 12px/1.45 var(--font); }
html[data-theme="camp"] #shopWorkspace .shop-category-tabs button > i, html[data-theme="camp"] #shopWorkspace .shop-tabs button > i { color: #52784a; font-size: 18px; }
html[data-theme="camp"] #shopWorkspace .shop-category-tabs button > strong, html[data-theme="camp"] #shopWorkspace .shop-tabs button > strong { display: grid; place-items: center; grid-column: 3; min-width: 24px; height: 24px; padding: 0; border-radius: 50%; color: #456a3b; background: #dce6cf; font: 700 11px/1 var(--font); }
html[data-theme="camp"] #shopWorkspace .shop-category-chevron { grid-column: 4; font-size: 10px !important; }
html[data-theme="camp"] #shopWorkspace .shop-category-child { padding-left: 20px; }
html[data-theme="camp"] #shopWorkspace .shop-store-hero { display: block; min-height: 250px; height: auto; padding: 0; }
html[data-theme="camp"] #shopWorkspace .shop-featured { display: block; height: auto; min-height: 0; }
html[data-theme="camp"] #shopWorkspace .shop-hero-copy { display: none; }
html[data-theme="camp"] #shopWorkspace .shop-featured { position: static; inset: auto; width: 100%; min-width: 0; height: auto; padding: 0; margin: 0; }
html[data-theme="camp"] #shopWorkspace .shop-feature-card { display: grid; grid-template-columns: minmax(0,1fr) 35%; min-height: 250px; height: auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
html[data-theme="camp"] #shopWorkspace .shop-feature-copy { position: static; padding: 28px; text-shadow: none; }
html[data-theme="camp"] #shopWorkspace .shop-feature-copy h4 { max-width: none; margin: 8px 0 12px; font: 800 clamp(25px,2.2vw,39px)/1.2 "Manrope",sans-serif; text-shadow: none; }
html[data-theme="camp"] #shopWorkspace .shop-feature-copy p { display: block; max-width: 430px; margin: 0 0 15px; overflow: visible; -webkit-line-clamp: unset; font-size: 14px; }
html[data-theme="camp"] #shopWorkspace .shop-feature-copy > span { display: inline-block; padding: 4px 8px; border-radius: 5px; background: #d3e2c4; color: #426234; font: 700 10px/1.5 var(--font); }
html[data-theme="camp"] #shopWorkspace .shop-feature-copy > strong { color: #285735; font: 800 23px/1.5 "Manrope",sans-serif; }
html[data-theme="camp"] #shopWorkspace .shop-feature-copy > button { margin: 12px 0 0; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 42px; padding: 10px 16px; background: #255c3c; border: 0; border-radius: 8px; color: white; font: 700 12px/1.4 var(--font); }
html[data-theme="camp"] #shopWorkspace .shop-feature-copy > button span { color: inherit; }
html[data-theme="camp"] #shopWorkspace .shop-feature-art { display: block; min-height: 100%; background: url('/assets/camp-commons/shop-backpack-20260905.webp') center/contain no-repeat; mix-blend-mode: darken; }
html[data-theme="camp"] #shopWorkspace .shop-feature-art img { display: none; }
html[data-theme="camp"] #shopWorkspace .shop-stock-header { display: flex; flex-wrap: wrap; }
html[data-theme="camp"] #shopWorkspace .shop-stock-title-block { min-width: 0; flex: 1 1 320px; }
html[data-theme="camp"] #shopWorkspace .shop-stock-title-block > div { flex-wrap: wrap; gap: 9px; }
html[data-theme="camp"] #shopWorkspace .shop-stock-title-block > p { flex-wrap: wrap; gap: 6px; }
html[data-theme="camp"] #shopWorkspace .shop-stock-header-actions { flex: 1 1 310px; min-width: 0; }
html[data-theme="camp"] #shopWorkspace .shop-stock-tools { justify-content: flex-end; width: 100%; }
html[data-theme="camp"] #shopWorkspace .shop-stock-tools label { flex: 1 1 140px; min-width: 0; }
html[data-theme="camp"] #shopWorkspace .shop-stock-tools select { width: 100%; min-width: 0; max-width: 100%; font-size: 11px; }
html[data-theme="camp"] #shopWorkspace .shop-stock-header-actions { display: grid; justify-items: end; align-items: center; margin-left: auto; }
html[data-theme="camp"] #shopWorkspace .shop-stock-tools { display: flex; flex-wrap: wrap; margin-top: 12px; }
html[data-theme="camp"] #shopWorkspace .shop-stock-tools label { display: flex; align-items: center; gap: 6px; padding: 0; background: none; border: 0; color: #6b7d5c; }
html[data-theme="camp"] #shopWorkspace .shop-stock-tools label > i { display: none; }
html[data-theme="camp"] #shopWorkspace .shop-item-card { display: flex; flex-direction: column; padding: 0; min-height: 0; }
html[data-theme="camp"] #shopWorkspace .shop-item-icon { display: block; width: 100%; height: auto; aspect-ratio: 1.5; flex: 0 0 auto; min-height: 0; padding: 0; margin: 0; }
html[data-theme="camp"] #shopWorkspace .shop-item-icon::before { display: none; }
html[data-theme="camp"] #shopWorkspace .shop-item-copy { flex: 1; min-height: 0; }
html[data-theme="camp"] #shopWorkspace .shop-item-copy > p { display: block; overflow: visible; -webkit-line-clamp: unset; }
html[data-theme="camp"] #shopWorkspace .shop-item-card > button { margin-top: auto; margin-bottom: 14px; flex: 0 0 auto; }
html[data-theme="camp"] #shopWorkspace .shop-item-price-row { flex: 0 0 auto; }
html[data-theme="camp"] #shopWorkspace .shop-item-title > strong { display: none; }
html[data-theme="camp"] #shopWorkspace .shop-featured { transform: none !important; }
html[data-theme="camp"] #shopWorkspace .shop-feature-art::after, html[data-theme="camp"] #shopWorkspace .shop-feature-art::before { display: none; }
html[data-theme="camp"] #shopWorkspace .shop-feature-copy p { text-shadow: none; }
html[data-theme="camp"] :is(.ticket-hero,.ranking-hero) > aside { border: 1px solid #cdd9bf; border-radius: 14px; background: #fffef9 !important; color: #4d6942; box-shadow: none; }
html[data-theme="camp"] :is(.ticket-hero,.ranking-hero) > aside :is(strong,span,p) { color: #4d6942; }
html[data-theme="camp"] :is(.ticket-hero,.ranking-hero) > aside > i { color: #427540; }
html[data-theme="camp"] .ticket-login-art { background: url('/assets/camp-commons/tickets-radio-20260905.webp') center / 65% auto no-repeat; }
html[data-theme="camp"] .ticket-login-art > i { visibility: hidden; }
html[data-theme="camp"] .ticket-login-art::before, html[data-theme="camp"] .ticket-login-art::after { display: none; }
html[data-theme="camp"] :is(.quest-guest-art,.ticket-login-art) { mix-blend-mode: darken; }
html[data-theme="camp"] .ranking-hero { min-height: 240px !important; }
html[data-theme="camp"] .ranking-hero-copy { padding: 0 !important; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .login-brand { display: flex; align-items: center; gap: 10px; color: #173d2e; }
html[data-theme="camp"] :is(#appShell,#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace,#loginLayer,#playerLoginLayer) .app-header .login-brand strong { font: 800 26px/1.2 "Manrope",sans-serif !important; letter-spacing: -.04em; }
html[data-theme="camp"] .site-legal-footer a { border: 0 !important; background: transparent !important; border-radius: 0 !important; }
html[data-theme="camp"] .site-legal-footer::before { display: none; }
html[data-theme="camp"] .mod-library-list a > i, html[data-theme="camp"] .legacy-tabs button i { color: #4f783f; }
html[data-theme="camp"] #adminWorkspace :is(.admin-ticket-layout,.admin-ticket-empty,.admin-ticket-inspector) { background: #fffef9; color: #244634; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-message p { background: #edf3e5; color: #244634; border-color: #d2ddc6; border-radius: 12px; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-message[data-author="admin"] p { background: #e1eedc; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-message[data-private="true"] p { background: #fbefd9; color: #704b26; border: 1px dashed #cba773; }
html[data-theme="camp"] #adminRefreshState { background: #e8efdf; color: #47643c; border-color: #cddbbc; font: 650 12px/1.5 var(--font); }
html[data-theme="camp"] .ticket-status-badge { background: #e5eedb; color: #355d2e; border: 1px solid #bed0ac; border-radius: 20px; font: 750 11px/1.4 var(--font); letter-spacing: .025em; }
html[data-theme="camp"] .ticket-status-badge[data-status="waiting_player"] { background: #fff1da; color: #78511d; border-color: #d9be8a; }
html[data-theme="camp"] .ticket-status-badge[data-status="closed"] { background: #eef0e9; color: #647058; border-color: #d5dbcc; }
html[data-theme="camp"] #adminWorkspace :is(.admin-ticket-metrics,.admin-stat,.admin-metric,.admin-kpi) strong { font-family: "Manrope",sans-serif; font-weight: 800; line-height: 1.25; }
html[data-theme="camp"] #commandRoster { border: 0; padding-top: 0; }
html[data-theme="camp"] .quest-profile-strip #questBalance { font: inherit; color: inherit; }
html[data-theme="camp"] :is(.quest-avatar-frame,.ticket-console-avatar) { background: #e5ecdb; color: #507443; border-color: #cad9bb; }
html[data-theme="camp"] #ticketWorkspace { --ticket-line: #d9e0d0; }
html[data-theme="camp"] :is(.ticket-list-filters,.ticket-reply-form) { background: #eff3e7; color: #375b36; border-color: #d4dfc8; }
html[data-theme="camp"] .ticket-filter-tabs { background: #fffef9; border-color: #cddabe; }
html[data-theme="camp"] .ticket-filter-tabs button { color: #516d46; font-size: 12px; letter-spacing: 0; }
html[data-theme="camp"] .ticket-filter-tabs button.active { background: #245b3f; color: #fff; box-shadow: none; border-color: #245b3f; }
html[data-theme="camp"] .ticket-filter-tabs button strong { font-size: 11px; background: #e6edda; color: #446538; }
html[data-theme="camp"] .ticket-filter-tabs button.active strong { background: #ffffff25; color: #fff; }
html[data-theme="camp"] :is(.ticket-filter-controls label,.ticket-filter-result,.ticket-filter-result small,.ticket-reply-form > label,.ticket-reply-form > div > span,.ticket-detail-meta) { color: #59714c; font-size: 12px; }
html[data-theme="camp"] :is(.ticket-filter-reset,.ticket-list-panel > header button,.ticket-list-empty button,.ticket-dialog-close,.ticket-detail-back) { background: #e9f0de; color: #3d6336; border-color: #c3d4b2; border-radius: 9px; min-height: 42px; }
html[data-theme="camp"] .ticket-list-panel > header strong { background: #e2ebd5; color: #355c2f; font-size: 12px; }
html[data-theme="camp"] .ticket-list-empty strong { font: 800 26px/1.3 "Manrope",sans-serif; color: #244d31; }
html[data-theme="camp"] .ticket-list-empty button { background: #255a3c; color: #fff; font-size: 13px; }
html[data-theme="camp"] .ticket-summary-cards strong { color: #295136; font: 800 30px/1.3 "Manrope",sans-serif; }
html[data-theme="camp"] .ticket-message p { background: #f0f4e7; color: #37532f; border-color: #d3dfc4; font-size: 16px; }
html[data-theme="camp"] .ticket-message[data-author="player"] p { background: #e3eed9; border-color: #c6d9b3; }
html[data-theme="camp"] .ticket-message header { color: #607654; font-size: 12px; }
html[data-theme="camp"] :is(.ticket-mini-badge,.ticket-priority-badge,.ticket-origin-badge) { background: #e7efdf; color: #41633a; border-color: #c5d5b7; font-size: 11px; }
html[data-theme="camp"] .ticket-priority-badge[data-priority="urgent"] { background: #f9e4dc; color: #993f2c; border-color: #dbad9b; }
html[data-theme="camp"] :is(.ticket-reply-form button,.ticket-dialog-actions button[type="submit"]) { background: #245b3e; color: #fff; border-color: #245b3e; border-radius: 9px; }
html[data-theme="camp"] .ticket-console-mark { background: #e0ead3; color: #537844; border-color: #c5d6b3; }
html[data-theme="camp"] .ticket-message { background: transparent; border: 0; padding: 0; }
html[data-theme="camp"] .ticket-closed-actions { background: #edf3e3; color: #3b6135; border-color: #c8daba; }
html[data-theme="camp"] .ticket-closed-actions :is(strong,span,i) { color: #46693a; }
html[data-theme="camp"] .ticket-closed-actions button { background: #235a3c; color: white; border: 0; border-radius: 10px; }
html[data-theme="camp"] .ticket-closed-actions button :is(span,i) { color: inherit; }
html[data-theme="camp"] .ticket-mobile-back { background: #e7eedb; color: #3a6332; border-color: #c4d4b5; border-radius: 9px; font-size: 12px; }
@media(max-width:900px) {
 html[data-theme="camp"] #ticketWorkspace[data-authenticated="true"] .ticket-scroll { overflow-y: auto; }
 html[data-theme="camp"] #ticketWorkspace[data-authenticated="true"] .ticket-main { display: block; overflow: visible; }
 html[data-theme="camp"] #ticketConsole:not([hidden]) { display: block; margin-top: 0; overflow: visible; }
 html[data-theme="camp"] #ticketConsole :is(.ticket-console-grid,.ticket-list-panel,.ticket-list,.ticket-detail-panel,.ticket-detail:not([hidden]),.ticket-thread) { height: auto; max-height: none; overflow: visible; }
 html[data-theme="camp"] #ticketConsole .ticket-thread { min-height: 160px; }
}
html[data-theme="camp"] dialog button { background: #eaf0e1; color: #365d36; border: 1px solid #cbd8c0; border-radius: 9px; }
html[data-theme="camp"] dialog :is(.ticket-form-notice,.ticket-privacy-note,.ticket-form-note,.ticket-dialog-note) { background: #f8f1df; color: #755c35; border-color: #ddcea7; font: 500 14px/1.6 var(--font); }
html[data-theme="camp"] dialog :is(.ticket-form-notice,.ticket-privacy-note,.ticket-form-note,.ticket-dialog-note) * { color: inherit; }
html[data-theme="camp"] .ticket-dialog-mark { background: #e1ecd2; color: #4d753b; }
html[data-theme="camp"] .ticket-form-guidance { background: #f8f1df; color: #755c35; border-color: #ddcea7; }
html[data-theme="camp"] .ticket-form-guidance span { color: #755c35; font-size: 14px; }
html[data-theme="camp"] :is(.legacy-stat-grid > article,.legacy-life-card,.legacy-personal-summary,.legacy-timeline,.legacy-achievement,.legacy-achievement-card) { background: #fffef9; border: 1px solid #d6dfc9; border-radius: 15px; color: #375d37; box-shadow: none; }
html[data-theme="camp"] .legacy-stat-grid article > strong { font: 800 clamp(24px,2vw,34px)/1.3 "Manrope",sans-serif; color: #265432; }
html[data-theme="camp"] .legacy-stat-grid article > span { font: 650 12px/1.5 var(--font); color: #5c7050; }
html[data-theme="camp"] .legacy-stat-grid article > i { background: #e8efdd; border-color: #cbdaba; color: #4b783a; }
html[data-theme="camp"] .legacy-life-card :is(header,footer,dl,dt,p) { color: #59744a; border-color: #d6e0ca; }
html[data-theme="camp"] .legacy-life-card :is(h3,dd) { color: #254e32; font-family: "Manrope",sans-serif; }
html[data-theme="camp"] .legacy-section-heading h2 { font-size: clamp(26px,2.7vw,38px); }
html[data-theme="camp"] .legacy-panel-heading h2 { font-size: clamp(26px,2.7vw,38px); }
html[data-theme="camp"] :is(.legacy-personal-hero,.legacy-login-card) { background: #eaf0df; border-color: #cddcbd; border-radius: 16px; color: #2c5434; box-shadow: none; }
html[data-theme="camp"] :is(.legacy-personal-hero,.legacy-login-card) :is(h2,h3,p,span,strong) { color: #3c6239; }
html[data-theme="camp"] :is(.legacy-personal-hero,.legacy-login-card) h2 { font-size: clamp(28px,3vw,40px); }
html[data-theme="camp"] .legacy-login-card button { background: #245b3e; border-color: #245b3e; border-radius: 9px; }
html[data-theme="camp"] .legacy-pagination button { background: #edf2e4; color: #3c6435; border-color: #c5d5b6; border-radius: 9px; }
html[data-theme="camp"] .legacy-timeline li > i { background: #e8efdd; border-color: #c3d5b2; color: #4b793b; }
html[data-theme="camp"] .legacy-dossier-stats > div { background: #f0f4e7; border-color: #d7e1cb; }
html[data-theme="camp"] .legacy-dossier > article { background: #fffef9; }
html[data-theme="camp"] :is(.shop-mobile-cart,.shop-mobile-continue) { display: none; }
html[data-theme="camp"] .command-status-fact { border: 0; }
html[data-theme="camp"] .legacy-dossier-stats dt { font-size: 12px; }
html[data-theme="camp"] .legacy-dossier-badges span { background: #e7efda; color: #466639; border-color: #c7d6b7; font-size: 13px; }
/* Only the intended inner pane scrolls. Unlike hidden, clip cannot be scrolled
   programmatically by focus/scrollIntoView and dislodge the shared header. */
html[data-theme="camp"] :is(#shopWorkspace,#questWorkspace,#rankingWorkspace,#ticketWorkspace,#modLibrary,#legalWorkspace,#adminWorkspace) { overflow: clip !important; }
html[data-theme="camp"] #shopWorkspace .shop-item-price-row > strong { border: 0; background: none; background-image: none; box-shadow: none; clip-path: none; transform: none; }
html[data-theme="camp"] #shopWorkspace .shop-item-price-row > strong::before, html[data-theme="camp"] #shopWorkspace .shop-item-price-row > strong::after { display: none; }
html[data-theme="camp"] #shopReceiptCartCount { display: grid; place-items: center; background: #dfe9d1; color: #3c642f; font: 750 12px/1 var(--font); }
html[data-theme="camp"] #adminWorkspace .admin-chart-shell { background: #f4f7ee; border-color: #d7e1cc; }
html[data-theme="camp"] #adminWorkspace .chart-empty { background: #f4f7eeeb; color: #5a7150; }
html[data-theme="camp"] #adminWorkspace .trend-grid-lines { stroke: #c4d3b7; }
html[data-theme="camp"] #adminWorkspace :is(.admin-chart-axis,.admin-chart-times) { color: #527147; font-size: 12px; background: none; }
html[data-theme="camp"] #adminWorkspace .admin-chart-tooltip { background: #fffef9; border: 1px solid #bdcfae; color: #244d32; box-shadow: 0 6px 20px #264c2425; }
html[data-theme="camp"] #adminWorkspace :is(.trend-bloom,.trend-dither,.trend-glitter) { mix-blend-mode: multiply; }
html[data-theme="camp"] #adminWorkspace .admin-chart-legend .cpu > i { background: #429ac4; }
html[data-theme="camp"] #adminWorkspace .admin-chart-legend .process > i { background: #85a232; }
html[data-theme="camp"] #adminWorkspace .admin-chart-legend .memory > i { background: #916fc7; }
html[data-theme="camp"] #adminWorkspace .backup-procedure { background: #edf3e5; color: #3d5f36; border-color: #c9d9bb; }
html[data-theme="camp"] #adminWorkspace .backup-procedure :is(p,strong,span) { color: #46683d; }
html[data-theme="camp"] #adminWorkspace .backup-procedure li { border-color: #d2dfc6; }
html[data-theme="camp"] #adminWorkspace .backup-create-submit { background: #255b3d; color: white; border-color: #255b3d; border-radius: 11px; }
html[data-theme="camp"] #adminWorkspace .backup-create-submit :is(strong,small,i) { color: inherit; }
html[data-theme="camp"] #adminWorkspace [data-moderation-action="ban"] { background: #fbebe4; color: #983d2b; border-color: #deb6a6; }
html[data-theme="camp"] #adminWorkspace .admin-nav-button::before { display: none; }
html[data-theme="camp"] #adminWorkspace .admin-nav-badge { background: #dae6cc; color: #395f2f !important; }
html[data-theme="camp"] #adminWorkspace .admin-header-actions .language-toggle span { display: inline !important; }
html[data-theme="camp"] #purchaseConfirm { background: #23593c; color: #fff; border-color: #23593c; border-radius: 10px; }
html[data-theme="camp"] #purchaseCancel { background: #edf2e6; color: #355735; border: 1px solid #cddbc0; border-radius: 10px; }
html[data-theme="camp"] :is(#balanceSubmit,#configSubmit,#adminTicketReviewSubmit,#ticketCloseSubmit,#moderationSubmit) { background: #23593c; color: #fff; border-color: #23593c; border-radius: 10px; }
html[data-theme="camp"] :is(#balanceSubmit,#configSubmit,#adminTicketReviewSubmit,#ticketCloseSubmit,#moderationSubmit) :is(span,i) { color: inherit; }
html[data-theme="camp"] #moderationDialog[data-action="ban"] #moderationSubmit { background: #a34432; border-color: #a34432; }
html[data-theme="camp"] .shop-cart-line-copy h3 { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.4 !important; }
/* The legal archive is part of the product, not a surviving parchment theme. */
html[data-theme="camp"] #legalWorkspace { --legal-paper: #fffef9; --legal-ink: #173d2e; --legal-muted: #53674b; --legal-line: #d5dfca; --legal-rust: #a44c2b; }
html[data-theme="camp"] :is(.legal-document,.legal-paper) { background: #fffef9; color: #354d39; border-color: #d4deca; box-shadow: none; }
html[data-theme="camp"] .legal-summary-grid { background: #f0f4e8; border-color: #d4deca; }
html[data-theme="camp"] .legal-summary-grid article { border-color: #d4deca; }
html[data-theme="camp"] .legal-summary-grid i { color: #4d753e; }
html[data-theme="camp"] .legal-summary-grid span { font: 650 12px/1.5 var(--font); color: #5c7151; letter-spacing: .025em; }
html[data-theme="camp"] .legal-summary-grid strong { font: 750 clamp(17px,1.6vw,23px)/1.4 "Manrope",sans-serif; color: #2d5737; }
html[data-theme="camp"] .legal-index { background: #f4f6ee; border-radius: 0; border-color: #d4deca; }
html[data-theme="camp"] .legal-index a { font-size: 14px; color: #416038; }
html[data-theme="camp"] .legal-copy h2 { font-size: clamp(25px,2.4vw,36px); }
html[data-theme="camp"] .legal-copy :is(p,li) { font-size: 16px; color: #4f6348; line-height: 1.8; }
html[data-theme="camp"] .legal-section-number { font: 750 18px/1.5 "Manrope",sans-serif; color: #9c5533; }
html[data-theme="camp"] .legal-copy :is(th,td) { font-size: 14px; color: #405b39; }
html[data-theme="camp"] .site-legal-footer > span::before { display: none; }
html[data-theme="camp"] .shop-rank-card[data-state="locked"] { opacity: 1; background: #f4f5ef; }
html[data-theme="camp"] .shop-rank-card[data-state="current"] { background: #e6efdd; border-color: #80a86a; }
html[data-theme="camp"] .shop-rank-card :is(b,i) { color: #4c743c !important; }
html[data-theme="camp"] .shop-rank-card > strong { white-space: normal; line-height: 1.4 !important; }
html[data-theme="camp"] .shop-rank-card > p { font-size: 14px !important; }
html[data-theme="camp"] .shop-rank-card > :is(b,small), html[data-theme="camp"] .shop-rank-card > div span { font-size: 12px; }
html[data-theme="camp"] .shop-rank-card::after { background: #bccaae; }
html[data-theme="camp"] .shop-rank-card[data-state="current"]::after { background: #507d3d; }
html[data-theme="camp"] #shopTierDialog .shop-tier-dialog-close { background: #eaf0e1 !important; color: #365d36 !important; border-color: #cbd8c0 !important; }
html[data-theme="camp"] #shopTierDialog .shop-promotion-reward-list article { opacity: 1; background: #f3f6ed; border-color: #d6dfcb; }
html[data-theme="camp"] #shopTierDialog .shop-promotion-reward-list article :is(strong,b,i) { color: #365d36; }
html[data-theme="camp"] #shopTierDialog .shop-promotion-reward-list article :is(small,span) { color: #52664a; font-size: 11px; }
html[data-theme="camp"] #shopTierDialog .shop-daily-reward-ladder small { white-space: normal; overflow: visible; font-size: 10px; line-height: 1.4; }
html[data-theme="camp"] #shopTierDialog .shop-daily-reward-ladder :is(i,strong) { color: #3e6838; }
html[data-theme="camp"] #playerLoginForm :is(.player-username-field,.password-field) input { border: 0 !important; border-radius: 0 !important; background: transparent !important; }
html[data-theme="camp"] #playerLoginForm :is(.player-username-field,.password-field):focus-within { outline: 3px solid #b6572d; outline-offset: 3px; }
html[data-theme="camp"] #playerLoginForm :is(.player-username-field,.password-field) input:focus-visible { outline: none !important; box-shadow: none !important; }
html[data-theme="camp"] .mod-library-list h3 { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.4 !important; }
html[data-theme="camp"] :is(.shop-mod-detail-resolution,.shop-mod-detail-status) { background: #e4edd8; color: #335b32; border-color: #c1d3ac; border-radius: 8px; font-size: 12px; }
html[data-theme="camp"] :is(.shop-mod-detail-resolution,.shop-mod-detail-status) * { color: inherit; }
@media(max-width:900px) {
 html[data-theme="camp"] .login-dialog { grid-template-columns: minmax(0,1fr); }
}
/* Admin has a sidebar, so it never needs the public navigation's second row. */
html[data-theme="camp"] #adminWorkspace { --app-header-height: 94px; }
html[data-theme="camp"] #adminWorkspace .app-header { height: 94px !important; min-height: 94px !important; grid-template-columns: minmax(0,1fr) auto !important; grid-template-rows: 1fr !important; }
html[data-theme="camp"] #adminWorkspace .app-header .app-header-actions { grid-column: 2 !important; grid-row: 1 !important; }
html[data-theme="camp"] :is(#loginLayer,#playerLoginLayer) { --app-header-height: 94px; }
html[data-theme="camp"] :is(#loginLayer,#playerLoginLayer) .app-header { height: 94px !important; min-height: 94px !important; grid-template-columns: minmax(0,1fr) auto !important; grid-template-rows: 1fr !important; }
html[data-theme="camp"] :is(#loginLayer,#playerLoginLayer) .app-header .app-header-actions { grid-column: 2 !important; grid-row: 1 !important; }
html[data-theme="camp"] :is(#loginLayer,#playerLoginLayer) .login-brand img { width: 50px; height: 50px; object-fit: contain; }
html[data-theme="camp"] :is(#loginLayer,#playerLoginLayer) .login-brand strong { white-space: normal; }
/* Supporting copy must remain readable on the large screens used by the community. */
html[data-theme="camp"] :is(.camp-destination p,.camp-vote p,.command-join-steps li > span,.command-world-clock > time) { font-size: 14px; }
html[data-theme="camp"] .camp-action { min-height: 44px; font-size: 14px; }
html[data-theme="camp"] :is(.command-join-copy small,.command-copy-address span,.command-rules p,.command-rules strong,.command-roster-freshness,.camp-build) { font-size: 12px; }
html[data-theme="camp"] .command-status-fact :is(strong,span) { font-size: 14px !important; }
@media(min-width:1800px) {
 html[data-theme="camp"] :is(.camp-destination p,.camp-vote p,.command-join-steps li > span,.command-world-clock > time) { font-size: 16px; }
 html[data-theme="camp"] .camp-action { font-size: 15px; }
 html[data-theme="camp"] :is(.command-rules p,.command-rules strong,.command-roster-freshness,.camp-build) { font-size: 13px; }
}
@media(max-width:680px) {
 html[data-theme="camp"] #adminWorkspace { --app-header-height: 80px; }
 html[data-theme="camp"] #adminWorkspace .app-header { height: 80px !important; min-height: 80px !important; grid-template-rows: 1fr !important; }
 html[data-theme="camp"] #adminWorkspace #adminOverviewBuild { font-size: 24px; text-overflow: clip; overflow: visible; }
 html[data-theme="camp"] :is(#loginLayer,#playerLoginLayer) .app-header { height: 80px !important; min-height: 80px !important; }
 html[data-theme="camp"] :is(#loginLayer,#playerLoginLayer) { --app-header-height: 80px; }
 html[data-theme="camp"] :is(#loginLayer,#playerLoginLayer) .login-brand strong { font-size: 19px !important; }
 html[data-theme="camp"] #shopWorkspace .shop-feature-card { grid-template-columns: minmax(0,1fr) 28%; }
 html[data-theme="camp"] #shopWorkspace .shop-feature-copy { padding: 22px 8px 22px 22px; }
 html[data-theme="camp"] #shopWorkspace .shop-category-tabs { display: grid; grid-template-columns: 1fr 1fr; }
 html[data-theme="camp"] #shopWorkspace .shop-stock-header-actions { justify-items: start; margin-left: 0; }
 html[data-theme="camp"] #shopWorkspace .shop-category-tabs button { grid-template-columns: 18px minmax(0,1fr) 20px 10px !important; gap: 4px; }
 html[data-theme="camp"] #shopWorkspace .shop-category-tabs button > strong { min-width: 20px; height: 20px; }
}
@media(max-width:1120px) {
 html[data-theme="camp"] #shopWorkspace .shop-mobile-cart { position: fixed; z-index: 120; bottom: max(18px,env(safe-area-inset-bottom)); left: 18px; right: 18px; display: flex; align-items: center; gap: 12px; padding: 16px 20px; border: 1px solid #103d2a; border-radius: 14px; background: #235a3e; color: white; box-shadow: 0 8px 25px #183c2c44; font: 700 15px/1.4 var(--font); }
 html[data-theme="camp"] #shopWorkspace .shop-mobile-cart strong { margin-left: auto; color: inherit; }
 html[data-theme="camp"] #shopWorkspace[data-receipt-visible="true"] .shop-mobile-cart { visibility: hidden; pointer-events: none; }
 html[data-theme="camp"] #shopWorkspace .shop-mobile-continue { display: flex; width: 100%; justify-content: center; align-items: center; gap: 10px; min-height: 46px; margin-top: 12px; border: 1px solid #c1d0b3; border-radius: 10px; background: #e9f0df; color: #396036; font: 650 14px/1.4 var(--font); }
html[data-theme="camp"] #shopWorkspace .shop-market { padding-bottom: 95px; }
}

/* Safari audit, September 2026: shared light details and stable component edges. */
html[data-theme="camp"] #commandModSummary { color: var(--camp-green); }
html[data-theme="camp"] .shop-store-footer { background: #eef2e6; color: #52664a; border-color: var(--camp-line); border-radius: 10px; font-size: 13px; }
html[data-theme="camp"] .shop-store-footer :is(p,i,span) { color: inherit; }
html[data-theme="camp"] .shop-store-footer button { min-height: 44px; color: #365e36; font-size: 13px; }
html[data-theme="camp"] .shop-store-footer button:hover { color: #173d2e; }
html[data-theme="camp"] :is(.command-mod-rule > i,.shop-selected .shop-safe-card > i,.shop-selected .shop-sidebar-reset-card > i,.ticket-filter-search > i,.mod-library-toolbar > div i,.ticket-filter-result small i) { color: #476b41; }
html[data-theme="camp"] .shop-selected .shop-sidebar-reset-card[data-urgent="true"] > i { color: var(--camp-rust); }
html[data-theme="camp"] .mod-library-card img { object-fit: contain; padding: 5px; background: #edf0e5; border: 1px solid var(--camp-line); }
html[data-theme="camp"] .mod-library-fallback { background: #edf0e5; color: #476b41; border: 1px solid var(--camp-line); }
html[data-theme="camp"] .mod-library-card > i { color: #476b41; }

html[data-theme="camp"] .shop-mod-detail-dialog { overflow-y: auto; padding: 0; }
html[data-theme="camp"] .shop-mod-detail-shell { min-height: 0; align-items: center; }
html[data-theme="camp"] .shop-mod-detail-visual { align-self: stretch; align-content: center; gap: 18px; padding: 28px; background: #edf0e5 !important; }
html[data-theme="camp"] .shop-mod-detail-visual > a { aspect-ratio: auto; border: 0; border-radius: 12px; background: transparent; box-shadow: none; }
html[data-theme="camp"] .shop-mod-detail-visual img { height: auto; max-height: min(520px,65dvh); object-fit: contain; border-radius: 10px; }
html[data-theme="camp"] .shop-mod-detail-status { position: static; justify-self: start; grid-row: 1; padding: 7px 10px; font-size: 11px; }
html[data-theme="camp"] .shop-mod-detail-resolution { display: none; }
html[data-theme="camp"] .shop-mod-detail-copy { padding: 56px 30px 30px; overflow: visible; }
html[data-theme="camp"] .shop-mod-detail-facts { grid-template-columns: repeat(2,minmax(0,1fr)); border: 0; gap: 10px; }
html[data-theme="camp"] .shop-mod-detail-facts > div { border: 1px solid #d7dfcc; border-radius: 10px; background: #f2f5eb; }
html[data-theme="camp"] .shop-mod-detail-facts:has(#shopModDetailWorkshopFact[hidden]) > div:has(#shopModDetailPrice) { grid-column: 1 / -1; }
html[data-theme="camp"] .shop-mod-detail-facts dt { font-size: 11px; letter-spacing: .035em; }
html[data-theme="camp"] .shop-mod-detail-facts dd { font-size: 15px; }
html[data-theme="camp"] .shop-mod-detail-actions :is(a,button) { border-radius: 9px; }

html[data-theme="camp"] .quest-progress { grid-template-rows: minmax(42px,auto) 9px minmax(46px,auto); }
html[data-theme="camp"] .quest-progress > div:first-child { gap: 12px; align-items: center; }
html[data-theme="camp"] .quest-progress > div:first-child > span { flex: 0 0 auto; font-size: 12px; }
html[data-theme="camp"] .quest-progress strong { min-width: 0; font: 750 18px/1.35 "Manrope",sans-serif; text-align: right; }
html[data-theme="camp"] .quest-card-status { min-height: 46px; }
html[data-theme="camp"] .quest-card-status .quest-turnin-button { margin-top: 0; }
html[data-theme="camp"] .quest-history-day { border: 0; border-bottom: 1px solid var(--camp-line); border-radius: 0; }
html[data-theme="camp"] .quest-history-day li { font-size: 13px; line-height: 1.45; color: #59664f; border-color: #d2d9c7; background: #f5f6ef; }
html[data-theme="camp"] .quest-history-day li.complete { color: #315d37; border-color: #c0d1b3; background: #eaf1e2; }

html[data-theme="camp"] .ranking-table-head > span:last-child { text-align: right; }
html[data-theme="camp"] .ranking-row-player span { font-size: 13px; line-height: 1.5; }
html[data-theme="camp"] .legacy-filter-bar { background: var(--camp-card); border-color: var(--camp-line); border-radius: 14px; align-items: end; }
html[data-theme="camp"] :is(.legacy-filter-bar label,.legacy-records-heading > label) { color: #52654a; font-size: 12px; letter-spacing: .025em; }
html[data-theme="camp"] #legacyPersonal > .legacy-stat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
html[data-theme="camp"] .legacy-timeline { padding: 24px; }
html[data-theme="camp"] .legacy-timeline h3 { font-size: clamp(24px,2.6vw,34px); }
html[data-theme="camp"] :is(.legacy-timeline > .ranking-empty,.legacy-life-grid > .ranking-empty) { grid-column: 1 / -1; min-height: 100px; padding: 24px; font-size: 15px; line-height: 1.6; }
html[data-theme="camp"] .legacy-timeline > .ranking-empty { margin: 0; padding: 20px 0 0; min-height: 0; }
html[data-theme="camp"] .legacy-timeline li span { color: #5a6c52; font-size: 13px; }
html[data-theme="camp"] .legacy-life-card > footer { background: #edf2e5; color: #4c6344; }
html[data-theme="camp"] .legacy-life-card > footer > span { color: #3f6638; }
html[data-theme="camp"] .legacy-life-card > footer [data-online="true"] .ranking-online-dot { background: #477638; }
html[data-theme="camp"] .legacy-badges > span { background: #e8efdd; color: #365d36; border-color: #c5d5b7; font-size: 12px; }
html[data-theme="camp"] .legacy-dossier-stats > div:last-child:nth-child(odd) { grid-column: 1 / -1; }

html[data-theme="camp"] .ticket-console-toolbar { align-items: end; }
html[data-theme="camp"] .ticket-console-toolbar .ticket-filter-tabs { min-height: 50px; }
html[data-theme="camp"] .ticket-console-toolbar .ticket-filter-result { align-self: end; padding-bottom: 4px; }
html[data-theme="camp"] .ticket-console-mark { border-radius: 50%; overflow: hidden; }
html[data-theme="camp"] .ticket-origin-meta { color: #286474 !important; }
html[data-theme="camp"] #adminWorkspace .admin-ticket-origin { color: #286474; }
html[data-theme="camp"] .ticket-closed-actions strong { font: 750 18px/1.35 "Manrope",sans-serif; }
html[data-theme="camp"] :is(#ticketWorkspace,#adminWorkspace) .ticket-status-badge { color: #355d36; background: #e5eedc; border-color: #c2d3b3; }
html[data-theme="camp"] :is(#ticketWorkspace,#adminWorkspace) .ticket-status-badge[data-status="waiting_player"] { color: #6b5425; background: #f6ecd2; border-color: #dcc897; }
html[data-theme="camp"] :is(#ticketWorkspace,#adminWorkspace) .ticket-status-badge[data-status="in_progress"] { color: #286474; background: #e6f0ee; border-color: #b6d0ce; }
html[data-theme="camp"] :is(#ticketWorkspace,#adminWorkspace) .ticket-status-badge[data-status="closed"] { color: #59634f; background: #edf0e8; border-color: #ced6c4; }

@media(max-width:1100px) {
  html[data-theme="camp"] #legacyPersonal > .legacy-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
  html[data-theme="camp"] .quest-progress { grid-template-rows: auto 9px auto; }
  html[data-theme="camp"] .quest-card-status:empty { display: none; }
}
@media(max-width:680px) {
  html[data-theme="camp"] #shopTierDialog { padding: 0; overflow: hidden; }
  html[data-theme="camp"] #shopTierDialog .shop-rank-system { padding: 24px 20px; }
  html[data-theme="camp"] #shopTierDialog .shop-rank-system > header { padding-right: 0; gap: 14px; }
  html[data-theme="camp"] #shopTierDialog .shop-rank-system > header > div { padding-right: 48px; }
  html[data-theme="camp"] #shopTierDialog .shop-rank-track { grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  html[data-theme="camp"] #shopTierDialog .shop-rank-progress > div { align-items: start; flex-direction: column; gap: 8px; }
  html[data-theme="camp"] #shopTierDialog .shop-rank-rewards > section { padding: 14px; }
  html[data-theme="camp"] #shopTierDialog .shop-daily-reward-ladder { grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  html[data-theme="camp"] .shop-mod-detail-visual { padding: 20px; }
  html[data-theme="camp"] .shop-mod-detail-status { margin-right: 40px; }
  html[data-theme="camp"] .shop-mod-detail-copy { padding: 24px; }
  html[data-theme="camp"] .shop-mod-detail-copy h2 { padding-right: 0; }
  html[data-theme="camp"] .shop-mod-detail-visual img { max-height: 260px; }
  html[data-theme="camp"] .shop-mod-detail-facts { grid-template-columns: minmax(0,1fr); }
  html[data-theme="camp"] .legacy-timeline { padding: 20px; }
}
@media(max-width:380px) {
  html[data-theme="camp"] #shopTierDialog .shop-rank-track { grid-template-columns: minmax(0,1fr); }
  html[data-theme="camp"] #adminWorkspace .app-header .admin-brand { gap: 6px !important; }
  html[data-theme="camp"] #adminWorkspace .app-header .admin-brand img { width: 30px !important; height: 30px !important; flex-basis: 30px !important; }
  html[data-theme="camp"] #adminWorkspace .app-header .admin-brand h2 { font-size: 17px !important; }
  html[data-theme="camp"] #adminWorkspace .app-header .app-header-actions { gap: 3px !important; }
  html[data-theme="camp"] #adminWorkspace .app-header .app-header-actions > button { width: 35px; min-width: 35px !important; }
}

/* The retained classic route shares the same light palette and source artwork. */
html[data-theme="camp"] .field-guide {
  --guide-display: "Manrope", "Inter", sans-serif; --guide-body: var(--font);
  --guide-paper: #fffef9; --guide-paper-line: #dcded2;
  --guide-ink: #173d2e; --guide-ink-soft: #657064;
  --guide-olive: #22573e; --guide-olive-bright: #32704d; --guide-rust: #ac4c27;
}
html[data-theme="camp"] .guide-frame { border-color: var(--camp-line); background: var(--camp-card); box-shadow: none; }
html[data-theme="camp"] .hero-stage { background: #f7f1df url('/assets/camp-commons/hero-daylight-20260905.webp') center / cover; }
html[data-theme="camp"] .hero-copy { background: #fffef9e6; }
html[data-theme="camp"] .hero-copy h1 { color: var(--camp-ink); }
html[data-theme="camp"] :is(.hero-facts,.hero-player-count > span:last-child) { color: var(--camp-body); }
html[data-theme="camp"] .hero-server-address { color: var(--camp-ink); background: var(--camp-card); border-color: #c6d3bc; }
html[data-theme="camp"] .hero-server-address :is(span,strong,i) { color: inherit; }
html[data-theme="camp"] .hero-server-address-icon { background: #e7eedf; }
html[data-theme="camp"] .hero-server-address:is(:hover,[data-copied="true"]) { background: #eaf1e3; }
html[data-theme="camp"] .guide-button { border-radius: 10px; font: 750 15px/1.4 var(--font); padding: 12px 20px; }
html[data-theme="camp"] .guide-button.primary { background: #22573e; border-color: #22573e; color: #fff; }
html[data-theme="camp"] .guide-button.primary:hover { background: #173d2e; }
html[data-theme="camp"] .guide-button.secondary { background: #eef2e6; border-color: #cbd7bd; color: #315a37; }
html[data-theme="camp"] :is(.welcome-strip,.paper-content) { background: var(--camp-card); }
html[data-theme="camp"] .mod-preview-card { display: grid; grid-template-rows: 160px auto; aspect-ratio: auto; background: #edf0e5; box-shadow: none; border-color: var(--camp-line); border-radius: 12px; }
html[data-theme="camp"] .mod-preview-card img { object-fit: contain; padding: 8px; }
html[data-theme="camp"] .mod-preview-card:hover img { transform: none; }
html[data-theme="camp"] .mod-preview-fallback { background: #edf0e5; color: #476b41; }
html[data-theme="camp"] .mod-preview-card > span:not(.mod-preview-fallback) { position: static; padding: 12px; background: #f4f6ed; color: #315a37; font: 700 14px/1.5 var(--font); white-space: normal; }
html[data-theme="camp"] .legal-table-hint { display: none; }
@media(max-width:820px) {
  html[data-theme="camp"] .legal-copy > section { padding-left: 0; }
  html[data-theme="camp"] .legal-section-number { position: static; display: block; margin-bottom: 10px; font: 750 13px/1.5 var(--font); color: #526b46; }
  html[data-theme="camp"] .legal-table-hint { display: block; font-size: 13px; color: #53674b; }
  html[data-theme="camp"] .legal-table-wrap { margin-top: 10px; }
}
