@font-face {
font-family: 'AngerStyles';
src: url('https://wiki.cathedralofblades.com/resources/AngerStyles.woff2') format('woff2'),
url('https://wiki.cathedralofblades.com/resources/AngerStyles.woff') format('woff');
font-weight: normal;
font-style: normal;
}
/* === CONTAINER === */
.wm {
position: relative;
max-width: 1200px;
width: 100%;
margin: 0 auto;
font-size: 0;
z-index: 0;
}
.wm > .img {
position: relative;
overflow: hidden;
width: 100%;
}
.wm > .img img {
width: 100%;
height: auto;
display: block;
}
.wm-layer {
position: absolute;
inset: 0;
pointer-events: none;
}
/* === MARKER PINS === */
.wm-pin {
position: absolute;
transform: translate(-50%, -50%);
width: 18px;
height: 18px;
background: radial-gradient(circle, #ff8c00, #5a2200);
border: 2px solid #ffbf7f;
border-radius: 999px;
box-shadow: 0 0 8px #ff9900;
cursor: pointer;
pointer-events: auto;
z-index: 4;
}
.wm-pin:hover {
z-index: 98;
}
/* === TOOLTIP PANEL (Desktop default) === */
.wm-pin .box {
position: absolute;
top: 100%;
left: 50%;
transform: translate(-50%, -15px) scale(0.85);
width: 0;
height: 0;
opacity: 0;
overflow: hidden;
transition:
width 0.35s ease,
height 0.35s ease,
transform 0.35s ease,
opacity 0.25s ease;
z-index: 99;
pointer-events: none;
}
.wm-pin:hover .box,
.wm-pin:focus .box {
width: 380px;
height: auto;
opacity: 1;
transform: translate(-50%, -105%) scale(1);
overflow: visible;
pointer-events: auto;
}
/* === CARD BODY === */
.wm-pin .box .content {
background: rgba(26, 26, 26, 0.9);
border: 1px double #ed6912;
border-radius: 8px;
box-shadow: 10px 10px 20px #000;
padding: 12px 14px;
color: #eee;
font-size: 13px;
font-family: ui-sans-serif, system-ui, sans-serif;
line-height: 1.45;
}
/* === TITLE LINE === */
.wm-pin .box .content .title {
font-family: 'AngerStyles', serif;
font-size: 1.8em;
color: #ed6912;
margin-bottom: 6px;
}
/* === LEVEL BOX + TAG === */
.wm-pin .box .content .level-box {
height: 80%;
display: flex;
align-items: center;
margin-bottom: 1px;
margin-top: 1px;
margin-left: -51px;
margin-right: 1px;
}
.wm-pin .box .content .level {
font-size: 11px;
color: #ffaa66;
font-weight: bold;
display: inline;
margin: 0;
padding: 0;
line-height: 1;
}
/* === PARAGRAPH === */
.wm-pin .box .content .desc {
color: #e4d6c8;
font-size: 12.5px;
line-height: 1.4;
}
/* === GROUP TOGGLE BUTTONS === */
.wm-controls {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: stretch;
gap: 8px;
margin: 10px 0 5px 10px;
padding: 0;
font-size: 0;
}
.wm-controls .wmbtn {
flex: 0 0 auto;
text-align: center;
min-width: 160px;
height: 60px;
font-family: 'AngerStyles', serif;
font-size: 20px;
padding: 20px 0;
box-sizing: border-box;
background: #1a1a1a;
text-shadow: none;
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
cursor: pointer;
transition: background 0.2s ease, color 0.2s ease;
border: 1px solid;
margin: 0;
}
/* === COLOR THEMES === */
.wm-controls .wmbtn[data-group="group1"] {
border-color: #55dd55;
color: #77ff77;
}
.wm-controls .wmbtn[data-group="group2"] {
border-color: #03436e;
color: #1f8ad1;
}
.wm-controls .wmbtn[data-group="group3"] {
border-color: #754e0c;
color: #b37814;
}
.wm-controls .wmbtn[data-group="group4"] {
border-color: #dd4444;
color: #ff6666;
}
.wm-controls .wmbtn:hover {
background: #2a2a2a;
}
.wm-controls .wmbtn.active[data-group="group1"] {
background: #3cab3c;
color: #1a1a1a;
}
.wm-controls .wmbtn.active[data-group="group2"] {
background: #09629e;
color: #1a1a1a;
}
.wm-controls .wmbtn.active[data-group="group3"] {
background: #ffbb55;
color: #1a1a1a;
}
.wm-controls .wmbtn.active[data-group="group4"] {
background: #ff6666;
color: #1a1a1a;
}
/* === PIN VISIBILITY === */
.wm .wm-pin {
display: none;
}
.wm.wm-pin-showgroup1 .wm-pin.group1,
.wm.wm-pin-showgroup2 .wm-pin.group2,
.wm.wm-pin-showgroup3 .wm-pin.group3,
.wm.wm-pin-showgroup4 .wm-pin.group4 {
display: block;
}
/* === PIN COLORS BY GROUP === */
.wm-pin.group1 {
background: radial-gradient(circle, #025e02, #003b00);
border-color: #aaffaa;
box-shadow: 0 0 8px #66ff66;
}
.wm-pin.group2 {
background: radial-gradient(circle, #1ab2c9, #03436e);
border-color: #67f5f0;
box-shadow: 0 0 8px #ffff66;
}
.wm-pin.group3 {
background: radial-gradient(circle, #f5a938, #eb2709);
border-color: #ffd599;
box-shadow: 0 0 8px #ff9933;
}
.wm-pin.group4 {
background: radial-gradient(circle, #f74343, #d40427);
border-color: #ffaaaa;
box-shadow: 0 0 8px #ff4444;
}
/* === Always-visible Special Pins === */
.wm .wm-pin.special {
display: block !important;
background: radial-gradient(circle, #a75aff, #3b005c);
border: 2px solid #d6aaff;
box-shadow: 0 0 10px #cc88ff;
z-index: 5;
}
/* === TIER CONTROLS === */
.wm-tier-controls {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
gap: 8px;
margin: 10px 0 5px 10px;
padding: 0;
font-size: 0;
}
.tierbtn {
flex: 0 0 auto;
text-align: center;
min-width: 100px;
height: 34px;
font-family: ui-sans-serif, system-ui, sans-serif;
font-size: 12.5px;
padding: 8px 0;
box-sizing: border-box;
background: #1a1a1a;
color: #66ccff;
border: 1px solid #66ccff;
cursor: pointer;
transition: background 0.2s ease, color 0.2s ease;
border-radius: 3px;
}
.tierbtn:hover {
background: #2a2a2a;
}
.tierbtn.active {
background: #66ccff;
color: #1a1a1a;
}
.wm-tier-controls .wmbtn {
color: #eacc55 !important;
}
/* === LEVEL TEXT UNDER PINS === */
.wm-pin .pin-level {
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
font-size: 11px;
color: #ffcc00;
background: rgba(0, 0, 0, 0.5);
padding: 0px 0px;
border-radius: 1px;
margin-top: -2px;
pointer-events: none;
white-space: nowrap;
}
.wm-pin .pin-levelright {
position: left;
top: 100%;
left: 50%;
transform: translateX(-50%);
font-size: 10px;
color: #ffcc00;
background: rgba(0, 0, 0, 0.5);
padding: 1px 1px;
border-radius: 2px;
margin-left: 17px;
margin-top: -2px;
pointer-events: none;
white-space: nowrap;
}
/* === MOBILE TOOLTIP OVERRIDE === */
@media screen and (max-width: 900px), screen and (max-height: 500px) {
.wm-pin .box {
display: none !important;
}
.wm-mobile-tooltip {
position: fixed;
bottom: 10%;
left: 50%;
transform: translateX(-50%);
background: rgba(26, 26, 26, 0.9);
border: 1px double #ed6912;
border-radius: 8px;
box-shadow: 10px 10px 20px #000;
color: #eee;
font-size: 13px;
font-family: ui-sans-serif, system-ui, sans-serif;
padding: 12px 14px;
max-width: 90vw;
z-index: 9999;
}
}