/* Figma artwork composed over shared Design controls; Game preview only. */
.region-map { position:absolute;inset:0;z-index:8;overflow:hidden;background:var(--bg) url('/assets/game/region/parchment.png') center/cover; }
.region-map__header { position:absolute;z-index:2;top:2%;left:2%;right:30%;display:flex;align-items:center;justify-content:space-between;gap:1rem;pointer-events:none; }
.region-map__header button { pointer-events:auto;background:var(--bg); }
.region-map__header>div { padding:.5rem 1rem;background:var(--bg); }
.region-map header h1 { margin:0;font-size:2rem; }
.region-map__viewport { position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;user-select:none; }
.region-map__viewport.is-dragging { cursor:grabbing; }
.region-map__canvas { position:absolute;left:0;top:12%;width:76%;height:76%;min-width:640px;min-height:360px;will-change:transform; }
.region-map__outline { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none; }
.region-map__connections { position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--text-dim);stroke-width:2;stroke-dasharray:5 7;opacity:.45; }
.region-map__node { position:absolute;transform:translate(-50%,-50%);width:min(var(--region-symbol-width),12cqw); }
.region-map__node .wg-icon-button { display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:auto;padding:4px;gap:4px;border:var(--border-hair) solid transparent;background:transparent;border-radius:var(--radius-sm); }
.region-map__node img { display:block;width:100%;height:auto;object-fit:cover; }
.region-map__node span { color:var(--text);background:var(--bg);padding:2px 6px;white-space:nowrap;font-family:"Germania One",var(--serif);font-size:clamp(12px,1.3cqw,20px); }
.region-map__node[data-selected="true"] .wg-icon-button,.region-map__node .wg-icon-button:hover { border-color:var(--text-accent);background:var(--bg-raised); }
.region-map__inspector { position:absolute;right:1.5%;top:18%;bottom:16%;width:25%;display:flex;flex-direction:column;align-items:stretch;gap:1rem;padding:1rem;background:var(--bg);color:var(--text);overflow:auto;border:var(--border-hair) solid var(--border); }
.region-map__inspector h2 { text-align:center;padding:.5rem;border-block:var(--border-hair) solid var(--border);font-family:"Germania One",var(--serif); }
.region-map__inspector h2,.region-map__inspector p { margin:.2rem 0; }
.region-map__inspector h2 { font-size:1.5rem; }
.region-map__reference { font-size:.75rem;margin-top:auto; }
.region-map__hint { position:absolute;bottom:3%;left:32%;padding:.3rem .6rem;background:var(--bg);color:var(--text);pointer-events:none;font-size:.75rem; }
@media (max-width:600px) { .region-map__header { right:3%; }.region-map__header h1 { font-size:1.2rem; }.region-map__inspector { width:38%;padding:.5rem;font-size:.8rem;top:22%;bottom:24%;gap:.5rem; }.region-map__inspector h2 { font-size:1.1rem; }.region-map__hint { bottom:20%;left:2%; }.region-map__node { width:90px; } }
@font-face { font-family:"Germania One";font-style:normal;font-weight:400;font-display:swap;src:url('/assets/game/hud/germania-one.ttf') format('truetype') }
.tavern-hud { position:absolute;inset:0;z-index:14;pointer-events:none;font-family:"Germania One",var(--serif) }
.tavern-hud button,.tavern-hud nav,.tavern-party { pointer-events:auto }
.tavern-hud__header { position:absolute;inset:1.2% 1% auto;display:grid;grid-template-columns:25% 39% 34%;gap:1%;align-items:start }
.tavern-avatar.wg-icon-button { position:relative;display:block;width:100%;height:auto;aspect-ratio:472/180;border:0;background:none;padding:0;overflow:visible;border-radius:0;color:var(--text) }
.tavern-avatar img { position:absolute;max-width:none;pointer-events:none }
.tavern-avatar__portrait { position:absolute;left:5.93%;top:-2.32%;width:16.74%;height:60%;overflow:hidden }
.tavern-avatar__portrait img { height:388.41%;width:1003.95%;left:-196.96%;top:-155.1% }
.tavern-avatar .tavern-avatar__gauge { left:.34%;top:12.45%;width:90.95%;height:74.03%;clip-path:polygon(0 0,80% 0,80% 100%,0 100%) }
.tavern-avatar__frame { position:absolute;left:4.34%;top:12.68%;width:86.04%;height:73.57%;overflow:hidden }
.tavern-avatar__frame img { height:100%;width:105.05%;left:-5.05%;top:0 }
.tavern-avatar .tavern-avatar__level { left:9.33%;top:59.35%;width:9.04%;height:29.26% }
.tavern-avatar__name,.tavern-avatar__health { position:absolute;font-family:inherit;font-size:1.3cqw;line-height:1;white-space:nowrap;letter-spacing:.04em }
.tavern-avatar__name { left:27.56%;top:16.64%;color:var(--text) }
.tavern-avatar__health { left:34.46%;top:42.52%;color:var(--bg) }
.tavern-avatar__conditions { position:absolute;left:27.56%;top:64.03%;display:flex;width:33.9%;height:22.22% }
.tavern-avatar__conditions img { position:static;width:25%;height:100%;object-fit:contain }
.tavern-party { min-width:0 }
.tavern-party__meter { height:1cqw;border:var(--border-hair) solid var(--border);background:var(--state-info);padding:2px;opacity:.8 }
.tavern-party__meter span { display:block;width:7.5%;height:100%;background:var(--text) }
.tavern-party__rail.wg-camera-rail { display:grid;grid-template-columns:114fr 114fr 148fr 114fr 114fr;align-items:start;gap:1%;padding:0;margin:.2cqw 0 0;width:100%;max-width:none;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none }
.tavern-camera.wg-camera-tile { display:block;position:relative;aspect-ratio:114/103;min-width:0;padding:0;border:0;border-radius:0;background:none;overflow:hidden;cursor:pointer }
.tavern-camera--gm.wg-camera-tile { aspect-ratio:148/128 }
.tavern-camera__frame-left,.tavern-camera__frame-right { position:absolute;top:-2.07%;height:104.85%;overflow:hidden }
.tavern-camera__frame-left { left:0;width:60.55% }.tavern-camera__frame-right { left:54.39%;width:49.15% }
.tavern-camera__frame-left img { position:absolute;width:240%;max-width:none;height:100.07%;left:0;top:-.04% }
.tavern-camera__frame-right img { position:absolute;width:295.65%;max-width:none;height:100.07%;left:-195.65%;top:-.04% }
.tavern-camera--gm .tavern-camera__frame-left { left:-2.03%;width:57%;height:103.12%;top:-1.56% }
.tavern-camera--gm .tavern-camera__frame-right { left:54.97%;width:46.27%;height:103.12%;top:-1.56% }
.tavern-camera__picture { position:absolute;left:7.02%;top:7.65%;width:89.47%;height:87.38%;overflow:hidden }
.tavern-camera--gm .tavern-camera__picture { left:5.4%;top:7.03%;width:89.19%;height:85.16% }
.tavern-camera__backdrop { position:absolute;inset:0;width:100%;height:100%;object-fit:cover }
.tavern-camera__figure { position:absolute;max-width:none }
.tavern-camera--maverick .tavern-camera__figure { left:-36.21%;top:-24.09%;width:172.2%;height:148.23% }
.tavern-camera--mage .tavern-camera__figure { left:-45.6%;top:-32.33%;width:191.44%;height:164.8% }
.tavern-camera--gm .tavern-camera__figure { left:-34.99%;top:-23%;width:170.05%;height:146.39% }
.tavern-camera--guest .tavern-camera__figure { left:-67.75%;top:-43.02%;width:276.07%;height:232.03% }
.tavern-camera--warrior .tavern-camera__figure { left:-45.49%;top:-32.06%;width:190.78%;height:164.22%;transform:scaleX(-1) }
.tavern-hud__actions { display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.25cqw;background:linear-gradient(to right,transparent,var(--bg));padding:.4cqw }
.tavern-hud__actions .wg-icon-button { background:none;border-color:transparent;width:3.2cqw;height:3.2cqw;min-width:28px;min-height:28px;padding:0 }
.tavern-hud__actions img { width:2.2cqw;height:2.2cqw;object-fit:contain }
.tavern-hud__actions .tavern-action-character { width:3.1cqw;height:3.1cqw }
.tavern-hud__actions .wg-button { font-family:inherit;font-size:1.5cqw;padding:.25cqw .4cqw;min-height:0 }
.tavern-wallet { display:flex;gap:.5cqw;align-items:center;font-size:1.85cqw;color:var(--text-accent) }
.tavern-wallet>span { position:relative;width:1.56cqw;height:1.56cqw;overflow:hidden }
.tavern-wallet img { position:absolute;left:-14.7%;top:-15.44%;width:128.89%;height:129.47%;max-width:none }
.tavern-hud__world-tools { display:flex;justify-content:flex-end;width:100% }
.tavern-hud__world-tools .wg-button { font-family:var(--sans);font-size:.75rem }
.tavern-breadcrumb { position:absolute;z-index:12;bottom:1.5%;left:1%;width:26%;overflow:visible;font-family:"Germania One",var(--serif) }
.tavern-breadcrumb__title { position:relative;z-index:1;display:block;width:100%;margin:0 0 .3rem;padding-left:1%;overflow:hidden;color:var(--text);font-size:clamp(.8rem,1.56cqw,1.5rem);letter-spacing:.06em;line-height:1.3;text-align:left;text-overflow:ellipsis;white-space:nowrap }
.tavern-breadcrumb__back { position:absolute;bottom:0;left:0;width:100%;height:60%;overflow:hidden;transform:scaleY(-1);opacity:.9 }
.tavern-breadcrumb__back img { position:absolute;height:201.64%;width:116.42%;max-width:none;left:-7.19%;top:-50.82% }
.tavern-breadcrumb.wg-breadcrumb ol { position:relative;display:flex;justify-content:center;flex-wrap:nowrap;gap:2%;padding:0 }
.tavern-breadcrumb.wg-breadcrumb li { display:block;width:18%;aspect-ratio:1;flex:none }
.tavern-breadcrumb.wg-breadcrumb li::after { display:none }
.tavern-breadcrumb .wg-icon-button,.tavern-breadcrumb__current { position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none;border-radius:0;overflow:hidden }
.tavern-breadcrumb .tavern-breadcrumb__socket { position:absolute;inset:0;width:100%;height:100% }
/* Rotate around the square frame, excluding the arrow on its right edge. */
.tavern-breadcrumb__selected { transform:rotate(-90deg);transform-origin:43% 50% }
.tavern-breadcrumb li[aria-current="location"] .wg-icon-button { overflow:visible }
.game-scene-toolbar { position:absolute;z-index:12;bottom:1.5%;right:1%;display:flex;align-items:center;justify-content:flex-end;gap:3.281px;width:230px }
.game-scene-toolbar .wg-icon-button { width:42px;min-width:42px;height:42px;padding:0;border:0;border-radius:0;background:transparent }
.game-scene-toolbar .wg-icon-button img { width:42px;height:42px;object-fit:contain }
.game-site:has(.game-scene-toolbar) .game-review { bottom:calc(1.5% + 54px);right:1% }
.game-site:has(.game-scene-toolbar) .game-presence { left:auto;right:1%;bottom:calc(1.5% + 100px) }
.game-site:has(.game-scene-toolbar) .game-context-screen__body { padding-bottom:7rem }
.tavern-breadcrumb .tavern-breadcrumb__symbol { position:absolute;left:8%;top:14%;width:71%;height:71%;object-fit:contain }
.tavern-breadcrumb .tavern-breadcrumb__village { position:absolute;left:21%;top:17%;width:auto;height:auto;transform:scale(.85);transform-origin:top left }
.tavern-breadcrumb__room { transform:rotate(-90deg) }
.tavern-hierarchy { display:grid;justify-items:center;gap:var(--space-5);padding:var(--space-8) }
.game-world--tavern .game-command-bar { left:auto;right:1%;bottom:1.5%;transform:none;width:65% }
.game-world--tavern .game-command-bar .wg-button { min-width:0;font-size:clamp(.625rem,1.2cqw,1rem);padding:.5rem .25rem }
.game-world--tavern .game-location-services { top:23%;bottom:15% }
.game-site:has(.game-world--tavern) .game-review { bottom:10%;right:1% }
@container game (max-aspect-ratio:1/1) {
 .tavern-hud__header { grid-template-columns:49% 49%;gap:2% }
 .tavern-avatar__name,.tavern-avatar__health { font-size:2.6cqw }
 .tavern-party { grid-column:1/-1;grid-row:2;width:76%;justify-self:center }
 .tavern-hud__actions { grid-column:2;grid-row:1 }
 .tavern-hud__actions .wg-icon-button { width:7cqw;height:7cqw }
 .tavern-hud__actions img { width:5cqw;height:5cqw }.tavern-hud__actions .tavern-action-character { width:7cqw;height:7cqw }
 .tavern-hud__actions .wg-button { font-size:2.8cqw }.tavern-wallet { font-size:3.5cqw }.tavern-wallet>span { width:3cqw;height:3cqw }
 .tavern-breadcrumb { bottom:8%;width:50% }.tavern-breadcrumb__title { font-size:3cqw }
 .game-world--tavern .game-command-bar { width:98% }
 .game-world--tavern .game-command-bar .wg-button { font-size:clamp(.6rem,2.5cqw,.9rem) }
 .tavern-breadcrumb .tavern-breadcrumb__village { transform:scale(.6) }
 .game-world--tavern .game-location-services { top:52%;bottom:22% }
 .game-site:has(.game-world--tavern) .game-review { bottom:9% }
 .game-site:has(.game-scene-toolbar) .game-review { bottom:calc(1.5% + 54px) }
 .game-scene-toolbar { bottom:1.5% }
 .tavern-breadcrumb { bottom:10% }
}
