/* Campaign-style hunt selection. Native biome snapshots are static and lazy-loaded. */
.campaign-root{container-type:inline-size}.campaign-root .dhead{margin-bottom:8px}.hunt-campaign{background:linear-gradient(115deg,#221b13,#33241a 65%,#201b16);color:#e4d3ae;border:1px solid #6e6331;border-radius:7px;overflow:hidden;box-shadow:0 8px 30px #0005;font-family:Inter,system-ui,sans-serif}.hc-titlebar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 22px;border-bottom:2px solid #9b8a3e;background:radial-gradient(ellipse at top,#80723166,transparent 75%),linear-gradient(#4c211b,#2c1714);box-shadow:inset 0 1px #b6a45555}.hc-titlebar small{font-size:10px;letter-spacing:3px;color:#c6a87a}.hc-titlebar h2{margin:3px 0 0;font:500 25px Georgia,serif;color:#fff0bc}.hc-titlebar>span{font-size:11px;color:#d0b68d}.hc-layout{display:grid;grid-template-columns:250px minmax(0,1fr)}.hc-sidebar{padding:14px 10px;border-right:1px solid #6c612f;background:linear-gradient(90deg,#161513,#292016)}.hc-sidebar-heading{display:grid;gap:4px;padding:0 7px 12px}.hc-sidebar-heading b{font-size:11px;letter-spacing:1.6px;color:#e9d2a0}.hc-sidebar-heading span{font-size:10px;color:#b8a484}.hc-search{width:100%;min-width:0;box-sizing:border-box;background:#12120f;border:1px solid #574f29;color:#eed9b2;border-radius:3px;padding:10px;font-size:11px;margin-bottom:10px}.hc-search:focus{outline:1px solid #b7a658}.hc-entries{display:grid;gap:7px;max-height:674px;overflow:auto;scrollbar-width:thin;scrollbar-color:#877837 #191713;padding:2px}.hc-entry{position:relative;display:block;isolation:isolate;min-height:91px;width:100%;overflow:hidden;border:1px solid #5d5530;background:#141b16;text-align:left;padding:10px;cursor:pointer;border-radius:3px;transition:border-color .15s}.hc-entry[hidden]{display:none}.hc-entry>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;image-rendering:auto;filter:saturate(.95) brightness(.85)}.hc-entry-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0a0d0beb,#0a0d0b30);z-index:-1}.hc-entry-copy{display:flex;flex-direction:column;gap:5px}.hc-entry-copy>small{font-size:10px;font-weight:700;letter-spacing:.6px;color:#e2c68f}.hc-entry-copy>b{font-size:13px;font-weight:650;color:#fff0cd;line-height:1.3}.hc-entry-copy>span{font-size:10px;color:#c4bca5;line-height:1.4}.hc-entry.selected{border:1px solid #e3bc65;box-shadow:inset 0 0 0 1px #b19a35,0 0 8px #d3b63633}.hc-entry.selected:before{content:'';position:absolute;inset:0;box-shadow:inset 3px 0 #f3ce78;pointer-events:none}.hc-entry:hover{border-color:#c9b55a}.hc-entry.locked>img{filter:saturate(.35) brightness(.5)}.hc-entry.locked .hc-entry-copy>span{color:#e0a090}.hc-empty{padding:12px;font-size:12px;color:#c9b085}.hc-detail{padding:17px 20px;min-width:0;display:flex;flex-direction:column;gap:11px;background:radial-gradient(ellipse at center,#655a2a28,transparent 75%)}.hc-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.hc-detail-heading small{font-size:10px;letter-spacing:2px;color:#b49a71}.hc-detail-heading h3{margin:3px 0 0;font:500 22px Georgia,serif;color:#f4e3bd}.hc-availability{font-size:10px;letter-spacing:.8px;padding:5px 8px;background:#243422;border:1px solid #627d42;color:#b9d390;border-radius:3px;white-space:nowrap}.hc-availability.locked{color:#dc9f8b;border-color:#804334;background:#40231b}.hc-creatures{display:grid;grid-template-columns:1.05fr repeat(3,1fr);gap:7px}.hc-member,.hc-all{display:flex;align-items:center;gap:6px;min-width:0;background:#161a16a6;border:1px solid #655c34;color:#e9d3a6;border-radius:4px;padding:7px 5px;cursor:pointer;transition:background .12s}.hc-member:hover,.hc-all:hover{background:#55432777}.hc-member.chosen,.hc-all.chosen{border-color:#d5ab55;background:#61551f66;box-shadow:inset 0 0 12px #c7952820}.hc-member>span:last-child{display:flex;flex-direction:column;gap:3px;text-align:left;min-width:0}.hc-member b{font-size:10px;line-height:1.25;overflow-wrap:anywhere}.hc-member small{font-size:10px;color:#b7a786}.hc-member .outfit{flex:none}.hc-all{flex-direction:column;justify-content:center;gap:2px}.hc-all>span{font:700 15px Georgia;color:#edce88;letter-spacing:3px}.hc-all b{font-size:11px}.hc-all small{font-size:10px;color:#b7a786}.hc-map{position:relative;height:270px;overflow:hidden;background:#19221e;border:1px solid #ad8a43;border-radius:5px;box-shadow:inset 0 0 20px #0007;isolation:isolate}.hc-terrain{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:auto;z-index:-3}.hc-vignette{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,#07100ff5,#10140c10 70%),linear-gradient(90deg,#10120b30,transparent 50%);box-shadow:inset 0 0 30px #0008}.hc-map-label{position:absolute;top:12px;left:12px;border:1px solid #d1b87e66;background:#161f18d9;color:#e5d3a0;font-size:10px;letter-spacing:1.4px;padding:6px 8px;border-radius:3px}.hc-compass{position:absolute;top:14px;right:15px;text-align:center;font:11px Georgia;color:#e6d2a3;text-shadow:0 2px 3px #000}.hc-compass b{display:block;font-size:34px;font-weight:400;line-height:1}.hc-map-copy{position:absolute;left:19px;bottom:17px;right:165px}.hc-map-copy small{font-size:10px;letter-spacing:1.8px;color:#e1c891}.hc-map-copy h3{font:500 29px Georgia,serif;line-height:1.05;color:#fff1cf;margin:6px 0;text-shadow:0 2px 6px #000}.hc-map-copy p{font-size:10px;line-height:1.45;color:#cecfb5;margin:0;max-width:440px}.hc-map-monsters{position:absolute;right:13px;bottom:14px;display:flex;align-items:flex-end;gap:0;filter:drop-shadow(0 5px 3px #000b)}.hc-map-monsters>div{margin-left:-20px}.hc-map-options{display:flex;gap:6px;flex-wrap:wrap}.hc-map-options button{padding:5px 8px;background:#191a15;border:1px solid #5a5231;border-radius:3px;color:#bfae88;font-size:10px;cursor:pointer}.hc-map-options button.chosen{border-color:#ad9942;color:#f1d79d;background:#4b3a20}.hc-facts{display:grid;grid-template-columns:repeat(3,1fr);background:#13171177;border:1px solid #5b532f;border-radius:4px;padding:9px}.hc-facts>span{display:grid;gap:4px;padding-left:10px;border-left:1px solid #615933}.hc-facts>span:first-child{border:0;padding-left:0}.hc-facts small{font-size:10px;letter-spacing:.8px;color:#aa9a77}.hc-facts b{font-size:12px;color:#e5d1a4}.hc-section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.hc-section-heading h4{margin:0;font:500 19px Georgia,serif;color:#e7c98d}.hc-catalog{border:0;background:transparent;color:#c7b077;text-decoration:underline;text-underline-offset:3px;font-size:10px;cursor:pointer}.hc-loot-items{display:flex;gap:6px;flex-wrap:wrap}.hc-loot-item{width:43px;height:43px;display:grid;place-items:center;background:radial-gradient(circle,#27312d,#101718);border:1px solid #6b6345;border-radius:4px}.hc-loot-item img{width:38px;height:38px;object-fit:contain}.hc-drops>p{color:#b4a280;font-size:10px;margin:8px 0 0;line-height:1.4}.hc-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #655c33;padding-top:12px}.hc-controls{display:flex;gap:6px;min-width:0}.hc-controls select{max-width:190px;min-width:0;padding:9px 7px;background:#191b15;color:#dfcd9f;border:1px solid #696038;border-radius:4px;font-size:10px}.hc-go{min-height:40px;padding:10px 24px;max-width:55%;border:1px solid #d0b644;border-radius:4px;background:linear-gradient(#9f8822,#5e2117);box-shadow:inset 0 1px #e8ce5a66,0 3px 9px #0005;color:#ffe3ad;font-size:13px;font-weight:700;cursor:pointer}.hc-go:hover:not(:disabled){filter:brightness(1.16)}.hc-go:disabled{filter:grayscale(.65);opacity:.6;cursor:not-allowed}.hc-mode-note{font-size:10px;line-height:1.5;color:#b0a082;margin:0}.hc-running{display:flex;justify-content:space-between;gap:15px;padding:10px 15px;color:#b7ce9a;background:#1b2719;font-size:11px}.hc-running button{border:1px solid #756b3c;background:#38261c;color:#e4c49a;border-radius:3px;padding:4px 9px;cursor:pointer}.win:has(#panel-hunt .hunt-campaign){min-width:min(1080px,calc(100vw - 32px))}
@container(max-width:850px){.hc-layout{grid-template-columns:190px minmax(0,1fr)}.hc-sidebar{padding:10px 7px}.hc-detail{padding:14px 12px}.hc-entry-copy>b{font-size:12px}.hc-creatures{grid-template-columns:repeat(2,1fr)}.hc-map-copy h3{font-size:24px}.hc-map-copy{right:105px}.hc-map-monsters>div{margin-left:-38px}.hc-go{padding:9px 12px}.hc-bottom{align-items:stretch;flex-direction:column}.hc-go{max-width:100%}.hc-controls select{max-width:100%;flex:1}}
@container(max-width:560px){.hc-titlebar{padding:12px}.hc-titlebar h2{font-size:21px}.hc-titlebar>span{display:none}.hc-layout{display:flex;flex-direction:column}.hc-sidebar{border-right:0;border-bottom:1px solid #6c612f}.hc-sidebar-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:9px}.hc-entries{display:flex;overflow-x:auto;max-height:none;gap:7px}.hc-entry{flex:0 0 168px;min-height:88px}.hc-search{margin-bottom:8px}.hc-detail{padding:13px 11px}.hc-detail-heading h3{font-size:21px}.hc-map{height:256px}.hc-map-copy{left:12px;bottom:12px;right:90px}.hc-map-copy h3{font-size:25px}.hc-map-copy p{font-size:10px}.hc-map-monsters{right:-2px;bottom:10px}.hc-map-monsters>div{margin-left:-52px}.hc-map-label{font-size:7px}.hc-facts small{font-size:7px}.hc-facts b{font-size:11px}.hc-titlebar small{font-size:10px}.hc-loot-item{width:37px;height:37px}.hc-loot-item img{width:33px;height:33px}.hc-member b{font-size:11px}.hc-facts{gap:5px}.hc-facts>span{padding-left:6px}.hc-availability{font-size:10px}.hc-go{width:100%}.hc-catalog{font-size:10px}}

.campaign-root>.dhead{margin:0 0 8px!important;width:100%;min-width:0;box-sizing:border-box}.campaign-root>.dhead .dtabs{max-width:100%;min-width:0;flex-wrap:wrap;box-sizing:border-box}.hc-member small,.hc-all small{font-size:9px}.hc-map-copy p{font-size:11px}.hc-mode-note{font-size:10px}

/* Focus on the selected creature(s), with square perspective plinths. */
.hc-terrain{filter:brightness(.58) saturate(.82) blur(1.4px);transform:scale(1.015)}
.hc-map-monsters{left:50%;right:auto;top:35%;bottom:auto;transform:translate(-50%,-50%);display:flex;gap:26px;align-items:center;filter:none;pointer-events:none}
.hc-map-monsters>.hc-creature-figure{position:relative;isolation:isolate;display:flex;align-items:flex-end;justify-content:center;width:104px;height:112px;box-sizing:border-box;padding-bottom:14px;margin:0}
.hc-creature-base{position:absolute;z-index:-1;left:50%;top:94px;width:80px;height:80px;box-sizing:border-box;transform:translate(-50%,-50%) scaleY(.42) rotate(45deg);background:linear-gradient(135deg,#182c2cf0,#070e12f5);border:2px solid #819d9b99;box-shadow:9px 9px 0 #040a0ee0,12px 12px 9px #0006,inset 0 0 0 5px #0b171bcc,inset 0 0 0 6px #b4c9b61a}
.hc-creature-figure>.outfit-wrap,.hc-creature-figure>.outfit{position:relative;z-index:1;filter:drop-shadow(0 4px 3px #000a)}
.hc-map-copy{right:19px}
@container(max-width:560px){.hc-map-monsters{left:50%;right:auto;top:35%;bottom:auto;gap:10px}.hc-map-monsters>.hc-creature-figure{width:80px;margin:0}.hc-creature-base{width:66px;height:66px}.hc-map-copy{right:12px}}

/* Native south-facing frame: tightly measured visible bounds, feet at plinth center. */
.hc-creature-sprite{position:absolute;z-index:1;left:50%;top:94px;transform:translate(-50%,-100%);background-repeat:no-repeat;image-rendering:pixelated;pointer-events:none;filter:drop-shadow(0 2px 2px #0008)}
.hc-creature-sprite:not([data-ready="1"]){visibility:hidden}

/* Align the footprint center, allowing the forward edge to extend naturally. */
.hc-creature-sprite{transform:none}

@font-face{font-family:'Multiverse Cinzel';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/Cinzel-Variable.ttf') format('truetype')}
.hc-creature-name{position:absolute;left:50%;top:138px;transform:translateX(-50%);width:128px;max-width:none;margin:0;font-family:'Multiverse Cinzel',Georgia,serif;font-size:14px;font-weight:700;font-synthesis:none;line-height:1.2;letter-spacing:.15px;text-align:center;color:#e4d09a;text-shadow:0 1px 1px #0a0807,1px 2px 2px #0009;overflow-wrap:normal}
.hc-map{height:320px}.hc-map-monsters{top:31%}
.hc-map-monsters>.hc-creature-figure.large-winged{width:128px}.large-winged>.hc-creature-base{width:96px;height:96px}
@container(max-width:560px){.hc-map{height:344px}.hc-map-monsters{top:31%}.hc-map-monsters:has(.large-winged){gap:22px}.hc-map-monsters>.hc-creature-figure.large-winged{width:96px}.large-winged>.hc-creature-base{width:84px;height:84px}.hc-creature-name{width:96px;font-size:14px}}
@container(max-width:360px){.hc-map-monsters:has(.large-winged){transform:translate(-50%,-50%) scale(.82)}}

.hc-map{height:360px}@container(max-width:560px){.hc-map{height:384px}}
