/* Velmoria: original pixel frames, slate insets and timber title strips.
   The fixed world raster, camera and responsive layout are owned by game-ui.css. */
@font-face {
  font-family:'Velmoria Pixel'; src:url('ui/fonts/PixelifySans-1.woff2') format('woff2');
  font-style:normal; font-weight:400 700; font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:'Velmoria Pixel'; src:url('ui/fonts/PixelifySans-2.woff2') format('woff2');
  font-style:normal; font-weight:400 700; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  color-scheme:dark; --ink:#10191e; --panel:#243137; --panel-raised:#304047;
  --text:#e6dfcb; --muted:#b0b7af; --border:#745a3e; --copper:#d4b57a;
  --copper-dark:#745438; --blue:#7bb0c0; --hp:#bd6855; --mana:#6c9cab; --xp:#c7a768;
  --paper:#243137; --paper-light:#2b3b40; --paper-dark:#182328;
  font:12px/1.6 Verdana,Arial,sans-serif; background:var(--ink); color:var(--text);
}
body,body.in-game { color:var(--text); background:#131e23; background-image:none; }
button,input,select { font-family:Verdana,Arial,sans-serif; }
h1,h2,h3,h4 { font-family:'Velmoria Pixel','Courier New',monospace; font-weight:500; }
.auth-screen,.character-screen,.game-screen { background:#18262c; color:var(--text); }
.auth-screen,.character-screen { border:6px solid transparent; border-image:url('ui/pixel-frame.svg') 6 stretch; outline:none; box-shadow:0 6px 0 #0b1216; }
.panel,.game-screen .panel,dialog.panel,.realm-journal,.auth-card,.creation-panel,.character-roster,.portal-menu {
  border:6px solid transparent; border-image:url('ui/pixel-frame.svg') 6 stretch;
  border-radius:0; color:var(--text); background:#243137 url('ui/pixel-stone.svg');
  box-shadow:0 3px 0 #0d161b; background-clip:padding-box;
}
.game-screen .section-heading,dialog .section-heading {
  border-bottom:2px solid #455459; padding:0 0 7px; gap:8px;
}
.game-screen .section-heading h2,dialog .section-heading h2,.shop-heading h3,.bag-dialog h3 {
  font:500 18px/1.25 'Velmoria Pixel','Courier New',monospace; color:#e7c58a;
  text-shadow:1px 1px #10171a; letter-spacing:.01em;
}
.game-screen .section-heading h2::before {
  content:''; display:inline-block; width:4px; height:4px; margin:0 7px 3px 0;
  background:#cba873; box-shadow:2px 0 #7f6442,0 2px #7f6442;
}
.field-help,.muted,.eyebrow,.menu-caption,.auth-note,.auth-creature-caption,.realm-summary,.empty-state { color:var(--muted); }
.eyebrow { color:#c5a579; font:11px/1.5 Verdana,Arial,sans-serif; letter-spacing:.03em; }
.count-pill,.game-screen .count-pill { color:#d4c49f; background:#182328; border:1px solid #756343; border-radius:0; font:10px/1.6 Verdana,Arial,sans-serif; }
button:not(.color-choice),button.secondary,.segmented button,.choice-button,.class-choice,.ability-button {
  color:#e6dfcb; background:#39484b; border:2px solid #162126; border-radius:0;
  box-shadow:inset 2px 2px #687975,inset -2px -2px #273237,0 2px #0e171b;
  text-shadow:1px 1px #162126; transition:background-color .1s,border-color .1s;
}
button:hover:not(:disabled):not(.color-choice),button.secondary:hover:not(:disabled),.class-choice:hover:not(:disabled) {
  background:#485b5c; border-color:#bba077; color:#fff1cc;
}
button:active:not(:disabled):not(.color-choice) { box-shadow:inset 2px 2px #203035,inset -1px -1px #687975; background:#2d3d42; }
button.primary,.auth-card form>.primary { background:#425c4e; border-color:#17241f; color:#f0e8c9; box-shadow:inset 2px 2px #809574,inset -2px -2px #2a3d34,0 2px #0d1714; font:500 19px/1.25 'Velmoria Pixel',monospace; }
button.primary:hover:not(:disabled) { background:#536e5b; border-color:#c6b083; }
button.quiet { color:#b5c0b6; background:#1e2c31; border-color:#43534f; box-shadow:inset 1px 1px #52615b,inset -1px -1px #142024; text-shadow:none; }
button.quiet:hover:not(:disabled) { color:#f0d9a5; background:#31443e; border-color:#9c865e; }
button:disabled { opacity:.45; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:2px solid #efd091; outline-offset:2px; }
.segmented button.active,.choice-button.selected,.class-choice.selected,.class-choice.selected:hover:not(:disabled),.ability-button.selected {
  background:#405c4b; color:#f2e4bd; border-color:#b8a071;
  box-shadow:inset 2px 2px #728368,inset -2px -2px #293c31;
}
.class-choice strong { color:inherit; font:500 18px/1.3 'Velmoria Pixel',monospace; }
.class-choice small,.class-choice.selected small { color:#c0cbb9; }
input,select,.chat-form input { color:#eae4d3; background:#16252b; border:2px solid #526363; border-radius:0; color-scheme:dark; box-shadow:inset 2px 2px #0d191e; }
input::placeholder,.chat-form input::placeholder { color:#9ba99f; font-family:Verdana,Arial,sans-serif; }
.form-error { color:#f4c6b8; background:#492b2b; border-color:#99594d; }
.color-choice { box-shadow:none; border-radius:0; border-color:#1c2a30; outline:1px solid #58645e; }
.color-choice.selected { outline:2px solid #d9bb82; outline-offset:2px; }
.color-choice:hover:not(:disabled) { background:var(--swatch); border-color:#d9bb82; }
.realm-banner { background:#1b2b2a url('ui/artarian-panorama.png') center 49%/cover; background-blend-mode:normal; border-color:#745a3e; box-shadow:inset 0 0 0 2px #10191e; }
.realm-banner::before { border-color:#e8c78a55; }.realm-banner::after { border-color:#07131bb3; }
.banner-title h1 { color:#f1d8a0; font:600 74px/1 'Velmoria Pixel',monospace; font-variant:normal; letter-spacing:.035em; text-shadow:3px 3px #132126,0 3px #132126; }
.banner-subtitle,.banner-caption { color:#ead5ac; text-shadow:1px 2px #121e24; font-family:Verdana,Arial,sans-serif; font-style:normal; }
.banner-ornament { background:#d5ba83; box-shadow:0 2px #19272b; }.banner-ornament::after { border-color:#d5ba83; background:#293b39; transform:none; width:6px; height:6px; top:-2px; }
.portal-bar,.portal-footer { background:#273339; color:#bac3b6; border-color:#5c654f; }
.wood-title,.page-heading { background:#443c30 url('ui/pixel-wood.svg'); color:#e8d6af; border-color:#8c724e; box-shadow:inset 0 2px #6e5e43,inset 0 -2px #27271f; text-shadow:1px 1px #151c1b; }
.wood-title { font:500 24px/1.3 'Velmoria Pixel',monospace; }
.portal-menu nav a { color:#bec9bb; font:500 18px/1.4 'Velmoria Pixel',monospace; }
.portal-menu nav a.selected,.portal-menu nav a:hover { background:#35473c; color:#efd399; text-decoration:none; box-shadow:inset 3px 0 #be9a64; }
.realm-journal,.auth-card { box-shadow:0 3px #0d161b; }
.welcome-letter h2,.world-primer h3,.character-heading h1,.creation-panel .section-heading h2,.auth-card h2 { color:#e6c891; font-family:'Velmoria Pixel',monospace; }
.welcome-letter h2 { font-size:32px; }.character-heading h1 { font-size:36px; }
.welcome-letter p,.world-primer p,.class-detail,.character-heading .muted,.empty-state { font-family:Verdana,Arial,sans-serif; font-style:normal; }
.world-preview { background:#18292a; border:3px solid #766345; box-shadow:0 3px #121e22; }
.world-preview figcaption { background:#34453c; color:#dfd6b8; font-family:Verdana,Arial,sans-serif; }
.world-preview img { image-rendering:pixelated; }
.auth-card form { background:#1b292f; border-color:#465651; box-shadow:inset 0 2px #111e23; }
.auth-card label,.auth-card .field-help { color:#c0c7b9; }
.account-line { color:#dddfc9; background:#20322f; border-color:#60715c; }
.wordmark,.page-heading .wordmark,.wordmark.compact { color:#e8cd94; font-family:'Velmoria Pixel',monospace; text-shadow:2px 2px #111b1f; letter-spacing:.02em; }
.wordmark small,.page-heading .wordmark small { color:#b8b99b; }
.brand-mark,.compact .brand-mark { color:#f2d293; background:#243b35; border:2px solid #ba9a67; box-shadow:inset 2px 2px #65806a,inset -2px -2px #14251f; font-family:'Velmoria Pixel',monospace; }
.character-entry { background:#203035; color:#d7dece; }
.character-entry strong,.character-entry .character-level { color:#e6cf9f; font-family:'Velmoria Pixel',monospace; font-size:19px; }
.character-entry small { color:#b4c1b4; font-size:11px; }
.character-roster>h2 { color:#e6cf9f; font-family:'Velmoria Pixel',monospace; }
.creation-panel .muted,.creation-panel legend,.creation-panel .eyebrow,.creation-panel .count-pill,.creation-panel .field-help,.avatar-preview-wrap { color:#bfc4ae; }
.class-detail { color:#c6cbb9; border-color:#506050; }
.avatar-stage { background:#20372f; border:6px solid transparent; border-image:url('ui/pixel-frame.svg') 6 stretch; box-shadow:inset 0 -12px #162a23; }
.game-screen { background:#18262c; }
.game-screen .game-header { background:#443c30 url('ui/pixel-wood.svg'); border:6px solid transparent; border-image:url('ui/pixel-frame.svg') 6 stretch; box-shadow:0 3px #0d161b; }
.profile-identity { border-color:#9a875344; }.profile-identity strong { color:#f1dfb4; font:500 19px/1.15 'Velmoria Pixel',monospace; }
.profile-identity>.muted,.experience,.ward-label { color:#c0c1ac; }
.bar-labels { color:#e4dcc8; font:11px/1.3 Verdana,Arial,sans-serif; }
.experience #location-name { color:#dec691; }
.meter { border:1px solid #122024; outline:1px solid #738176; background:#182326; border-radius:0; box-shadow:inset 0 1px #0b1418; }
.meter.hp span { background:#ad5a49; box-shadow:inset 0 2px #d88a6b; }
.meter.resource span { background:#578795; box-shadow:inset 0 1px #8ab4b5; }
.meter.xp span { background:#b99858; box-shadow:inset 0 1px #e0c47a; }
.game-screen .header-actions button { color:#e8d9b7; background:#35463e; border:2px solid #162421; box-shadow:inset 2px 2px #778573,inset -2px -2px #20312a; }
.game-screen .header-actions button:hover:not(:disabled) { background:#4d6352; border-color:#bda575; }
.equipment-slot,.equipment-slot[role="button"] { min-height:66px; color:#9ca999; background:#17252b; border:2px solid #52615a; box-shadow:inset 2px 2px #0e1a20,inset -1px -1px #71817344; }
.equipment-slot::before { background-color:#94a394; opacity:.36; top:10px; }
.equipment-slot>span:first-child { font:10px/1.3 Verdana,Arial,sans-serif; z-index:1; }
.equipment-slot.filled { color:#e2cf9c; }.equipment-slot.filled::before { opacity:0; }.equipment-slot.filled .slot-content { display:none; }
.equipment-slot .item-icon { position:absolute; width:44px; height:44px; left:calc(50% - 22px); top:7px; bottom:auto; }
.equipment-slot.rarity-unique { border-color:#a1b978; }.equipment-slot.rarity-rare { border-color:#70b8c9; }.equipment-slot.rarity-legendary { border-color:#d9ab61; }
.equipment-panel>.field-help,.coins-line { color:#bbc3ae; }
.coins-line { font-size:11px; border-top:1px solid #45564f; padding-top:8px; }
.equipment-panel .section-heading h2 { font-size:16px; white-space:nowrap; }
.godot-world { border:6px solid transparent; border-image:url('ui/pixel-frame.svg') 6 stretch; outline:none; box-shadow:0 3px #0d161b; background:#101e21; }
.world-location { color:#e8e0c7; background:#1a2c2ae8; border:2px solid #7a8565; box-shadow:2px 2px #15221eb3; font-family:Verdana,Arial,sans-serif; }
.safe-badge { color:#b1d196; border-color:#607258; }
.engine-loading { color:#d7ddc6; background:#243137 url('ui/pixel-stone.svg'); }
.engine-loading strong { color:#e6cb92; font-family:'Velmoria Pixel',monospace; font-size:24px; }.loading-rune { color:#dfc58f; background:#2a4037; border:2px solid #be9c67; box-shadow:inset 2px 2px #6b7b60,inset -2px -2px #15281e; }
.engine-loading progress { accent-color:#90a575; }.engine-loading progress::-webkit-progress-bar { background:#17272c; }.engine-loading progress::-webkit-progress-value { background:#90a575; }
.minimap-panel canvas { border:2px solid #768065; background:#142b24; box-shadow:0 0 0 2px #152329; }
.map-legend,.group-member,.connection-panel,.game-screen .section-heading>.muted { color:#bac6b6; }
.quest-panel h3 { color:#ded2a5; font:500 19px/1.2 'Velmoria Pixel',monospace; }
.quest-panel p { color:#c6cabb; font:12px/1.65 Verdana,Arial,sans-serif; }.quest-panel .quest-progress { color:#abbe93; }
.quest-panel button { min-height:30px; }
.message-log,.event-panel .message-log { color:#c9d0bd; font:12px/1.6 Verdana,Arial,sans-serif; scrollbar-color:#6b785f #17282d; }
.message-log .author { color:#e5c48c; }
.chat-form input { font-size:12px; }
.game-help,.battle-help,.battle-target { color:#aab7a8; font-family:Verdana,Arial,sans-serif; }
kbd,.game-help kbd,.battle-help kbd { background:#243a3c; color:#cfd6bb; border:1px solid #586b60; border-radius:0; }
.notice { color:#eee0b4; background:#294036; border:2px solid #a48e61; box-shadow:2px 3px #11221b; }
.notice.error { color:#f1c3b0; background:#4b302c; border-color:#ae7860; }
dialog.panel { color:#e6dfcb; background:#243137 url('ui/pixel-stone.svg'); border:6px solid transparent; border-image:url('ui/pixel-frame.svg') 6 stretch; box-shadow:0 6px #0d161b,0 0 0 2px #0b1518; }
dialog::backdrop { background:#0b141bb3; }
dialog .eyebrow,.settings-section>h3,.toggle-row small { color:#bac5b3; }
.settings-section>h3 { font:500 20px/1.3 'Velmoria Pixel',monospace; color:#dbc796; }
.toggle-row { color:#d4dcca; }.toggle-row>i { border:2px solid #718069; border-radius:0; background:#17282b; box-shadow:inset 2px 2px #0c191b; }.toggle-row input:checked+i { background:#415b47; border-color:#b1ba82; }.toggle-row>i::after { border-color:#cbdba2; }
.npc-dialogue { color:#e3dfcc; font:14px/1.75 Verdana,Arial,sans-serif; }.npc-actions { border-color:#52625b; }
.market-item { border-color:#4e5d57; gap:14px; padding:13px 1px; }
.item-details { flex:1; }.item-details strong { color:#e6dfcb; font:600 13px/1.45 Verdana,Arial,sans-serif; }
.item-details small,.market-item .item-stats { color:#b9c8b2; font:11px/1.65 Verdana,Arial,sans-serif; }
.item-icon { image-rendering:pixelated; }.item-use-note { font-style:normal; }
.rarity-unique .item-caption { color:#b8d88e; }.rarity-rare .item-caption { color:#8ed2e1; }.rarity-legendary .item-caption { color:#e9bf77; }
.equipped-item { color:#d9ddc8; border-color:#4e5d57; }.outfit-note,.outfit-note strong { color:#b9c8b2; }
.combatant,.combatant.local { background:#1d2e33; color:#dce2cc; border:2px solid #5b6d65; box-shadow:inset 2px 2px #142329,inset -1px -1px #6a7c6644; }
.combatant.selected,.combatant.local.selected { background:#385345; border-color:#c9ce98; box-shadow:inset 2px 2px #718263; }.combatant.current { border-color:#d8b97d; box-shadow:inset 0 0 0 1px #ac9161; }
.combatant h4,.combatant .combat-hp { color:#e4dfc7; }.combatant .combat-resource { color:#a9c7ca; }.combatant .combat-status { color:#d2bd8f; }
.combatant .local-badge { color:#cee0b0; background:#304c35; border-color:#869976; }.ability-button .ability-cost { color:#bdcbb6; }
.battle-divider { color:#c4b58f; font-family:'Velmoria Pixel',monospace; font-style:normal; }.battle-divider::before,.battle-divider::after { background:#786c50; }
.side-caption { color:#cabd95; font-family:'Velmoria Pixel',monospace; font-size:16px; }
.equipment-dialog .equipment-panel { border:0; background:transparent; box-shadow:none; }
.equipment-dialog .equipment-slot .item-icon { width:48px; height:48px; left:calc(50% - 24px); top:9px; }
.mobile-controls button { color:#e9deb9; background:#263c35ed; border:2px solid #80916c; box-shadow:inset 2px 2px #687f60,2px 2px #12201b; }
.death-screen { background:#000; color:#eee7db; }.death-screen h1,.death-screen p { font-family:Verdana,Arial,sans-serif; }
/* The equipment raster keeps its original area; long stat lists scroll here. */
.game-screen>.equipment-panel { max-height:100%; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#6b785f #17282d; }
.equipment-dialog .equipment-panel { max-height:none; overflow:visible; }
.equipment-tabs { display:flex; gap:4px; margin-top:9px; }
.equipment-tabs button { flex:1; min-width:0; min-height:30px; padding:5px 3px; font:11px/1.4 Verdana,Arial,sans-serif; }
.equipment-tabs button[aria-selected="true"] { color:#f2e4bd; background:#405c4b; border-color:#b8a071; box-shadow:inset 2px 2px #728368,inset -2px -2px #293c31; }
#equipment-gear-view>.field-help { color:#bbc3ae; font-size:9px; margin-top:10px; }
.equipment-stats-view { margin-top:10px; }
.compact-stat { display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding:7px 0; border-bottom:1px solid #43534f; }
.compact-stat .stat-label { display:block; color:#cfd7c1; font:11px/1.45 Verdana,Arial,sans-serif; }
.compact-stat .stat-total { color:#edcd88; font:700 12px/1.5 Verdana,Arial,sans-serif; font-variant-numeric:tabular-nums; white-space:nowrap; }
.stats-extra { margin-top:11px; border-top:1px solid #52625b; padding-top:9px; }
.stats-extra>summary { cursor:pointer; color:#d8c49a; font:11px/1.5 Verdana,Arial,sans-serif; }
.stats-extra>summary:focus-visible { outline:2px solid #efd091; outline-offset:3px; }
.bag-stats { margin-top:18px; padding-top:14px; border-top:2px solid #52625b; }
.stats-table { width:100%; border-collapse:collapse; font:12px/1.5 Verdana,Arial,sans-serif; font-variant-numeric:tabular-nums; }
.stats-table th,.stats-table td { padding:6px 5px; border-bottom:1px solid #43534f; text-align:right; vertical-align:top; }
.stats-table thead th { color:#b5c1ae; font-size:10px; font-weight:normal; }
.stats-table th:first-child { text-align:left; }.stats-table tbody th { color:#cfd7c1; font-weight:normal; }
.stats-table .stat-total { color:#edcd88; font-weight:bold; white-space:nowrap; }
.travel-dialog { width:min(740px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; }
.travel-summary { display:flex; justify-content:space-between; gap:14px; align-items:baseline; margin-top:12px; }
.travel-summary p { margin:0; }.travel-summary strong { color:#edcd88; font:12px/1.55 Verdana,Arial,sans-serif; white-space:nowrap; font-variant-numeric:tabular-nums; }
.travel-status { min-height:20px; color:#b9c8b2; font:12px/1.65 Verdana,Arial,sans-serif; margin:12px 0; }.travel-status.travel-error { color:#f1c3b0; }
.travel-region { margin-top:17px; }.travel-region-heading { display:flex; align-items:center; gap:9px; padding-bottom:7px; border-bottom:2px solid #52625b; color:#dbc796; font:500 22px/1.35 'Velmoria Pixel',monospace; }
.travel-region-mark { width:12px; height:12px; flex:none; background:var(--travel-region,#789577); border:2px solid #102025; box-shadow:inset 2px 2px #ffffff33,2px 2px #111c20; }
.travel-destination { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:12px 0; border-bottom:1px solid #43534f; }
.travel-destination-info { min-width:0; overflow-wrap:anywhere; }.travel-destination-info strong { display:block; color:#e6dfcb; font:600 13px/1.5 Verdana,Arial,sans-serif; }.travel-destination-info small { display:block; color:#b7c2b1; font:11px/1.6 Verdana,Arial,sans-serif; margin-top:2px; }
.travel-destination-info .travel-shortfall { color:#e6b996; }
.travel-destination button { width:220px; flex:none; min-height:35px; font:11px/1.5 Verdana,Arial,sans-serif; padding:7px 9px; overflow-wrap:anywhere; }
#travel-retry { margin-top:16px; font:12px/1.5 Verdana,Arial,sans-serif; }
@media(max-width:480px) { .travel-dialog { padding:14px; }.travel-summary { flex-wrap:wrap; gap:4px; }.travel-destination { flex-wrap:wrap; gap:7px; }.travel-destination button { width:100%; }.travel-region-heading { font-size:20px; } }
.journal-open { display:none; }
.journal-dialog { width:min(640px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); }
.journal-dialog .event-panel { display:flex; width:100%; margin:0; padding:0; border:0; box-shadow:none; background:transparent; }
.journal-dialog .event-panel>.section-heading { display:none; }
.journal-dialog .message-log { height:min(440px,60dvh); flex:none; margin-top:12px; }
@media(max-width:800px) { .journal-open { display:inline-block; min-height:25px; padding:3px 7px; font:10px/1.4 Verdana,Arial,sans-serif; } }
/* Timers and loot reuse the existing sidebar and item frames. */
.respawn-timers-panel { padding:9px; flex-shrink:0; }
.respawn-timers-list { max-height:210px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.respawn-timer { display:flex; gap:6px; justify-content:space-between; align-items:start; padding:7px 0; border-bottom:1px solid #43534f; }
.timer-info { min-width:0; }.timer-info strong,.timer-info small { display:block; overflow-wrap:anywhere; }
.timer-info strong { color:#e6dfcb; font:11px/1.45 Verdana,Arial,sans-serif; }.timer-info small { color:#b7c2b1; font:9px/1.6 Verdana,Arial,sans-serif; margin-top:2px; }
.timer-remaining { color:#edcd88; font:11px/1.45 Verdana,Arial,sans-serif; font-variant-numeric:tabular-nums; white-space:nowrap; }
.loot-open { margin-top:8px; font-size:11px; }
.loot-dialog { width:min(700px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; }
.loot-claim { padding-top:12px; }.loot-claim+.loot-claim { margin-top:15px; border-top:2px solid #52625b; }
.loot-claim-heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:6px; }
.loot-claim-heading h3 { color:#dbc796; font:500 21px/1.3 'Velmoria Pixel',monospace; }.loot-deadline { color:#b7c2b1; font:11px/1.5 Verdana,Arial,sans-serif; white-space:nowrap; font-variant-numeric:tabular-nums; }
.loot-entry { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:12px; padding:13px 0; border-bottom:1px solid #4e5d57; align-items:start; }
.loot-entry>.item-icon { width:48px; height:48px; flex:none; }.loot-item-details { min-width:0; overflow-wrap:anywhere; }
.loot-item-details strong { display:block; color:#e6dfcb; font:600 13px/1.45 Verdana,Arial,sans-serif; }
.loot-item-details .item-caption,.loot-item-details .item-stats { display:block; color:#b9c8b2; font:11px/1.65 Verdana,Arial,sans-serif; }
.loot-choice-status { color:#dbc796; font:11px/1.55 Verdana,Arial,sans-serif; margin-top:7px; }.loot-votes { display:block; color:#afc0ba; font:10px/1.65 Verdana,Arial,sans-serif; }
.loot-choice-actions { display:flex; flex-direction:column; gap:6px; }.loot-choice-actions button { min-width:76px; min-height:32px; font:11px/1.4 Verdana,Arial,sans-serif; }
.loot-journal .rarity-unique { color:#b8d88e; }.loot-journal .rarity-rare { color:#8ed2e1; }.loot-journal .rarity-legendary { color:#edcd88; }
@media(max-width:600px) { .respawn-timers-panel { grid-column:1 / -1; }.respawn-timers-list { max-height:145px; } }
@media(max-width:480px) { .loot-dialog { padding:14px; }.loot-entry { grid-template-columns:42px minmax(0,1fr); gap:8px; }.loot-entry>.item-icon { width:42px; height:42px; }.loot-choice-actions { grid-column:2; flex-direction:row; }.loot-choice-actions button { flex:1; min-width:0; }.loot-claim-heading { flex-wrap:wrap; gap:3px; } }
@media(max-width:480px) { .stats-table { font-size:11px; }.stats-table th,.stats-table td { padding:6px 3px; }.stats-table tbody th { max-width:125px; } }
@media(max-width:1050px) {
  .equipment-tabs button { font-size:10px; padding-inline:2px; }
  .game-screen .section-heading h2 { font-size:16px; }.game-screen .section-heading h2::before { margin-right:5px; }
  .profile-identity strong { font-size:17px; }.quest-panel p { font-size:11px; }
  .equipment-slot,.equipment-slot[role="button"] { min-height:57px; }.equipment-slot .item-icon { width:36px; height:36px; left:calc(50% - 18px); top:5px; }
}
@media(max-width:600px) {
  .banner-title h1 { font-size:50px; }.welcome-letter h2 { font-size:26px; }
  .profile-identity strong { font-size:17px; }.bar-labels { font-size:9px; }
  .game-screen .section-heading h2 { font-size:17px; }.quest-panel h3 { font-size:19px; }
  .game-screen .game-header,.godot-world { border-width:4px; }.game-help { font-size:8px; }
  .equipment-dialog .equipment-slot { min-height:70px; }.equipment-dialog .equipment-slot .item-icon { width:48px; height:48px; left:calc(50% - 24px); top:6px; }
  .class-choice strong { font-size:17px; }.market-item { gap:9px; }.item-details strong { font-size:12px; }
  .combatant h4 { font-size:10px; }.combatant .combat-hp { font-size:10px; }
}

/* One ornamented shell; restrained inner frames leave the world in front. */
body.in-game { background:#111e18; }
.game-screen { border:6px solid transparent; border-image:url('ui/pixel-frame.svg') 6 stretch; background:#1a2b22; box-shadow:0 5px #0b1712; }
.game-screen .panel { border-width:2px; border-image:url('ui/pixel-frame.svg') 6 stretch; box-shadow:none; background-color:#263a2f; background-blend-mode:luminosity; }
.game-screen .game-header { border-width:2px; padding:6px 10px; gap:12px; background-blend-mode:normal; }
.game-screen .godot-world { border-width:2px; box-shadow:none; background:#101f18; }
.game-screen .section-heading { min-height:22px; padding-bottom:4px; gap:5px; border-bottom:1px solid #57634e; }
.game-screen .section-heading h2 { font-size:15px; }
.game-screen .section-heading h2::before { margin-right:5px; }
.game-screen .equipment-panel,.game-screen .minimap-panel,.game-screen .quest-panel,.game-screen .group-panel { padding:8px; }
.game-screen .equipment-tabs { margin-top:7px; gap:3px; }.game-screen .equipment-tabs button { min-height:27px; padding:4px 2px; }
.game-screen .equipment-grid { gap:5px; margin-top:8px; }
.game-screen .equipment-slot { min-height:56px; }.game-screen .equipment-slot .item-icon { width:40px; height:40px; left:calc(50% - 20px); top:4px; }
.game-screen .equipment-slot::before { top:6px; }
.game-screen .equipment-panel>.coins-line { margin:8px 0; padding-top:6px; }
.game-screen .profile-identity strong { font-size:17px; }.game-screen .profile-identity { min-width:116px; }
.game-screen .quest-panel h3 { font-size:17px; margin:6px 0; }.game-screen .quest-panel p { font-size:11px; line-height:1.5; margin:4px 0; }
.game-screen .quest-panel button { min-height:27px; margin-top:5px; }
.game-screen .minimap-panel canvas { margin:7px 0; }
.game-screen .chat-panel,.game-screen .event-panel { padding:6px 8px; }
.game-screen .message-log { font-size:11px; line-height:1.5; }
.game-screen .chat-form input { font-size:11px; }
.game-screen .world-location { border-width:1px; padding:4px 7px; box-shadow:none; }
@media(max-width:800px) { .game-screen .profile-identity { min-width:94px; } }
@media(max-width:600px) {
  .game-screen { border-width:4px; }
  .game-screen .game-header { padding:4px 6px; gap:6px; }
  .game-screen .profile-identity { min-width:76px; }.game-screen .profile-identity strong { font-size:15px; }
  .game-screen .section-heading h2 { font-size:15px; }
  .game-screen .minimap-panel,.game-screen .quest-panel,.game-screen .group-panel { padding:6px; }
}
/* A single original forest/gold language for the browser combat overlay. */
.battle-dialog.panel {
  color:var(--vel-ui-text,#e5dcc1); background:var(--vel-ui-base,#152821);
  border:6px solid transparent; border-image:url('ui/pixel-frame.svg') 6 stretch;
  box-shadow:0 3px #0b1712;
}
.battle-dialog::backdrop { background:#07140d66; }
.battle-dialog>.section-heading { border-bottom:1px solid var(--vel-stone,#7c8170); }
.battle-dialog>.section-heading h2 { color:var(--vel-ui-text,#e5dcc1); font:500 18px/1 'Velmoria Pixel',monospace; }
.battle-dialog .eyebrow,.battle-dialog .initiative-caption,.battle-dialog .battle-help { color:var(--vel-ui-muted,#b4b79f); }
.battle-dialog .battle-queue li { color:var(--vel-ui-text,#e5dcc1); background:var(--vel-ui-inset,#10201b); border:1px solid var(--vel-stone,#7c8170); }
.battle-dialog .battle-queue li.current { border-color:var(--vel-gold,#bc9d60); color:#f4dfa9; }
.battle-dialog .battle-queue li.enemy { border-left:3px solid var(--vel-health,#9f453b); }.battle-dialog .battle-queue li.ally { border-left:3px solid var(--vel-forest-light,#95a75f); }
.battle-dialog .battle-field { background:var(--vel-ui-inset,#10201b); border:1px solid #465a47; }
.battle-dialog .enemy-team { border-bottom:none; box-shadow:inset 0 -1px #465a47; }
.battle-dialog .enemy-caption { color:#d6a48c; }.battle-dialog .ally-caption { color:#c4d4a4; }
.battle-dialog .combatant,.battle-dialog .combatant.local { background:transparent; color:var(--vel-ui-text,#e5dcc1); border:1px solid transparent; box-shadow:none; text-shadow:none; }
.battle-dialog .combatant:hover:not(:disabled) { background:#25382c; border-color:#7c8170; }
.battle-dialog .combatant.selected,.battle-dialog .combatant.local.selected { background:#2a4030; border-color:#b4c887; box-shadow:inset 0 0 0 1px #4e6743; }
.battle-dialog .combatant.current { border-color:var(--vel-gold,#bc9d60); }
.battle-dialog .combatant h4,.battle-dialog .combat-hp { color:var(--vel-ui-text,#e5dcc1); }.battle-dialog .combat-resource { color:#94bbc7; }
.battle-dialog .combatant .meter { border:none; background:#263c2d; }.battle-dialog .combatant .meter span { background:var(--vel-health,#9f453b); }
.battle-dialog .turn-mark { color:#f2d69e; background:#463c28; border:1px solid var(--vel-gold,#bc9d60); }
.battle-dialog .status-badge { color:#eee1c5; border:1px solid #a28e62; background:#273a30; }
.battle-dialog .status-badge[data-status-type='poison'] { color:#daecb0; border-color:#8aa664; background:#293c23; }
.battle-dialog .status-badge[data-status-type='burn'],.battle-dialog .status-badge[data-status-type='bleed'] { color:#f3c5aa; border-color:#be7658; background:#4b2c24; }
.battle-dialog .status-badge[data-status-type='slow'],.battle-dialog .status-badge[data-status-type='ward'] { color:#c5e2e9; border-color:#719bab; background:#233b42; }
.battle-dialog .status-badge[data-status-type='regeneration'] { color:#d3e8b1; border-color:#8d9b63; }
.battle-dialog .ability-button { color:var(--vel-ui-text,#e5dcc1); background:var(--vel-ui-raised,#25382c); border:1px solid #7c8170; box-shadow:inset 1px 1px #516148; text-shadow:none; }
.battle-dialog .ability-button.selected { border-color:var(--vel-gold,#bc9d60); background:#35492f; }
.battle-dialog .ability-button:disabled { opacity:1; color:var(--vel-ui-muted,#b4b79f); background:var(--vel-ui-inset,#10201b); border-color:#415448; box-shadow:none; }
.battle-dialog .ability-button .ability-cost { color:#d6c498; }.battle-dialog .ability-reason { color:#b9c7b0; }.battle-dialog .ability-button:disabled .ability-reason { color:#d0b8a0; }
.battle-dialog .battle-target { color:var(--vel-ui-text,#e5dcc1); }
.battle-dialog .battle-messages { color:var(--vel-ui-muted,#b4b79f); background:var(--vel-ui-inset,#10201b); border:1px solid #465a47; }
.battle-dialog .battle-empty { grid-column:1/-1; align-self:center; margin:0; color:var(--vel-ui-muted,#b4b79f); font-size:10px; }

/* A compact field and a readable combat journal; the browser owns all controls. */
.battle-dialog[open] { grid-template-rows:30px 22px minmax(170px,1fr) 60px 16px 62px 12px; gap:3px; }
.battle-dialog[open][data-techniques='false'] { grid-template-rows:30px 22px minmax(170px,1fr) 38px 16px 62px 12px; }
.battle-dialog .battle-field { --battle-earth:#3c4830; position:relative; padding:3px 9px; background-color:var(--battle-earth); background-image:repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,#10170b0a 0 2px,transparent 2px 11px); border:1px solid #718064; box-shadow:inset 0 0 0 3px #1b2b2366; }
.battle-dialog[data-floor='interior'] .battle-field { --battle-earth:#574735; background-image:repeating-linear-gradient(0deg,#211b1438 0 1px,transparent 1px 15px); }
.battle-dialog[data-floor='snow'] .battle-field { --battle-earth:#697b7a; }
.battle-dialog[data-floor='desert'] .battle-field { --battle-earth:#726342; }
.battle-dialog[data-floor='volcanic'] .battle-field { --battle-earth:#423c39; }
.battle-dialog[data-floor='coastal'] .battle-field { --battle-earth:#596853; }
.battle-dialog .enemy-team { box-shadow:none; }
.battle-dialog .side-caption { font:9px/13px Verdana,Arial,sans-serif; color:#d2d1b4; text-shadow:1px 1px #182317; }
.battle-dialog .combatant { height:100px; grid-template-rows:12px 72px 4px 12px; min-width:108px; padding:0 5px; border:0; position:relative; }
.battle-dialog .combat-figure,.battle-dialog .combatant .pixel-sprite { height:72px; }
.battle-dialog .combatant:hover:not(:disabled),.battle-dialog .combatant.current,.battle-dialog .combatant.selected,.battle-dialog .combatant.local.selected { background:transparent; border:0; box-shadow:none; }
.battle-dialog .combatant.selected .combat-figure::after { content:''; position:absolute; bottom:0; left:calc(50% - 23px); width:44px; height:7px; border:2px solid #bd6654; border-radius:50%; pointer-events:none; }
.battle-dialog .combatant.local.selected .combat-figure::after { border-color:#b3c481; }
.battle-dialog .combatant h4 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-shadow:1px 1px #162119; }
.battle-dialog .combatant .meter { margin:0 auto; width:62px; height:4px; border:1px solid #1c261b; box-sizing:content-box; }
.battle-dialog .battle-controls { display:flex; flex-direction:column; justify-content:center; gap:4px; }
.battle-dialog .ability-buttons { width:100%; flex:none; grid-template-columns:repeat(6,minmax(0,1fr)); }
.battle-dialog .ability-buttons[hidden] { display:none; }
.battle-command-bar { display:flex; width:100%; align-items:center; justify-content:center; gap:6px; }
.battle-dialog .battle-command-bar button { min-height:28px; padding:4px 12px; font:11px/16px Verdana,Arial,sans-serif; }
.battle-dialog .battle-command-bar #battle-cast { min-width:132px; color:#f3e3b4; background:#354b2e; border-color:#ac9961; }
.battle-dialog .battle-command-bar #battle-flee { min-width:100px; background:#353c30; }
.battle-dialog .battle-command-bar #battle-quick { min-width:116px; background:#403b2a; }
.battle-dialog .battle-command-bar button:disabled { color:#858b79; border-color:#465145; background:#202d24; }
.battle-dialog .battle-messages { height:auto; padding:4px 7px; font:10px/16px Verdana,Arial,sans-serif; }
.battle-dialog .battle-target { text-align:center; font:10px/16px Verdana,Arial,sans-serif; }
@media(max-width:600px) {
  .battle-dialog[open] { grid-template-rows:30px 22px minmax(170px,1fr) 114px 16px 62px 12px; }
  .battle-dialog[open][data-techniques='false'] { grid-template-rows:30px 22px minmax(170px,1fr) 38px 16px 62px 12px; }
  .battle-dialog .battle-command-bar { gap:4px; }
  .battle-dialog .ability-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .battle-dialog .battle-command-bar button,.battle-dialog .battle-command-bar #battle-cast,.battle-dialog .battle-command-bar #battle-flee,.battle-dialog .battle-command-bar #battle-quick { flex:1; min-width:0; padding:3px 4px; font-size:10px; }
  .battle-dialog .combatant { min-width:95px; }
}
.material-icon {background-image:none !important;}
.material-icon svg {width:100%;height:100%;}
.quest-satchel {margin-top:6px;padding-top:6px;border-top:1px solid var(--vel-stone, #7c8170);}
.quest-material {display:flex;align-items:center;gap:5px;margin:4px 0;font-size:11px;}
.quest-material .item-icon {flex:0 0 24px;width:24px;height:24px;}
.quest-satchel>small {display:block;font-size:10px;line-height:1.3;color:var(--vel-text-muted,#b9b69e);}
