/* Local, CSS-drawn fantasy controls inspired by the game's metal and leather UI. */
:root{--ui-brass:#91703d;--ui-light:#ddbf7a;--ui-shadow:#090d0b;--ui-face:#27332d;--ui-ink:#f4dfad;--ui-red:#783429;--ui-ring:#e8c783}
button,.button,.sidebar nav a,.mini-nav a,summary{ -webkit-tap-highlight-color:transparent; }
:where(button:not(.talent-node):not(.map-pin):not(.item-db-card):not(.starter-item):not(.ability-card):not(.map-route-step):not(.stage):not(.lore-stop)),
a.button,.mini-nav a{
  color:var(--ui-ink);border:1px solid var(--ui-brass);border-top-color:#b49559;border-left-color:#a38750;border-right-color:#594527;border-bottom:2px solid #49391f;border-radius:3px;
  background:linear-gradient(180deg,#68705430 0,transparent 44%,#0005 100%),repeating-linear-gradient(115deg,#fff2 0,transparent 1px,transparent 6px),linear-gradient(180deg,#374536,#1b2c27);
  box-shadow:inset 0 0 0 1px #0b170dc9,inset 0 2px 0 #e3ce913b,inset 0 -2px 0 #0005,0 2px 3px #0008;
  text-shadow:0 1px 2px #000,0 0 6px #0006;letter-spacing:.15px;font-weight:700;
  transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,filter .16s;
}
.button{min-height:42px;justify-content:center;align-items:center;padding:10px 19px}
:where(button:not(.talent-node):not(.map-pin):not(:disabled)):hover,a.button:hover,.mini-nav a:hover{
  border-color:#dec181;color:#fff1ce;box-shadow:inset 0 0 0 1px #332c17,inset 0 2px 0 #ffe2a14d,inset 0 -2px 0 #0007,0 0 11px #d8ad4938,0 2px 4px #0008;
}
.button:hover{transform:none}
.button:active,.tabs button:active,.npc-map-link:active,.mini-nav a:active{
  box-shadow:inset 0 2px 5px #000b,inset 0 0 0 1px #191c0e,0 1px 0 #cab37b40!important;filter:brightness(.92);
}
.button.gold-button,button.gold-button{
  border-top-color:#dfba6d;border-left-color:#b28f4e;border-right-color:#644b28;border-bottom-color:#4d321c;color:#ffdf98;
  background:linear-gradient(180deg,#be72542b 0,transparent 45%,#190d13a8 100%),repeating-linear-gradient(105deg,#fff1 0,transparent 1px,transparent 5px),linear-gradient(#833c2b,#55221c);
  box-shadow:inset 0 0 0 1px #351712,inset 0 2px 0 #dfa47966,inset 0 -2px 0 #120a0ccc,0 2px 4px #0009;
}
.button.gold-button:hover,button.gold-button:not(:disabled):hover{background-color:#a44e2b;filter:brightness(1.12)}
button:disabled{cursor:not-allowed;opacity:.46;filter:grayscale(.75);text-shadow:none;box-shadow:inset 0 1px 4px #0007!important}
button:focus-visible,a.button:focus-visible,summary:focus-visible,.mini-nav a:focus-visible,.sidebar nav a:focus-visible,[role=button]:focus-visible{
  outline:2px solid #ffe7a4;outline-offset:4px;box-shadow:0 0 0 6px #4b3d2877,0 0 15px #dbb55655;
}
/* Raised tabs and the small chapter plates on the left. */
.tabs{gap:9px}
.tabs button{min-height:41px;padding:10px 17px;line-height:1.5}
.tabs button[aria-pressed=true],.mini-nav a:active{
  color:#fff0ba;background:linear-gradient(180deg,#84683b,#55432b 45%,#322c20);border-color:#e0c17d;border-bottom-color:#9e7740;
  box-shadow:inset 0 0 0 1px #3b2e13,inset 0 2px 0 #fff0bd60,0 0 10px #c59a4930;text-shadow:0 1px 2px #281807;
}
.quality-toggle{color:var(--quality)!important}
.quality-toggle[aria-pressed=true]{border-color:var(--quality)!important;box-shadow:inset 0 0 0 1px #141d17,inset 0 -3px 0 var(--quality),0 2px 3px #0008!important}
.sidebar nav a{
  color:#bbbeab;border:1px solid #68573555;border-top-color:#aa8e494d;border-bottom-color:#070e0fa1;border-radius:2px;
  background:linear-gradient(100deg,#2d3b3159,#13232277);box-shadow:inset 0 1px 0 #f5d08b09;
  text-shadow:0 1px 2px #000;transition:border-color .16s,color .16s,background .16s;
}
.sidebar nav a:hover{color:#f5dc9b;background:linear-gradient(100deg,#4e50337a,#1d3028);border-color:#9b805087}
.sidebar nav a.active{
  color:#f0d58d;border-color:#8d744b;background:linear-gradient(100deg,#5e4b2c,#283c2e 80%);box-shadow:inset 0 1px 0 #ddbd7040,inset 3px 0 0 #d2ac64,0 2px 3px #0005;
}
.sidebar nav a.active:before{display:none}
.sidebar nav a>span{text-shadow:0 1px 1px #000,0 0 6px #d6b85d35}
.mini-nav a{padding:7px 13px;white-space:nowrap;font-size:12px}
.journal-link{padding:7px 10px;border:1px solid #8b70434d;border-radius:3px;background:linear-gradient(#2d3b3266,#10232644);box-shadow:inset 0 1px 0 #d1b57916}
.journal-link:hover{border-color:#ae8a52;color:#f0d49a}
/* Inventory slots retain the quality of the item, even inside an action card. */
.item-db-card,.starter-item,.ability-card,.map-route-step,.lore-stop{
  border:1px solid #80704b;border-right-color:#484936;border-bottom:2px solid #303929;border-radius:4px;
  background:linear-gradient(135deg,#5764491f,transparent 55%),linear-gradient(180deg,#223831,#142724);
  box-shadow:inset 0 0 0 1px #101b14,inset 0 2px 0 #e6cd8523,0 2px 3px #0006;transition:border-color .16s,box-shadow .16s,background-color .16s;
}
.item-db-card,.starter-item{border-top:2px solid var(--quality);box-shadow:inset 0 0 0 1px #0a1a16,inset 0 3px 7px #0004,0 3px 5px #0006}
.item-db-card:hover,.starter-item:hover{background:linear-gradient(135deg,#685c3438,transparent 55%),linear-gradient(#2b4335,#1c3027);border-top-color:var(--quality)!important}
.item-db-card h3,.starter-item b{color:var(--quality)}
.item-icon,.ability-card img,.tree-tabs img,.talent-detail .detail-icon{
  background:#08100d;border-radius:4px;box-shadow:inset 0 0 0 1px #fce5af33,0 0 0 1px #040b06,0 2px 4px #000b;
}
.ability-card{color:#e8ddbd;transform:none!important}
.ability-card img{border:2px solid #aa905b}
.ability-card small{color:#c7b17d}
.map-route-step.active,.lore-stop[aria-pressed=true]{color:#f6d88d;border-color:#cfa45d;background:linear-gradient(#5a5033,#293a2a);box-shadow:inset 0 0 0 1px #202713,inset 0 2px 0 #e6cd8540,0 0 8px #d3b15a22}
.map-route-step>b{border:1px solid #917648;background:radial-gradient(circle at 40% 25%,#756441,#2f3324);color:#f0d49a;box-shadow:inset 0 0 0 1px #192617,0 1px 2px #0008}
.stage{border:1px solid #726141;border-bottom:2px solid #262d1d;border-radius:3px;padding:17px 10px 12px;background:linear-gradient(#293b2d,#152c27);box-shadow:inset 0 1px 0 #e9c77d26,0 2px 3px #0005;margin:0 3px;color:#b2bca6}
.stage.current,.stage[aria-pressed=true]{border-color:#d1af70;color:#eed298;background:linear-gradient(#5a5034,#283b2b);box-shadow:inset 0 0 0 1px #222f17,inset 0 1px 0 #ffdf964a,0 0 10px #bb91442b}
.stage.current b,.stage[aria-pressed=true] b{color:#fff0be}
.lore-stop{color:#b9c4af;margin-bottom:8px;padding:14px 17px}
/* Small spatial controls must keep their positioning and visible counters. */
.map-controls button{color:#f6dca0!important;border-width:1px 1px 2px!important;box-shadow:inset 0 1px 0 #f4d88b50,0 2px 4px #000a!important}
.map-pin{border:2px solid #e4c382;border-radius:50%;box-shadow:inset 0 0 0 1px #201b0d,inset 0 2px 0 #ffecae70,0 0 0 1px #2e2415,0 2px 6px #000b;text-shadow:0 1px 2px #000}
.map-pin:hover{filter:brightness(1.22);border-color:#fff2b8}
.map-pin.selected{background:#83472b;border-color:#ffedb6;box-shadow:inset 0 0 0 1px #453317,0 0 0 4px #ebbe5359,0 2px 7px #000c}
.map-pin.cluster{background:radial-gradient(circle at 40% 25%,#9b8450,#493a22);border-style:double}
.talent-node{border-width:2px;box-shadow:inset 0 0 0 1px #ffe7a433,0 0 0 1px #050b06,0 3px 7px #000d;border-radius:4px}
.talent-node:not(.locked):hover{filter:brightness(1.16);box-shadow:0 0 0 1px #2a2109,0 0 12px #dbb64a66,0 3px 5px #000a}
.talent-node.learned{border-color:#65c862;box-shadow:0 0 0 1px #16351b,0 0 8px #62b85127,0 3px 5px #000a}
.talent-node.maxed{border-color:#f3cb61;box-shadow:0 0 0 1px #5e4820,0 0 8px #e5bc563b,0 3px 5px #000a}
.talent-node.locked{border-color:#4a5340;box-shadow:0 0 0 1px #090e0a,0 2px 4px #0008}
.talent-node.selected{outline:2px solid #f8edbc;outline-offset:3px}
.talent-rank{border:1px solid #87703a;background:linear-gradient(#243326,#0e1b13);box-shadow:0 1px 3px #000a;border-radius:2px}
.modal-top [data-modal-close]{width:36px;height:36px;min-width:36px;display:grid;place-items:center;padding:0!important;line-height:1;color:#e3c486!important;background:linear-gradient(#773b2a,#391f19)!important;font:26px Georgia,serif!important}
.coords button{min-height:30px;padding:3px 7px!important;margin-left:2px;font-size:11px}
/* Hinged chapter headers, compact inline links and recessed form controls. */
details>summary{color:#d9cda9;background:linear-gradient(90deg,#46503955,#1d302799);border:1px solid #8c794245;border-bottom-color:#061410c9;box-shadow:inset 0 1px 0 #e9c77d1f;text-shadow:0 1px 2px #000;border-radius:3px}
details>summary:hover{background:linear-gradient(90deg,#63603966,#263d2a);color:#f8e3af;border-color:#b6985d88}
details[open]>summary{border-bottom:1px solid #b0945066;background:linear-gradient(90deg,#5c503266,#24372a)}
summary::marker{color:#dfbd79}
.craft>summary{padding-top:17px;padding-bottom:17px;border-left:3px solid var(--quality)}
.item-token[data-item-id],.npc-token{border-bottom:1px dotted #ad915888;text-decoration:none;transition:background-color .15s;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.item-token[data-item-id]:hover,.npc-token:hover{background:#c8a04e1a;border-bottom-color:#edca7d;text-shadow:0 0 8px #d5ae5833}
select,.db-controls input,.atlas-controls input,.atlas-search-label input,.talent-controls select{
  color:#e2d5ae;background-color:#14251e;border:1px solid #8f784a;border-top-color:#4e5035;border-left-color:#51533a;border-bottom-color:#ba9958;border-radius:3px;box-shadow:inset 0 2px 4px #0009,0 1px 0 #131e10;
}
select:focus-visible,input:focus-visible{outline-color:#f4d689;outline-offset:3px}
input[type=checkbox]{accent-color:#b9914f;outline-offset:3px}
input[type=range]{accent-color:#cba461}
input[type=range]::-webkit-slider-thumb{box-shadow:0 0 0 1px #554123,0 1px 3px #000b}
@media(max-width:900px){.sidebar nav a{padding:10px 14px}.tabs button{padding:9px 12px}.journal-link{padding:5px 8px}.sidebar nav a.active{box-shadow:inset 0 1px 0 #ddbd7040,inset 0 -2px 0 #d2ac64,0 2px 3px #0005}}
@media(max-width:520px){.button{min-height:44px;padding:10px 14px}.tabs button{font-size:12px;min-height:41px}.tree-tabs button{padding:9px;gap:7px}.map-route-step{padding:10px}.stage{padding:16px 8px 11px;margin:0 2px}.modal-top [data-modal-close]{width:40px;height:40px;min-width:40px}.quality-toggle{padding:9px 11px!important}}
@media(prefers-reduced-motion:reduce){button,.button,.sidebar nav a,summary,.item-token,.npc-token{transition:none!important}}
@media print{button,.button,.sidebar nav a,summary,.item-db-card,.starter-item,.ability-card,.map-route-step{box-shadow:none!important;text-shadow:none!important;background:white!important;color:black!important}}
