/* Component skin for the adventurer shell. All artwork is decorative. */
:root {
  --interface-scale: 1;
  --ui-ink: #29251e;
  --ui-paper: #edddba;
  --ui-brass: #c5a16a;
  --ui-teal: #123438;
}
.adventurer-ui dialog {
  font-size: calc(16px * var(--interface-scale));
}
.adventurer-ui .quest-card p,
.adventurer-ui .journal-notes p,
.adventurer-ui .item-details p,
.adventurer-ui #dialogBody p {
  font-size: calc(16px * var(--interface-scale));
  overflow-wrap: anywhere;
}
.adventurer-ui button {
  touch-action: manipulation;
}
.adventurer-ui button:focus-visible,
.adventurer-ui input:focus-visible,
.adventurer-ui select:focus-visible {
  outline: 3px solid #f5ce7d;
  outline-offset: 3px;
}
.adventurer-ui .play-dock {
  width: min(350px, calc(100% - 20px));
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 5px;
  border-radius: 16px;
  background: linear-gradient(#163338f2, #101f23fa);
  border: 1px solid #b2925f;
  box-shadow:
    0 4px 14px #0008,
    inset 0 1px #ead6a944;
}
.adventurer-ui .play-dock button {
  min-width: 0;
  min-height: 58px;
  border-radius: 10px;
  font-size: 13px;
  padding: 4px;
}
.adventurer-ui .play-dock button > span {
  height: 64px;
  width: 64px;
  margin: -3px auto 0;
  background: url('/assets/interface/dawn-navigation-v2.webp') 0 0/200% 200%;
  display: grid;
  place-items: center;
}
.adventurer-ui .play-dock #dockJournal > span {background-position:100% 0;}
.adventurer-ui .play-dock #dockInventory > span {background-position:0 100%;}
.adventurer-ui .play-dock #dockMore > span {background-position:100% 100%;}
.adventurer-ui .play-dock #dockSelf {
  display: none;
}
.adventurer-ui .panel-sheet {
  border: 1px solid #ba9863;
  border-radius: 17px;
  background: #122d31;
  color: #efe4cd;
}
.adventurer-ui .panel-sheet[open] {
  height: min(88dvh, 820px);
  max-height: calc(100dvh - 12px);
}
.adventurer-ui .sheet-heading {
  background: transparent;
  padding-bottom: 12px;
  border-bottom: 1px solid #c4a16a55;
}
.adventurer-ui .sheet-heading h2 {
  font:
    24px/1.2 Georgia,
    serif;
  letter-spacing: 0.01em;
  color: #efd9ac;
}
.adventurer-ui #panelContent {
  padding-top: 10px;
  scrollbar-color: #9f8253 transparent;
}
.adventurer-ui #journal[data-view="chat"] .journal-tabs {
  display: none;
}
.adventurer-ui #journal:not([data-view="chat"]) #chat,
.adventurer-ui #journal:not([data-view="chat"]) .chat-help,
.adventurer-ui #journal:not([data-view="chat"]) .realm-chat-tools,
.adventurer-ui #journal:not([data-view="chat"]) .social-shortcuts {
  display: none;
}
.adventurer-ui #journalFeed .panel-heading {
  display: none;
}
.social-shortcuts {
  display: flex;
  gap: 7px;
  padding: 0 0 8px;
}
.social-shortcuts button {
  flex: 1;
  min-height: 44px;
  background: #23484a;
  border: 1px solid #77908a;
  border-radius: 10px;
  color: #f0e1c4;
}
.people-roster {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}
.people-roster button {
  min-height: 48px;
  background: #28453c;
  border: 1px solid #a18d61;
  color: #f4e5c4;
  border-radius: 8px;
  overflow-wrap: anywhere;
}
.adventurer-ui #panelDialog[data-surface="chat"] #panelContent {
  overflow: hidden;
  display: flex;
}
.adventurer-ui #panelDialog[data-surface="chat"] #journal {
  width: 100%;
  display: flex;
  min-height: 0;
}
.adventurer-ui #panelDialog[data-surface="chat"] #journalFeed {
  flex: 1;
  min-width: 0;
}
.adventurer-ui #panelDialog[data-surface="chat"] #messages {
  height: auto;
  flex: 1;
  min-height: 70px;
  background: #101f23;
  border: 1px solid #53716d;
  border-radius: 10px;
  font-size: calc(16px * var(--interface-scale));
}
.adventurer-ui #chat {
  display: flex;
  gap: 6px;
  flex: none;
  padding-top: 8px;
}
.adventurer-ui #chatText {
  min-width: 0;
  font-size: 16px;
}
.adventurer-ui #panelDialog[data-surface="journal"] {
  background:
    linear-gradient(#422c22aa, #422c22aa),
    url("/assets/interface/adventurer-materials-v1.webp") 100% 0/200% 200%;
  padding: 12px;
}
.adventurer-ui #panelDialog[data-surface="journal"] #panelContent {
  background: #eedfbd;
  border-radius: 3px 10px 10px 3px;
  padding: 12px 13px 16px 19px;
  box-shadow:
    inset 5px 0 #b99c70,
    inset 8px 0 #ddc8a0,
    2px 2px #c6ad80;
  color: var(--ui-ink);
}
.adventurer-ui .journal-tabs {
  background: #ead9b5;
  gap: 4px;
  top: -12px;
  padding-top: 9px;
}
.adventurer-ui .journal-tabs button {
  background: #d9c49b;
  border: 1px solid #9c7a47;
  border-radius: 3px 3px 8px 8px;
  color: #42301e;
  font-size: 14px;
  min-width: 0;
}
.adventurer-ui .journal-tabs button[aria-pressed="true"] {
  background: #743d36;
  color: #fff1d6;
  border-color: #4d2822;
  box-shadow: 0 3px 0 #572a24;
}
.adventurer-ui #questJournal .dawn-section-art {
  background: none;
  border: none;
  border-bottom: 2px solid #ab8754;
  border-radius: 0;
  padding: 12px 0;
  margin-bottom: 10px;
}
.adventurer-ui #questJournal .dawn-section-art h2 {
  color: #42301f;
  font-size: 26px;
}
.adventurer-ui #questJournal .eyebrow {
  color: #795631;
}
.adventurer-ui .quest-card {
  background: #fff8e34d;
  border: 0;
  border-bottom: 1px solid #ac9065;
  border-radius: 0;
  padding: 14px 0;
  color: #322b22;
}
.adventurer-ui .quest-card h3 {
  color: #5b3827;
  font-size: 23px;
}
.quest-illustrated-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}
.quest-illustrated-heading canvas {
  width: 58px;
  height: 58px;
  flex: none;
  image-rendering: pixelated;
  background: radial-gradient(ellipse, #ab815333, transparent 70%);
}
.quest-page summary {
  min-height: 44px;
  cursor: pointer;
  padding: 12px 0;
  color: #4a3b28;
  font-weight: 600;
}
.quest-page[open] {
  border-top: 1px solid #b89a69;
}
.quest-page small {
  display: block;
  margin-bottom: 10px;
}
.adventurer-ui .quest-card p {
  color: #382e21;
  line-height: 1.6;
}
.adventurer-ui .quest-reward {
  color: #684b20 !important;
  font-weight: 600;
}
.adventurer-ui #questJournal .quest-empty {
  color: #685335;
}
.adventurer-ui #sheetTitle {
  font:
    22px/1.2 Georgia,
    serif;
  letter-spacing: 0;
  text-transform: none;
}
.adventurer-ui #panelDialog #inventory button {
  background: radial-gradient(ellipse at 50% 30%, #6a5740, #342a20);
  border-color: #9f835d;
}
.adventurer-ui #panelDialog #inventory button[aria-pressed="true"] {
  background: #655636;
  border: 2px solid #f5d589;
}
.adventurer-ui #panelDialog[data-surface="journal"] #panelContent {
  background-image:
    linear-gradient(#f0e2c2ed, #f0e2c2ed),
    url("/assets/interface/adventurer-materials-v1.webp");
  background-size:
    100% 100%,
    200% 200%;
  background-position: 0 0;
}
.adventurer-ui .quest-card button,
.adventurer-ui .journal-notes button {
  background: #385a4d;
  border: 1px solid #213f34;
  color: #fff4da;
  border-radius: 6px;
  min-height: 44px;
  padding: 9px 13px;
}
.adventurer-ui .journal-notes {
  color: #392e22;
}
.adventurer-ui .journal-notes .muted {
  color: #68583e;
}
.adventurer-ui .journal-notes textarea {
  background: #fff7df;
  color: #29251e;
  border: 1px solid #927444;
}
.adventurer-ui .journal-notes form {
  margin: 15px 0;
}
.adventurer-ui #journal[data-view="chronicle"] #messages {
  background: #faf0d8;
  color: #30291e;
  height: 55dvh;
  border-color: #ab9167;
}
.adventurer-ui #journal[data-view="chronicle"] #messages p {
  color: #30291e;
}
.adventurer-ui #panelDialog[data-surface="bag"] {
  background:
    linear-gradient(#30291baa, #30291baa),
    url("/assets/interface/adventurer-materials-v1.webp") 100% 0/200% 200%;
}
.adventurer-ui #bag {
  background: #291f18d9;
  border: 1px dashed #af8d56;
  border-radius: 12px;
  padding: 12px;
}
.adventurer-ui .bag-heading {
  border-bottom: 1px solid #c3a47555;
  padding-bottom: 8px;
}
.adventurer-ui .bag-heading h2 {
  font:
    23px Georgia,
    serif;
  color: #f1dbad;
}
.adventurer-ui .held-item {
  background: #85644433;
  border: 1px solid #b5986b;
  border-radius: 8px;
  padding: 7px;
  min-height: 54px;
}
.adventurer-ui #feet {
  font-size: 13px;
  color: #d7c8a7;
}
.adventurer-ui .panel-sheet .inventory {
  max-height: none;
  overflow: visible;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.adventurer-ui .inventory button {
  min-width: 0;
  min-height: 48px;
  aspect-ratio: 1;
  padding: 3px;
  border: 1px solid #90734c;
  border-radius: 7px;
  background: radial-gradient(ellipse at 50% 30%, #6a5740, #342a20);
  box-shadow:
    inset 0 2px 5px #0008,
    0 1px #d6b77444;
}
.adventurer-ui .inventory canvas {
  max-width: 100%;
  height: auto;
}
.adventurer-ui .item-details {
  position: sticky;
  bottom: 0;
  background: #182f2dfc;
  border: 1px solid #c4a371;
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 -8px 20px #0008;
  max-height: 48dvh;
  overflow: auto;
}
.adventurer-ui .bag-back {
  min-height: 44px;
  margin-top: 8px;
}
.adventurer-ui #bag:has(#itemDetails[hidden]) .bag-back {
  display: none;
}
.adventurer-ui #bag > small {
  display: block;
  color: #d0c1a1;
  line-height: 1.5;
}
.realm-hub {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 4px 0 16px;
}
.realm-hub button {
  display: grid;
  text-align: left;
  gap: 6px;
  min-height: 125px;
  min-width: 0;
  border: 1px solid #967d55;
  border-radius: 12px;
  padding: 13px;
  background: linear-gradient(145deg, #254647, #152b2c);
  color: #f3dfb9;
}
.realm-hub strong {
  font:
    20px Georgia,
    serif;
}
.realm-hub small {
  font-size: 13px;
  color: #c8d2c3;
  line-height: 1.4;
}
.hub-icon {
  font-size: 25px;
  color: #e2bd7d;
}
.adventurer-ui #actions > .action-grid {
  display: none;
}
.adventurer-ui #featureCategories {
  display: flex;
  flex-wrap: wrap;
  overflow: visible;
  gap: 5px;
}
.adventurer-ui #featureCategories button {
  min-height: 44px;
  font-size: 13px;
}
.adventurer-ui .feature-card {
  min-height: 72px;
  background: #193633;
  border-color: #687b63;
  border-radius: 9px;
}
.adventurer-ui #settingsDialog {
  background: #142e30;
  border: 1px solid #b09160;
  max-height: 90dvh;
  overflow: auto;
}
.settings-sections {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  position: sticky;
  top: 0;
  background: #142e30;
  z-index: 2;
  padding: 6px 0 12px;
}
.settings-sections button {
  font-size: 13px;
  min-height: 44px;
  padding: 6px;
  border-radius: 7px;
  background: #26494a;
  border: 1px solid #637e72;
  color: #f4e6c7;
}
.settings-sections button[aria-pressed="true"] {
  background: #725334;
  border-color: #d6b276;
  color: #fff0cd;
}
.settings-page label {
  font-size: calc(16px * var(--interface-scale));
  line-height: 1.5;
}
.adventurer-ui #gameDialog {
  background:
    linear-gradient(#342a20ee, #162b2afa),
    url("/assets/interface/adventurer-materials-v1.webp") 100% 100%/200% 200%;
  border-color: #bd9c68;
}
.adventurer-ui #dialogBody button {
  background: #263d35;
  border-color: #8a9672;
  color: #f9edce;
  border-radius: 8px;
  font-size: 16px;
}
.adventurer-ui #gameDialog[data-kind="shop"] #dialogBody button {
  background: #4c3926;
  border-color: #ad8c58;
}
.adventurer-ui #characterDialog,
.adventurer-ui #createDialog {
  background: radial-gradient(ellipse at 50% 0, #39524c, #142828 65%);
  border-color: #ba9863;
}
.adventurer-ui:has(#world[data-graphics="classic"])
  #panelDialog[data-surface="journal"],
.adventurer-ui:has(#world[data-graphics="classic"])
  #panelDialog[data-surface="bag"] {
  background: #45372a;
  border-radius: 7px;
  box-shadow: inset 0 0 0 3px #9e875e;
}
.adventurer-ui:has(#world[data-graphics="dawn3d"]) .play-dock {
  box-shadow:
    0 5px 18px #0009,
    inset 0 1px #f5d6a366;
}
.character-shortcut {
  width: 100%;
  min-height: 48px;
  background: #314e43;
  border: 1px solid #aa9468;
  border-radius: 9px;
  color: #f5e2bd;
  margin-bottom: 10px;
  font:
    19px Georgia,
    serif;
}
.realm-signout {display:block;min-height:44px;margin:18px 0 0;background:transparent;color:#e6c2ad;border:1px solid #9d7b65;border-radius:8px;width:100%;}
@media (max-width: 360px) {
  .adventurer-ui .play-dock {
    width: calc(100% - 12px);
  }
  .adventurer-ui #bag {
    padding: 8px;
  }
  .adventurer-ui .inventory {
    gap: 4px;
  }
  .realm-hub button {
    padding: 10px;
  }
  .settings-sections {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-height: 500px) {
  .adventurer-ui .panel-sheet[open] {
    height: calc(100dvh - 12px);
  }
  .adventurer-ui .item-details {
    max-height: 65dvh;
  }
  .adventurer-ui .play-dock button {
    min-height: 48px;
  }
  .adventurer-ui .play-dock button > span {width:48px;height:48px;}
}
@media (prefers-reduced-motion: reduce) {
  .adventurer-ui * {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
/* Illustrated companion edition: crisp artwork, quiet reading surfaces. */
.adventurer-ui .play-dock {background:linear-gradient(135deg,#163e49f5,#131f32fa);border-color:#d1ad69;gap:3px;}
.adventurer-ui .play-dock button {background:linear-gradient(#496a762b,#102b3844);border:1px solid #bb995535;box-shadow:inset 0 1px #fff1c51c;color:#ffebbd;font-weight:600;min-height:86px;}
.adventurer-ui .play-dock button:active {background:#476978;transform:translateY(2px);}
.adventurer-ui .play-dock button > span {filter:drop-shadow(0 3px 3px #0009);}
.adventurer-ui .panel-sheet {background:radial-gradient(ellipse at top left,#254855,#101e2d 75%);box-shadow:0 12px 50px #0009,inset 0 0 0 4px #dbb86a14;}
.realm-scene {position:relative;isolation:isolate;min-height:178px;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 15px;margin:0 0 14px;border:1px solid #ceac6c;border-radius:12px;overflow:hidden;background:linear-gradient(0deg,#061a29f5,transparent 85%),url('/assets/interface/dawn-companion-scene-v2.webp') center 45%/cover;box-shadow:inset 0 0 0 4px #f5d79312,0 5px 16px #0005;}
.realm-scene .eyebrow {color:#ffe4a8;font-size:10px;letter-spacing:.15em;}
.realm-scene h2 {font:28px/1.1 Georgia,serif;color:#fff0cc;margin:7px 0;text-shadow:0 2px 5px #000;}
.realm-scene p {font-size:13px;color:#e0e8e7;margin:0;}
.realm-hub {gap:10px;}
.realm-hub button {position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:167px;padding:10px 12px 13px;background:radial-gradient(ellipse at 80% 0,#53688277,transparent 75%),linear-gradient(145deg,#223b50,#112330);border-color:#b999655c;box-shadow:inset 0 1px #f3db9e33,0 3px 8px #0003;}
.realm-hub button:nth-child(2n) {background:radial-gradient(ellipse at 80% 0,#47745977,transparent 75%),linear-gradient(145deg,#213d3b,#112c30);}
.realm-hub button:nth-child(3n) {background:radial-gradient(ellipse at 80% 0,#96634466,transparent 75%),linear-gradient(145deg,#423846,#22263b);}
.realm-hub .hub-icon {display:block;width:78px;height:78px;border-radius:12px;background:url('/assets/interface/dawn-tools-v2.webp') 0 0/300% 200%;box-shadow:0 2px 8px #0005;margin-bottom:3px;}
.realm-hub button:nth-child(2) .hub-icon {background-position:50% 0;}
.realm-hub button:nth-child(3) .hub-icon {background-position:100% 0;}
.realm-hub button:nth-child(4) .hub-icon {background-position:0 100%;}
.realm-hub button:nth-child(5) .hub-icon {background-position:50% 100%;}
.realm-hub button:nth-child(6) .hub-icon {background-position:100% 100%;}
.realm-hub strong {color:#ffe6b6;font-size:20px;}
.realm-hub small {color:#d4dfdf;}
.realm-hub button:active {border-color:#ffe0a0;background:#395666;}
.character-shortcut {background:linear-gradient(100deg,#30595a,#25344e);border-color:#bda06d;box-shadow:inset 0 1px #ffefbe33;}
.adventurer-ui #panelDialog[data-surface='journal'] {background:linear-gradient(110deg,#172a43,#234367 55%,#162a45);border-color:#cca75d;}
.adventurer-ui #panelDialog[data-surface='journal'] #panelContent {background:linear-gradient(90deg,#d4bb8b 0,#f1e3c4 5%,#fff3d6 55%,#ead7ac);box-shadow:inset 5px 0 #897046,inset 8px 0 #e2c692,2px 2px #c6ad80;}
.adventurer-ui #questJournal .dawn-section-art {min-height:125px;padding:16px 12px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid #b6965d;border-radius:8px;background:linear-gradient(0deg,#102b39f2,#102b3922),url('/assets/interface/dawn-companion-scene-v2.webp') 35% 60%/cover;}
.adventurer-ui #questJournal .dawn-section-art h2 {color:#ffeac3;text-shadow:0 1px 3px #000;}
.adventurer-ui #questJournal .dawn-section-art .eyebrow {color:#f4d29a;}
.adventurer-ui .journal-tabs button[aria-pressed='true'] {background:#264668;border-color:#122b4a;box-shadow:0 3px #173452;}
.adventurer-ui #panelDialog[data-surface='bag'] {background:linear-gradient(125deg,#563b29,#291d22);}
.adventurer-ui #bag {background:linear-gradient(#342a26,#241f23);border:1px dashed #b49163;box-shadow:inset 0 0 0 4px #c6a26b0c;}
.adventurer-ui .bag-heading {min-height:94px;padding:12px;border:1px solid #b59565;border-radius:8px;background:linear-gradient(90deg,#1d242af5,#1d242a33),url('/assets/interface/dawn-companion-scene-v2.webp') right 75%/cover;}
.adventurer-ui #panelDialog #inventory button {background:radial-gradient(ellipse at 50% 20%,#6b5944,#292931 85%);border-color:#b0956d88;}
.adventurer-ui #panelDialog #inventory button:active {box-shadow:inset 0 0 0 2px #ffda7c;}
.adventurer-ui #panelDialog[data-surface='chat'] {background:radial-gradient(ellipse at top,#274e59,#132734 60%);}
.adventurer-ui #panelDialog[data-surface='chat'] #messages {background:linear-gradient(135deg,#132c39,#0e202c);border-color:#79948c66;box-shadow:inset 0 2px 14px #0004;}
.adventurer-ui .social-shortcuts button {background:linear-gradient(#315865,#213f50);border-color:#bb9d6566;}
.adventurer-ui #settingsDialog,.adventurer-ui #gameDialog {background:radial-gradient(ellipse at top left,#35515d,#152737 75%);border-color:#d0ad72;box-shadow:inset 0 0 0 4px #edc47e12,0 10px 40px #0008;}
.adventurer-ui .settings-sections {background:#19323f;}
.adventurer-ui .settings-sections button[aria-pressed='true'] {background:linear-gradient(#496987,#2e4967);border-color:#ddbd7b;box-shadow:inset 0 1px #fff4d255;}
.adventurer-ui .settings-page label {padding:10px;border-bottom:1px solid #c6b38c22;}
@media(hover:hover) { .realm-hub button:hover,.adventurer-ui .play-dock button:hover {border-color:#e6c27b;box-shadow:inset 0 0 16px #e7ba5818,0 3px 10px #0005;} }
@media(max-height:500px) { .realm-scene {min-height:110px;} .adventurer-ui .play-dock button {min-height:66px;} }
/* Jewel command deck. Artwork stays inside the original command hit targets. */
.adventurer-ui #controls {position:relative;isolation:isolate;gap:12px;padding:12px;align-items:stretch;background:radial-gradient(ellipse at 15% 0,#21657566,transparent 65%),linear-gradient(120deg,#162b39,#172334 55%,#352332);border-top:2px solid #c8a469;box-shadow:inset 0 3px #efd39118,inset 0 -2px #0005;}
.adventurer-ui #controls[hidden] {display:none;}
.adventurer-ui #controls .dpad {grid-template-columns:repeat(2,minmax(0,1fr));flex:0 0 38%;gap:6px;align-items:center;padding:5px;border:1px solid #b6985c55;border-radius:16px;background:radial-gradient(ellipse,#27687855,#0c1b2c66);box-shadow:inset 0 2px 10px #0006;}
.adventurer-ui #controls .primary-actions {grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:none;min-width:0;}
.adventurer-ui #controls button {position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;min-width:0;min-height:72px;height:auto;padding:4px;border:1px solid #bca16b66;border-radius:12px;background:linear-gradient(#263b4c,#122739);box-shadow:inset 0 1px #ffe8aa30,0 2px 4px #0005;touch-action:none;}
.adventurer-ui #controls .dpad button {padding:2px;border-color:transparent;background:transparent;box-shadow:none;min-height:66px;}
.adventurer-ui #controls .control-art {display:block;flex:none;width:52px;height:52px;pointer-events:none;background:url('/assets/interface/dawn-combat-v1.webp') 0 0/200% 200%;filter:drop-shadow(0 2px 2px #0008);}
.adventurer-ui #controls [data-command='get'] .control-art {background-position:100% 0;}
.adventurer-ui #controls [data-command='u'] .control-art {background-position:0 100%;}
.adventurer-ui #controls [data-command='look'] .control-art {background-position:100% 100%;}
.adventurer-ui #controls .dpad .control-art {width:min(100%,60px);height:auto;aspect-ratio:1;background:url('/assets/interface/dawn-direction-v1.webp') center/contain no-repeat;transform:rotate(var(--direction,0deg));}
.adventurer-ui #controls [data-command='m 9'] {--direction:90deg;}
.adventurer-ui #controls [data-command='m 1'] {--direction:-90deg;}
.adventurer-ui #controls [data-command='m 3'] {--direction:180deg;}
.adventurer-ui #controls .primary-actions span {display:block;margin:0;color:#ffedc4;font:600 12px/1.2 system-ui,sans-serif;white-space:nowrap;pointer-events:none;}
.adventurer-ui #controls [data-command='sw'] {--command-glow:#ff7858;background:linear-gradient(#622f35,#38202a);border-color:#cf8c63;}
.adventurer-ui #controls [data-command='get'] {--command-glow:#62ecc0;background:linear-gradient(#254e42,#172f31);}
.adventurer-ui #controls [data-command='u'] {--command-glow:#bf94ff;background:linear-gradient(#46365b,#28233c);}
.adventurer-ui #controls [data-command='look'] {--command-glow:#72c7ff;background:linear-gradient(#284665,#192b44);}
.adventurer-ui #controls button::after {content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 20%,#fff5cb44,transparent 75%);box-shadow:inset 0 0 12px var(--command-glow,#76d7ff);}
.adventurer-ui #controls button.control-held::after,.adventurer-ui #controls button:active::after {opacity:1;}
.adventurer-ui #controls button.control-held {border-color:#ffe0a0;box-shadow:inset 0 2px 6px #0009,0 0 8px #cda15b55;}
@media(prefers-reduced-motion:no-preference) {
 .adventurer-ui #controls button {transition:box-shadow .14s,border-color .14s;}
 .adventurer-ui #controls button::after {transition:opacity .15s;}
 .adventurer-ui #controls .control-art {transition:filter .15s;}
 .adventurer-ui #controls button.control-held .control-art {filter:drop-shadow(0 0 5px var(--command-glow,#7be0ff)) brightness(1.15);}
}
@media(hover:hover) {.adventurer-ui #controls button:hover {border-color:#f8d38b;} .adventurer-ui #controls button:hover::after {opacity:.5;}}
@media(min-width:700px) and (min-height:501px) {.adventurer-ui #controls .dpad {flex-basis:160px;} .adventurer-ui #controls .primary-actions {grid-template-columns:repeat(4,minmax(0,1fr));} .adventurer-ui #controls .primary-actions .control-art {width:70px;height:70px;}}
@media(max-height:500px) {.adventurer-ui #controls {padding:5px;gap:6px;} .adventurer-ui #controls .control-art {width:38px;height:38px;} .adventurer-ui #controls button {min-height:54px;} .adventurer-ui #controls .dpad button {min-height:48px;} .adventurer-ui #controls .dpad .control-art {max-width:46px;} }
/* Compact command deck with an always-reachable local speech composer. */
.adventurer-ui #controls {padding:6px 10px;gap:9px;}
.adventurer-ui #controls .dpad {flex-basis:31%;padding:2px;gap:2px;}
.adventurer-ui #controls button {min-height:56px;padding:2px;}
.adventurer-ui #controls .dpad button {min-height:50px;}
.adventurer-ui #controls .control-art {width:36px;height:36px;}
.adventurer-ui #controls .dpad .control-art {max-width:46px;}
.adventurer-ui #quickChat {order:5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;margin:0;padding:6px 10px 8px 27px;background:linear-gradient(#10273433,#10273433),url('/assets/interface/dawn-quick-chat-v1.webp') center/100% auto;border-top:1px solid #d5b27470;}
.adventurer-ui #quickChatText {min-width:0;width:100%;height:44px;margin:0;border:1px solid #bb9d6566;border-radius:8px;padding:8px 10px;background:#0d242bdd;color:#fff2d3;font:16px system-ui;}
.adventurer-ui #quickChatText::placeholder {color:#b9cec9;}
.adventurer-ui #quickChat button {min-height:44px;min-width:58px;border-radius:8px;border:1px solid #dabd80;background:linear-gradient(#406576,#213d50);color:#ffebbd;font-weight:600;}
.adventurer-ui #quickChat:focus-within {box-shadow:inset 0 0 12px #88dce629;}
.adventurer-ui #quickChat button:active {background:#5b7480;box-shadow:inset 0 2px 5px #0008;}
.adventurer-ui #quickChatStatus:empty {display:none;}
.adventurer-ui #quickChatStatus {grid-column:1/-1;color:#ffdbb0;background:#15232a;padding:5px;font-size:13px;}
@media(min-width:700px) and (min-height:501px) {.adventurer-ui #controls .primary-actions .control-art {width:46px;height:46px;} .adventurer-ui #controls .dpad {flex-basis:136px;}}
.adventurer-ui #controls .dpad {min-width:104px;}
.speech-bubbles .speech-bubble {padding:13px 16px 15px;background:linear-gradient(#102a3333,#102a3333),url('/assets/interface/dawn-speech-v1.webp') center/100% 100%;border-color:#d1b273;color:#fff0d2;border-radius:14px;}
.speech-bubbles .speech-bubble strong {padding-right:38px;color:#efd094;}
.speech-bubbles .speech-bubble p {padding-right:12px;}
.speech-bubbles .speech-bubble button {right:3px;top:3px;border:1px solid #d4b57688;border-radius:10px;background:#183441;color:#fff1cc;font-size:26px;}
.speech-bubbles .speech-bubble button:active {background:#527083;}
.speech-bubbles[data-mode=classic] .speech-bubble {--bubble-bg:#17303b;--bubble-ink:#fff0d2;border-radius:6px;}
.speech-bubbles .speech-bubble strong {min-height:31px;}
/* A compact, persistent handle keeps the dock reachable while hidden. */
.adventurer-ui .play-dock #dockToggle {position:absolute;right:3px;top:-43px;min-height:44px;height:44px;padding:0 13px;font:600 12px system-ui;color:#ffe8b6;background:linear-gradient(#294c5a,#152c3a);border:1px solid #bda06a;border-radius:12px 12px 0 0;box-shadow:0 -2px 9px #0004;}
.adventurer-ui .play-dock[data-collapsed='true'] {width:132px;min-height:44px;padding:0;display:block;border:0;background:transparent;backdrop-filter:none;box-shadow:none;}
.adventurer-ui .play-dock[data-collapsed='true'] > button:not(#dockToggle) {display:none;}
.adventurer-ui .play-dock[data-collapsed='true'] #dockToggle {position:static;width:100%;border-radius:12px;}
/* Slim edge handle, with a larger transparent touch target. */
.adventurer-ui .play-dock #dockToggle {left:50%;right:auto;top:-24px;transform:translateX(-50%);width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;background:transparent;border:0;box-shadow:none;border-radius:12px;font:20px/1 system-ui;color:#ead6a7;isolation:isolate;}
.adventurer-ui .play-dock #dockToggle::before {content:'';position:absolute;z-index:-1;width:32px;height:16px;background:#19333fe8;border:1px solid #ae936377;border-radius:8px;box-shadow:0 1px 4px #0005;}
.adventurer-ui .play-dock #dockToggle:hover::before,.adventurer-ui .play-dock #dockToggle:focus-visible::before {border-color:#edcf90;background:#315160;}
.adventurer-ui .play-dock[data-collapsed='true'] {width:44px;min-height:44px;}
.adventurer-ui .play-dock[data-collapsed='true'] #dockToggle {position:relative;left:0;top:0;transform:none;width:44px;}
.adventurer-ui .play-dock[data-collapsed='true'] #dockToggle::before {height:22px;}
/* Compact illustrated controls: preserve touch targets, remove excess framing. */
.adventurer-ui .play-dock:not([data-collapsed='true']) {width:min(320px,calc(100% - 16px));padding:3px;gap:2px;border-radius:13px;}
.adventurer-ui .play-dock > button:not(#dockToggle) {min-height:60px;padding:2px;font-size:12px;border-radius:9px;}
.adventurer-ui .play-dock > button:not(#dockToggle) > span {width:44px;height:44px;margin:0 auto;}
.adventurer-ui #controls {padding:4px 8px;gap:7px;}
.adventurer-ui #controls .dpad {min-width:96px;flex:0 0 96px;padding:1px;gap:2px;border-radius:12px;}
.adventurer-ui #controls .dpad button {min-height:44px;height:44px;padding:1px;}
.adventurer-ui #controls .dpad .control-art {max-width:40px;}
.adventurer-ui #controls .primary-actions {gap:3px;}
.adventurer-ui #controls .primary-actions button {min-height:44px;padding:2px;flex-direction:row;gap:3px;}
.adventurer-ui #controls .primary-actions .control-art {width:32px;height:32px;}
.adventurer-ui #controls .primary-actions span {font-size:11px;white-space:normal;text-align:left;line-height:1.15;}
.adventurer-ui #quickChat {padding:2px 7px 3px 18px;gap:4px;}
.adventurer-ui #quickChatText {padding:6px 8px;}
.adventurer-ui #quickChat button {min-width:50px;padding:4px 7px;}
@media(min-width:700px) {.adventurer-ui #controls .primary-actions {grid-template-columns:repeat(4,minmax(0,1fr));}.adventurer-ui #controls .primary-actions .control-art {width:40px;height:40px;}}

/* Story art stays legible inside the parchment journal on narrow screens. */
.quest-illustrated-heading img { width:96px; height:72px; object-fit:cover; border-radius:7px; flex:none; border:1px solid #9c794c; }
.adventurer-ui .quest-page small { color:#614a32; }
