/* Shared tavern interface art pass. Minigame-specific folios and control docks opt out below. */

#hud{
  position:fixed;inset:0;z-index:35;display:flex;padding:0;background:none;border:0;
  box-shadow:none;pointer-events:none;color:#f3dfaa;text-shadow:0 2px 2px #000,0 0 6px #000;
}
#hud>*{pointer-events:auto}
.hudresources{
  position:absolute;left:5px;top:4px;width:min(246px,29vw);aspect-ratio:1458/768;
  background:url('nightcap-resource-cluster-v1.png') center/contain no-repeat;
  filter:drop-shadow(0 7px 7px rgba(0,0,0,.72));
}
.hudresources .hudstat{position:absolute;min-width:0;height:25%;display:flex;align-items:center;justify-content:center}
.hudresources .hudstat.gold{left:13%;top:43%;width:21%}
.hudresources .hudstat.pop{left:42%;top:28%;width:18%;height:29%}
.hudresources .hudstat.con{left:73%;top:43%;width:17%}
.hudresources .hlabel{display:none}
.hudresources .hval{font-size:clamp(11px,1.15vw,16px);line-height:1;font-weight:900;color:#fff0bc;text-shadow:0 2px 1px #000,0 0 5px #000}
.hudresources .gold .hval{color:#ffe092}
.hudresources .pop .hval{position:relative;left:2px;top:-2px;color:#ffd3bd}
.hudresources .con .hval{color:#d4edff}
.hudresources .hbar{display:none}
.hudclass{display:none!important}
.hudnight{
  position:absolute;right:7px;top:3px;width:min(296px,34vw);aspect-ratio:1914/822;margin:0;padding:0;border:0;border-radius:0;
  background:transparent url('night-progress-manuscript-v1.png') center/contain no-repeat;
  box-shadow:none;filter:drop-shadow(0 5px 5px rgba(0,0,0,.72));color:#4a2818;text-shadow:none;
}
.nightlabel{position:absolute;left:19%;right:11%;top:21%;font-size:7px;font-weight:900;letter-spacing:2.2px;text-align:center;color:#5b2d1b}
.nightpips{position:absolute;left:19.5%;right:19.6%;top:35%;height:31.1%;display:flex;align-items:center;justify-content:space-between}
.nightpips i{
  position:relative;display:block;width:14.6%;aspect-ratio:1;overflow:hidden;border-radius:50%;
  background:radial-gradient(circle at 36% 30%,#fff2b1 0 9%,#e0bd64 35%,#8f632b 73%,#3a2515 100%);
  box-shadow:inset 0 0 0 1px #b88a42,inset -2px -3px 4px #3b2416aa,0 1px 2px #1c100c;
  opacity:.58;filter:saturate(.38) brightness(.62) contrast(1.08);transition:filter .25s,opacity .25s,transform .25s,box-shadow .25s;
}
.nightpips i::after{content:'';position:absolute;border-radius:50%;background:radial-gradient(circle at 58% 42%,#2d251d,#0d0a08 72%);box-shadow:inset -1px 0 2px #0009}
.nightpips i:nth-child(1)::after{inset:4%;transform:translateX(-23%)}
.nightpips i:nth-child(2)::after{left:0;top:0;bottom:0;width:50%;border-radius:50% 0 0 50%}
.nightpips i:nth-child(3)::after{left:-52%;top:4%;bottom:4%;width:76%}
.nightpips i:nth-child(4)::after{display:none}
.nightpips i.on{
  opacity:1;filter:saturate(1.28) brightness(1.3) contrast(1.08);transform:scale(1.08);
  box-shadow:inset 0 0 0 1px #ffe299,inset -2px -3px 4px #4b2b1880,0 0 5px #fff0a8,0 0 13px #e9b94f;
}
.nightpips i.newly-lit{animation:nightMoonAdvance .9s cubic-bezier(.2,.8,.25,1) both}
@keyframes nightMoonAdvance{
  0%{opacity:.5;filter:saturate(.45) brightness(.68);transform:scale(.76)}
  38%{opacity:1;filter:saturate(1.5) brightness(1.65) contrast(1.08);transform:scale(1.3);box-shadow:inset 0 0 0 1px #fff2b8,0 0 9px #fff5bd,0 0 24px #eec154}
  68%{transform:scale(1.01)}
  100%{opacity:1;filter:saturate(1.28) brightness(1.3) contrast(1.08);transform:scale(1.08);box-shadow:inset 0 0 0 1px #ffe299,inset -2px -3px 4px #4b2b1880,0 0 5px #fff0a8,0 0 13px #e9b94f}
}
@media(prefers-reduced-motion:reduce){.nightpips i.newly-lit{animation:none}}
.hudnight.lastcall .nightlabel{color:#8d1f18}.hudnight.lastcall{filter:drop-shadow(0 5px 5px rgba(0,0,0,.72)) drop-shadow(0 0 8px rgba(193,57,32,.5))}
.hudstat.arc{
  position:absolute;left:244px;top:23px;width:240px;aspect-ratio:1856/856;min-width:0;padding:20px 35px 19px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:url('nightcap-spell-rack-v1.png') center/contain no-repeat;
  filter:drop-shadow(0 6px 6px rgba(0,0,0,.72));
}
.hudstat.arc .hlabel{position:absolute;top:19%;font-size:7px;letter-spacing:1.4px;color:#d8ba78}
.hudstat.arc .hval{
  position:absolute;left:12.5%;right:10.5%;top:40%;height:35%;margin:0;
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;justify-items:center;
  font-size:22px;line-height:1;color:#d9c8ff;letter-spacing:0;text-indent:0;
  text-shadow:0 0 8px #7d5dde,0 2px #000;
}
.hudstat.arc .arcpip{
  position:relative;display:block;width:27px;height:27px;font-size:0;border:0;border-radius:50%;
  background:radial-gradient(circle at 50% 48%,#0c0710 0 38%,#3b2415 40% 53%,#d0a24f 55% 59%,#3a210f 61% 72%,#130b07 74%);
  box-shadow:inset 0 3px 7px #000,0 1px 0 #f1c76c,0 3px 5px #000b;
}
.hudstat.arc .arcpip::before{
  content:"";position:absolute;inset:11%;
  background:linear-gradient(145deg,#fff3ff 0 7%,#d89fff 8% 25%,#7c43b7 48%,#351650 78%,#1a0b28);
  clip-path:polygon(50% 0,86% 17%,100% 54%,72% 91%,50% 100%,28% 91%,0 54%,14% 17%);
  box-shadow:0 0 11px #ba6eff;
}
.hudstat.arc .arcpip::after{
  content:"";position:absolute;inset:16%;border:1px solid #f4d9ff99;
  clip-path:polygon(50% 0,86% 17%,100% 54%,72% 91%,50% 100%,28% 91%,0 54%,14% 17%);
}
.hudstat.arc .arcpip.spent{filter:saturate(.18) brightness(.58);box-shadow:inset 0 3px 7px #000,0 1px #5e4222}
.hudstat.arc .arcpip.spent::before{background:linear-gradient(135deg,#362d3b,#17121b 62%,#09070b);box-shadow:none}
.hudstat.arc .arcpip.spent::after{border-color:#63576a55}
.hudstat.arc .hbar{display:none}
.hudstat.arc .spellnote{
  position:absolute;left:12%;right:12%;top:72%;padding:3px 7px;text-align:center;
  font-family:'Tavern Medieval',Georgia,serif;font-size:9px;line-height:1.1;letter-spacing:.55px;
  color:#eadcff;background:rgba(25,14,37,.9);border:1px solid #7659a8;box-shadow:0 4px 10px #000b;
  opacity:0;transform:translateY(-4px);transition:opacity .18s,transform .18s;pointer-events:none;
}
.hudstat.arc .spellnote.show{opacity:1;transform:none}
.hudstat.arc .spellnote.bad{color:#ffd4c6;border-color:#a64b39;background:rgba(48,17,18,.92)}
.hudbuffs{position:absolute;left:12px;top:112px;display:none;flex-direction:column;align-items:flex-start;gap:4px;max-width:230px}
.hudbuff{padding:4px 9px 3px;font-family:'Tavern Medieval',Georgia,serif;font-size:9px;line-height:1;letter-spacing:.9px;
  color:#f1dfaa;background:rgba(36,19,10,.9);border:1px solid #8d6c35;box-shadow:0 4px 9px #000a;text-shadow:1px 1px #241006}
.hudbuff.drink{border-color:#a46b2a}.hudbuff.tonic{color:#dccdff;border-color:#795da5;background:rgba(29,19,42,.92)}
.hudstat.bump .hval{animation:bump .4s}

/* Custom generated frames for the shared narrative and choice layers. */
.dialogue:not(.manuscript):not(.beetle-menu){
  border:0;outline:0;border-radius:0;padding:35px 49px 34px;
  background-color:transparent;
  background-image:url('tavern-dialogue-window-v1.png');
  background-size:100% 100%;background-repeat:no-repeat;background-position:center;
  box-shadow:none;filter:drop-shadow(0 16px 22px rgba(0,0,0,.78));overflow:visible;
}
.dialogue:not(.manuscript):not(.beetle-menu)::before{display:none}
.dialogue:not(.manuscript):not(.beetle-menu).wide,
.dialogue:not(.manuscript):not(.beetle-menu):has(.dchoices.grouped){
  padding:65px 69px 54px;background-image:url('tavern-menu-window-v1.png');
}
.dialogue:not(.manuscript):not(.beetle-menu) .dtitle{color:#5c2919;text-shadow:none}
.dialogue:not(.manuscript):not(.beetle-menu) .dtitle::after{background:linear-gradient(90deg,rgba(108,51,28,.55),transparent)}
.dialogue:not(.manuscript):not(.beetle-menu) .dtext{color:#342416;text-shadow:none}
.dialogue:not(.manuscript):not(.beetle-menu) .cgrouplabel{color:#6f4529;text-shadow:none}
.dialogue:not(.manuscript):not(.beetle-menu) .cgrouplabel::after{background:rgba(112,64,37,.28)}
.dialogue:not(.manuscript):not(.beetle-menu) .btn{
  color:#3d2818;text-shadow:none;border:1px solid #885335;background:linear-gradient(180deg,rgba(246,224,174,.86),rgba(216,181,120,.82));
  box-shadow:inset 0 0 0 1px rgba(255,245,210,.45),0 2px 0 rgba(76,39,20,.42);
}
.dialogue:not(.manuscript):not(.beetle-menu) .btn .bsub{color:#76583a;text-shadow:none}
.dialogue:not(.manuscript):not(.beetle-menu) .btn:hover{color:#2c180f;border-color:#9c271d;background:linear-gradient(180deg,#f3d895,#d9ac66);filter:brightness(1.04)}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.go{color:#6f1f18;border-color:#9b3226;background:linear-gradient(180deg,#ecc295,#cf8d66)}

.panel.gamepanel:not(.dock):not(.docktop){
  border:0;border-radius:0;padding:50px 46px 40px;background-color:transparent;
  background-image:url('tavern-menu-window-v1.png');background-size:100% 100%;background-repeat:no-repeat;
  box-shadow:0 15px 38px #000c;
}
.panel.gamepanel:not(.dock):not(.docktop) .gametip,.panel.gamepanel:not(.dock):not(.docktop) .bigread{color:#382719;text-shadow:none}

/* Character selection now uses a real framed card instead of the old CSS rectangle. */
.classrow{gap:14px;align-items:stretch}
.classcard{
  position:relative;width:278px;height:417px;padding:0;border:0;border-radius:0;overflow:hidden;
  display:block;background:transparent url('tavern-class-card-v1.png') center/100% 100% no-repeat;
  box-shadow:none;filter:drop-shadow(0 14px 18px rgba(0,0,0,.58));transition:transform .14s,filter .14s;
}
.classcard:hover{border:0;transform:translateY(-7px);filter:brightness(1.14) drop-shadow(0 18px 22px rgba(0,0,0,.72));box-shadow:none}
.classcard::after{content:'';position:absolute;inset:8px;pointer-events:none;box-shadow:inset 0 0 18px rgba(237,191,93,0);transition:box-shadow .14s}
.classcard:hover::after{box-shadow:inset 0 0 18px rgba(237,191,93,.32)}
.classcard .cportrait{position:absolute;left:50%;top:57px;transform:translateX(-50%);width:132px;height:142px;display:grid;place-items:center}
.classcard .cportrait canvas{width:118px;height:118px;border:2px solid #9a7137;background:#080504;box-shadow:0 2px 8px rgba(62,35,18,.45);image-rendering:pixelated}
.classcard .cname{position:absolute;left:36px;right:36px;top:214px;text-align:center;font-size:15px;line-height:30px;letter-spacing:2.4px;color:#5b2919;text-shadow:none}
.classcard .cdesc{position:absolute;left:40px;right:40px;top:255px;font-size:10px;line-height:1.35;color:#39271a;text-align:center}
.classcard .clines{position:absolute;left:42px;right:38px;top:304px;font-size:8px;line-height:1.48;color:#67462c;text-align:left}
.classcard .cgold{position:absolute;left:40px;right:40px;bottom:53px;font-size:8px;letter-spacing:1.5px;text-align:center;color:#8b5d21}

/* Nightcap's resource symbols also drive shared economy feedback. */
.sting-row{min-width:260px;padding:13px 24px;border:0;border-radius:0;background:transparent url('tavern-dialogue-window-v1.png') center/100% 100% no-repeat;box-shadow:0 9px 28px #000c}
.sting-ico{width:34px!important;height:34px!important;flex:0 0 34px!important;margin:0!important;clip-path:none!important;border-radius:0!important;transform:none!important;box-shadow:none!important;background-color:transparent!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important}
.sting-row.gold .sting-ico{background-image:url('nightcap-price-coin-v1.png')!important}
.sting-row.pop .sting-ico{background-image:url('nightcap-price-seal-v1.png')!important}
.sting-row.consc .sting-ico{background-image:url('nightcap-price-bottle-v1.png')!important}
.sting-name{color:#4d2b19;text-shadow:0 1px rgba(255,244,207,.82)}
.sting-row .sting-num{
  font-weight:900;color:#4b2817;
  -webkit-text-stroke:.3px rgba(42,20,9,.72);
  text-shadow:0 1px 0 rgba(255,245,205,.92),0 0 1px rgba(42,20,9,.72);
}
.sting-row.gold.up .sting-num{color:#704000}
.sting-row.gold.down .sting-num{color:#742914}
.sting-row.pop.up .sting-num{color:#8a241c}
.sting-row.pop.down .sting-num{color:#681b18}
.sting-row.consc.up .sting-num{color:#174d79}
.sting-row.consc.down .sting-num{color:#283d6b}
.toast{border:0;border-radius:0;padding:13px 21px;background:transparent url('tavern-dialogue-window-v1.png') center/100% 100% no-repeat;box-shadow:0 8px 24px #000b;color:#392719;text-shadow:none}

@media(max-width:900px){
  .hudresources{width:220px;top:3px}.hudnight{width:255px}.hudstat.arc{left:222px;right:auto;top:21px;width:215px}
  .dialogue:not(.manuscript):not(.beetle-menu){padding:30px 40px 29px}
  .dialogue:not(.manuscript):not(.beetle-menu).wide,.dialogue:not(.manuscript):not(.beetle-menu):has(.dchoices.grouped){padding:52px 49px 44px}
  .classcard{width:244px;height:366px}.classcard .cportrait{top:49px;width:116px;height:126px}.classcard .cportrait canvas{width:102px;height:102px}
  .classcard .cname{top:187px;font-size:13px;line-height:28px}.classcard .cdesc{top:223px;font-size:9px}.classcard .clines{top:265px;font-size:7px}.classcard .cgold{bottom:35px;font-size:7px}
}
@media(max-width:660px){
  .hudresources{left:2px;top:2px;width:185px}.hudnight{right:2px;top:2px;width:205px}.hudstat.arc{left:185px;right:auto;top:20px;width:165px}
  .hudstat.arc .hval{font-size:17px;letter-spacing:10px;text-indent:10px}.hudresources .hlabel{display:none}
  .dialogue:not(.manuscript):not(.beetle-menu){padding:25px 30px 24px}
  .dialogue:not(.manuscript):not(.beetle-menu).wide,.dialogue:not(.manuscript):not(.beetle-menu):has(.dchoices.grouped){padding:39px 35px 34px}
}

/* Manuscript typography and choice-button finish. */
@font-face{font-family:"Tavern Blackletter";src:url('../fonts/unifrakturcook/UnifrakturCook-Bold.ttf') format('truetype');font-weight:700;font-display:swap}

.dialogue:not(.manuscript):not(.beetle-menu){
  box-sizing:border-box;padding:clamp(40px,4vw,54px) clamp(55px,5.7vw,76px) clamp(38px,3.7vw,50px);
}
.dialogue:not(.manuscript):not(.beetle-menu) .dbody{min-width:0}
.dialogue:not(.manuscript):not(.beetle-menu) .dtitle{
  gap:10px;margin:0 0 8px;font-family:"Tavern Blackletter",Georgia,serif;
  font-size:clamp(19px,1.65vw,25px);font-weight:700;line-height:1.05;letter-spacing:1.3px;
  color:#672b1c;-webkit-text-stroke:.15px #31150d;
}
.dialogue:not(.manuscript):not(.beetle-menu) .dtitle::before{
  content:'✦';display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;
  color:#d9a943;background:radial-gradient(circle at 35% 30%,#b84430,#772117 65%,#3d100d 70%);
  border:1px solid #e1b75e;border-radius:50%;box-shadow:0 2px 2px #5a2d1870,inset 0 1px #ffd986;
  font-family:Georgia,serif;font-size:11px;-webkit-text-stroke:0;
}
.dialogue:not(.manuscript):not(.beetle-menu) .dtext{
  margin:0 0 12px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(13px,1.08vw,15.5px);
  line-height:1.48;letter-spacing:.12px;color:#2f2117;
}
.dialogue:not(.manuscript):not(.beetle-menu) .dtext::first-letter{
  color:#902f23;font-family:"Tavern Blackletter",Georgia,serif;font-size:1.42em;font-weight:700;
}
.dialogue:not(.manuscript):not(.beetle-menu) .dchoices:not(.grouped){
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr));gap:9px;width:100%;
}
.dialogue:not(.manuscript):not(.beetle-menu) .dchoices.grouped{gap:8px}
.dialogue:not(.manuscript):not(.beetle-menu) .cgroup{gap:5px;min-width:0}
.dialogue:not(.manuscript):not(.beetle-menu) .cgrouplabel{
  margin:1px 0 2px;font-family:"Tavern Blackletter",Georgia,serif;font-size:12px;line-height:1;
  font-weight:700;letter-spacing:1.2px;color:#6b321f;
}
.dialogue:not(.manuscript):not(.beetle-menu) .cgrouprow{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:8px;width:100%;
}
.dialogue:not(.manuscript):not(.beetle-menu) .btn{
  position:relative;isolation:isolate;width:100%;min-width:0;min-height:52px;justify-content:center;
  overflow:visible;border:1px solid #754226;border-radius:2px;padding:10px 43px 9px 15px;
  font-family:Georgia,'Times New Roman',serif;font-size:13px;font-weight:800;line-height:1.14;letter-spacing:.35px;
  color:#382317;background:
    linear-gradient(100deg,rgba(255,247,215,.72),transparent 24%),
    repeating-linear-gradient(0deg,rgba(91,49,25,.025) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#eed59c,#d5a961);
  box-shadow:0 4px 0 #734224,0 7px 13px rgba(67,34,18,.29),inset 0 0 0 2px rgba(255,244,204,.44),inset 0 -8px 16px rgba(128,72,34,.09);
  clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px),0 7px);
  transition:transform .12s cubic-bezier(.2,.85,.25,1.25),filter .12s,box-shadow .12s,color .12s;
  animation:manuscriptChoiceIn .24s cubic-bezier(.2,.9,.25,1.2) both;
}
.dialogue:not(.manuscript):not(.beetle-menu) .btn::before{
  content:'';position:absolute;z-index:0;left:6px;top:7px;bottom:7px;width:4px;
  background:linear-gradient(#b84a35,#722218);box-shadow:1px 0 #f1ca7c88;
}
.dialogue:not(.manuscript):not(.beetle-menu) .btn:nth-child(2){animation-delay:.035s}
.dialogue:not(.manuscript):not(.beetle-menu) .btn:nth-child(3){animation-delay:.07s}
.dialogue:not(.manuscript):not(.beetle-menu) .btn:nth-child(4){animation-delay:.105s}
@keyframes manuscriptChoiceIn{from{opacity:0;transform:translateY(8px) scale(.975)}to{opacity:1;transform:none}}
.dialogue:not(.manuscript):not(.beetle-menu) .btn::after{
  content:'✦';position:absolute;right:10px;top:50%;display:grid;place-items:center;width:24px;height:24px;
  transform:translateY(-50%) rotate(-4deg);border:1px solid #e1b75e;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#c94d36,#812317 64%,#4b120e 67%);color:#f3cf70;
  box-shadow:0 2px 3px rgba(58,24,13,.45),inset 0 1px #ef9970;font:700 10px Georgia,serif;
}
.dialogue:not(.manuscript):not(.beetle-menu) .btn .bsub{
  display:block;margin-top:4px;font-family:"Tavern Medieval",Georgia,serif;font-size:8px;font-weight:400;
  line-height:1.2;letter-spacing:1.15px;text-transform:uppercase;color:#765235;
}
.dialogue:not(.manuscript):not(.beetle-menu) .btn .blabel{display:block;min-width:0}
.currency-copy{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;vertical-align:-.13em}
.currency-token{display:inline-block;width:1.12em;height:1.12em;flex:0 0 1.12em;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 1px 1px rgba(45,21,10,.45))}
.currency-copy.gold .currency-token{background-image:url('nightcap-price-coin-v1.png')}
.currency-copy.pop .currency-token{background-image:url('nightcap-price-seal-v1.png')}
.currency-copy.consc .currency-token{background-image:url('nightcap-price-bottle-v1.png')}
.dialogue:not(.manuscript):not(.beetle-menu) .btn:hover:not(:disabled){
  z-index:2;transform:translateY(-3px) scale(1.012);filter:saturate(1.12) brightness(1.045);color:#25150e;
  border-color:#a32e21;background:
    linear-gradient(100deg,rgba(255,250,220,.84),transparent 25%),
    repeating-linear-gradient(0deg,rgba(91,49,25,.025) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#f6dda1,#dfb267);
  box-shadow:0 7px 0 #6d2418,0 12px 22px rgba(77,28,17,.38),0 0 0 2px rgba(193,65,40,.17),inset 0 0 0 2px rgba(255,248,213,.62);
}
.dialogue:not(.manuscript):not(.beetle-menu) .btn:hover:not(:disabled)::after{
  transform:translateY(-50%) rotate(5deg) scale(1.1);filter:brightness(1.12);box-shadow:0 3px 5px #4c1c12aa,0 0 9px #d86742aa,inset 0 1px #ffad84;
}
.dialogue:not(.manuscript):not(.beetle-menu) .btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #6b351e,inset 0 0 0 2px #f8e6b4}
.dialogue:not(.manuscript):not(.beetle-menu) .btn:focus-visible{outline:3px solid #c13e2b;outline-offset:3px}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.go{color:#651e17;border-color:#9f3023;background:linear-gradient(180deg,#efc19a,#d88862);box-shadow:0 4px 0 #712017,0 7px 14px #5d1e1738,inset 0 0 0 2px #ffe3bc88}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.go::before{background:linear-gradient(#d45d43,#841f18)}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.walk{opacity:1;color:#614a35;border-style:dashed;background:linear-gradient(180deg,#e5d4a9,#c8ae7c);box-shadow:0 3px 0 #70543a,0 6px 11px #3d291c2e,inset 0 0 0 2px #fff1c266}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.walk::after{background:radial-gradient(circle at 35% 30%,#9e8663,#604a36 66%);color:#e7d5a8;border-color:#bda77f}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.cheat{color:#28263e;border-color:#514a82;background:linear-gradient(180deg,#ded8b2,#afa9a5);box-shadow:0 4px 0 #454064,0 7px 14px #26233a38,inset 0 0 0 2px #f4f0d688}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.cheat::before{background:linear-gradient(#6861a0,#38335e)}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.cheat::after{background:radial-gradient(circle at 35% 30%,#766fae,#3b365f 67%);border-color:#b7acd9;color:#eee7ff}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.favor{color:#33421f;border-color:#677b3c;background:linear-gradient(180deg,#e4dfac,#b9bd76);box-shadow:0 4px 0 #51642d,0 7px 14px #29331d38,inset 0 0 0 2px #f5efc588}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.favor::before{background:linear-gradient(#8fa74f,#50642e)}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.disabled,.dialogue:not(.manuscript):not(.beetle-menu) .btn:disabled{filter:grayscale(.5) brightness(.83);opacity:.58;box-shadow:0 2px 0 #6d543a;transform:none}
.dialogue:not(.manuscript):not(.beetle-menu) .btn.with-preview{padding-left:102px}

.classcard{width:290px;height:435px}
.classcard .cportrait{top:59px;width:138px;height:147px}
.classcard .cportrait canvas{width:122px;height:122px}
.classcard .cname{top:223px;font-family:"Tavern Blackletter",Georgia,serif;font-size:18px;line-height:31px;letter-spacing:1.2px;color:#682c1d}
.classcard .cdesc{left:43px;right:43px;top:268px;font-family:Georgia,'Times New Roman',serif;font-size:10.5px;line-height:1.3;color:#312218}
.classcard .clines{left:45px;right:42px;top:319px;font-family:Georgia,'Times New Roman',serif;font-size:8.15px;line-height:1.43;color:#5b3e29}
.classcard .cgold{left:45px;right:45px;bottom:58px;font-family:"Tavern Medieval",Georgia,serif;font-size:8px;font-weight:700;letter-spacing:1.25px;color:#7f511c;text-shadow:0 1px #f3d899}

@media(max-width:900px){
  .dialogue:not(.manuscript):not(.beetle-menu){padding:36px 43px 34px}
  .dialogue:not(.manuscript):not(.beetle-menu) .dtitle{font-size:19px}
  .dialogue:not(.manuscript):not(.beetle-menu) .dtext{font-size:13px;line-height:1.4}
  .dialogue:not(.manuscript):not(.beetle-menu) .btn{min-height:47px;padding:8px 39px 8px 12px;font-size:11px}
  .dialogue:not(.manuscript):not(.beetle-menu) .btn::after{right:8px;width:22px;height:22px}
  .classcard{width:246px;height:369px}.classcard .cportrait{top:50px;width:117px;height:125px}.classcard .cportrait canvas{width:104px;height:104px}
  .classcard .cname{top:189px;font-size:15px;line-height:28px}.classcard .cdesc{left:36px;right:36px;top:227px;font-size:8.8px}.classcard .clines{left:38px;right:36px;top:270px;font-size:7px}.classcard .cgold{bottom:49px;font-size:7px}
}
@media(max-width:620px){
  .dialogue:not(.manuscript):not(.beetle-menu) .dchoices:not(.grouped),.dialogue:not(.manuscript):not(.beetle-menu) .cgrouprow{grid-template-columns:1fr}
  .dialogue:not(.manuscript):not(.beetle-menu) .btn{min-height:43px}
}

/* Social encounters use the open parchment rather than the painted corners.
   The deeper inset keeps headings below the top rule and prose clear of the
   animal-and-vine marginalia on both sides. */
.dialogue.social-encounter:not(.manuscript):not(.beetle-menu){
  box-sizing:border-box;
  /* Keep the same usable height, but seat the complete live-content stack
     eight pixels lower inside the illustrated parchment. */
  padding:calc(clamp(62px,5.2vw,74px) + 8px) clamp(96px,8vw,116px) calc(clamp(70px,6vw,82px) - 8px);
}
.dialogue.social-encounter:not(.manuscript):not(.beetle-menu) .dtitle{
  margin-bottom:9px;line-height:1.08;
}
.dialogue.social-encounter:not(.manuscript):not(.beetle-menu) .dtitle::after{display:none}
.dialogue.social-encounter:not(.manuscript):not(.beetle-menu) .dtext{
  margin-bottom:9px;line-height:1.42;
}
.dialogue.social-encounter:not(.manuscript):not(.beetle-menu) .dchoices:not(.grouped){gap:8px}
.dialogue.social-encounter:not(.manuscript):not(.beetle-menu) .dchoices:not(.grouped) .btn.walk:last-child{
  grid-column:1/-1;width:calc(50% - 4px);justify-self:center;
}
.dialogue.social-encounter:not(.manuscript):not(.beetle-menu) .btn{
  min-height:47px;padding-top:8px;padding-bottom:7px;
}
@media(max-width:760px){
  .dialogue.social-encounter.aside:not(.manuscript):not(.beetle-menu){
    left:2vw;width:96vw;
    padding:62px 58px 54px;
  }
}
@media(max-width:480px){
  .dialogue.social-encounter.aside:not(.manuscript):not(.beetle-menu){
    padding:56px 38px 48px;
  }
}
@media(max-width:620px){
  .dialogue.social-encounter:not(.manuscript):not(.beetle-menu) .dchoices:not(.grouped) .btn.walk:last-child{
    width:100%;
  }
}

/* Class selection: class-specific illuminated folios with live, readable copy. */
.classcard{background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:100% 100%}
.classcard.class-barbarian{background-image:url('tavern-class-card-barbarian-v2.png')}
.classcard.class-wizard{background-image:url('tavern-class-card-wizard-v2.png')}
.classcard.class-cutpurse{background-image:url('tavern-class-card-cutpurse-v2.png')}
.classcard .cportrait{display:none}
.classcard .cname{
  left:15%;right:15%;top:54%;font-family:"Tavern Blackletter",Georgia,serif;
  font-size:clamp(17px,1.55vw,22px);font-weight:700;line-height:38px;letter-spacing:1.25px;color:#542517;
}
.classcard .cdesc{
  left:20%;right:20%;top:63.5%;min-height:20%;display:flex;align-items:center;justify-content:center;
  font-family:Georgia,'Times New Roman',serif;font-size:clamp(13px,1.08vw,16px);
  font-weight:700;line-height:1.25;color:#2b1b12;text-align:center;
}
.classcard.class-cutpurse .cname{top:60.5%}
.classcard.class-cutpurse .cdesc{top:69.5%;min-height:17%}
.classcard.class-barbarian .cname,
.classcard.class-cutpurse .cname{transform:translateY(-3px)}

@media(max-width:900px){
  .classcard .cname{line-height:31px;font-size:16px}
  .classcard .cdesc{font-size:12px}
}

/* The bar is a compact three-column folio: earn, drink, recover; two actions tall. */
.dialogue.bar-manuscript.wide:not(.manuscript):not(.beetle-menu){
  box-sizing:border-box;width:min(1050px,88vw);height:clamp(160px,24vh,200px);bottom:4px;
  padding:0;
  background-image:url('tavern-bar-menu-three-column-strange-v3.png');background-size:100% 100%;
  box-shadow:none;filter:drop-shadow(0 16px 19px rgba(0,0,0,.82));
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .dbody{position:relative;flex:none;width:100%;height:100%;min-height:0}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .dtitle{
  display:none;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .dtitle::after{display:none}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .dtext{
  display:none;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .dchoices.grouped{
  position:absolute;left:4%;right:4%;top:0;bottom:0;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr;gap:3.7%;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .cgroup{
  min-width:0;min-height:0;display:grid;grid-template-rows:28% 72%;gap:0;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .cgrouplabel{
  box-sizing:border-box;margin:0 0 2px;justify-self:center;align-self:end;display:flex;justify-content:center;align-items:center;
  min-width:40%;padding:2px 12px 3px;border:1px solid rgba(106,50,31,.65);border-radius:999px;
  background:linear-gradient(180deg,rgba(250,230,175,.94),rgba(209,169,98,.92));
  box-shadow:0 2px 0 rgba(89,42,22,.4),inset 0 1px rgba(255,248,210,.85);
  font-size:clamp(7px,.6vw,9.5px);line-height:1;letter-spacing:1.35px;color:#6a321f;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .cgrouplabel::after{display:none}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-earn-coin .cgrouplabel{justify-self:end;margin-right:6%}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-drink .cgrouplabel{justify-self:start;margin-left:6%}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-recover .cgrouplabel{justify-self:start;margin-left:6%}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .cgrouprow{
  box-sizing:border-box;align-self:stretch;display:grid;grid-template-columns:1fr;grid-template-rows:35.8% 36%;
  align-content:start;gap:6.5%;width:100%;padding:0;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-earn-coin .cgrouprow{
  width:100%;margin:0;grid-template-columns:1fr;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-drink .cgrouprow{
  width:100%;margin:0;grid-template-columns:1fr;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-recover .cgrouprow{
  width:100%;margin:0;grid-template-columns:1fr;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .btn{
  width:100%;min-height:0;max-height:none;height:100%;align-self:stretch;justify-self:center;padding:4px 34px 4px 8%;
  align-items:flex-start;justify-content:center;text-align:left;font-size:clamp(13px,1vw,15px);font-weight:800;line-height:1.08;
  border:0;border-radius:0;clip-path:none;background:transparent;box-shadow:none;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .btn::before{display:none}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .btn::after{right:7%;width:19px;height:19px;font-size:8px}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .btn:hover:not(:disabled){
  border:0;background:linear-gradient(90deg,transparent,rgba(226,185,105,.28) 12%,rgba(226,185,105,.28) 88%,transparent);
  box-shadow:none;transform:translateY(-1px);clip-path:none;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .btn:disabled{box-shadow:none}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .btn .blabel{width:100%;color:#26150d;text-shadow:0 1px rgba(255,244,205,.75)}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .btn .bsub{margin-top:2px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(9px,.72vw,10.5px);font-weight:800;line-height:1.12;letter-spacing:0;text-transform:none;color:#321e12;text-shadow:0 1px rgba(255,244,205,.7)}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .currency-token{width:13px;height:13px;flex-basis:13px}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-drink .btn,
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-recover .btn{
  padding-left:8%;padding-right:34px;font-size:clamp(13px,1vw,15px);letter-spacing:.02px;
}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-drink .btn::after,
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-recover .btn::after{right:7%;width:19px;height:19px;font-size:8px}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-drink .btn .bsub,
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-recover .btn .bsub{font-size:clamp(9px,.72vw,10.5px);font-weight:800;line-height:1.12;letter-spacing:0}
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-drink .currency-token,
.dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .group-recover .currency-token{width:12px;height:12px;flex-basis:12px}

@media(max-width:720px){
  .dialogue.bar-manuscript.wide:not(.manuscript):not(.beetle-menu){
    width:94vw;height:clamp(175px,34vh,220px);padding:0;
  }
  .dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .dchoices.grouped{top:0}
  .dialogue.bar-manuscript:not(.manuscript):not(.beetle-menu) .btn{font-size:clamp(10.5px,2.3vw,13px)}
}

/* Dune's opening is a rules charter, not a stretched copy of the short dialogue strip. */
.dialogue.dune-intro-manuscript.aside:not(.manuscript):not(.beetle-menu){
  box-sizing:border-box;left:5vw;bottom:16px;transform:none;width:min(720px,52vw);aspect-ratio:1402/1122;
  display:block;padding:0;background-image:url('tavern-rules-manuscript-v1.png');background-size:100% 100%;
  box-shadow:none;filter:drop-shadow(0 16px 20px rgba(0,0,0,.82));
}
.dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .dbody{position:absolute;inset:0;display:block;width:auto;height:auto}
.dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .dtitle{
  position:absolute;left:20.5%;right:14.5%;top:7.3%;margin:0;white-space:nowrap;
  font-size:clamp(24px,2.1vw,32px);line-height:1;letter-spacing:1.2px;
}
.dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .dtitle::before{width:25px;height:25px;flex-basis:25px;font-size:12px}
.dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .dtitle::after{display:none}
.dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .dtext{
  position:absolute;left:20.5%;right:14.5%;top:19%;bottom:19%;margin:0;
  font-size:clamp(11.5px,.76vw,14px);line-height:1.42;letter-spacing:.02px;
}
.dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .dchoices:not(.grouped){
  position:absolute;left:20.5%;right:14.5%;bottom:8.8%;width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;
}
.dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .btn{
  min-height:50px;padding:8px 30px 7px 10px;font-size:clamp(9px,.68vw,11.5px);line-height:1.08;
}
.dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .btn::after{right:7px;width:19px;height:19px;font-size:8px}
.dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .btn .bsub{font-size:6.7px;letter-spacing:.8px}

@media(max-width:900px){
  .dialogue.dune-intro-manuscript.aside:not(.manuscript):not(.beetle-menu){left:4vw;width:92vw}
}
@media(max-width:600px){
  .dialogue.dune-intro-manuscript.aside:not(.manuscript):not(.beetle-menu){left:2vw;bottom:8px;width:96vw;aspect-ratio:1.08}
  .dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .dtitle{top:6.5%;font-size:20px}
  .dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .dtext{top:17%;bottom:22%;font-size:10px;line-height:1.32}
  .dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .dchoices:not(.grouped){bottom:7%;grid-template-columns:1fr}
  .dialogue.dune-intro-manuscript:not(.manuscript):not(.beetle-menu) .btn{min-height:36px}
}

/* Knucklebones prep: a narrow, single-page folio that matches the macabre
   rules manuscript. The art supplies only margins and section dividers; live
   HTML remains responsible for all readable copy and controls. */
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager){
  box-sizing:border-box;left:clamp(28px,3vw,58px);bottom:5px;transform:none;
  width:min(690px,46vw,calc((100vh - 10px)*.83333));aspect-ratio:5/6;
  display:block;padding:0;border:0;border-radius:0;overflow:visible;
  background:transparent url('bones-prep-manuscript-bg-v2.png') center/100% 100% no-repeat;
  box-shadow:none;filter:drop-shadow(0 18px 24px rgba(0,0,0,.86));
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .dbody{
  position:absolute;inset:0;display:block;width:auto;height:auto;min-width:0;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .crest{
  position:absolute;z-index:3;left:25%;right:25%;top:23.2%;height:20px;margin:0;display:block;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .crest-ico{display:none}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .crest-tag{
  box-sizing:border-box;display:block;width:100%;height:20px;padding:3px 8px;text-align:center;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(7px,.48vw,9px);letter-spacing:1.25px;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .dtitle{
  position:absolute;left:20%;right:20%;top:27.3%;height:30px;margin:0;display:block;text-align:center;
  white-space:nowrap;font-size:clamp(20px,1.55vw,27px);line-height:30px;letter-spacing:1px;color:#682b1c;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .dtitle::before,
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .dtitle::after{display:none}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .dtext{
  position:absolute;left:22%;right:22%;top:32.2%;height:24%;margin:0;overflow:hidden;
  font-size:clamp(12px,.78vw,14px);line-height:1.34;letter-spacing:.02px;color:#2c1d13;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .dtext::first-letter{
  font-size:1em;font-family:Georgia,'Times New Roman',serif;font-weight:400;color:inherit;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .dchoices.grouped{
  position:absolute;left:20.5%;right:20.5%;top:45%;bottom:16.2%;display:block;width:auto;margin:0;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .cgroup{
  position:absolute;left:0;right:0;display:block;min-width:0;margin:0;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-the-wager{top:0;height:28%}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-preparation{top:32%;height:28%}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-decide{top:64%;height:28%}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .cgrouplabel{
  position:absolute;left:0;right:0;top:0;height:14px;margin:0;font-size:clamp(8px,.56vw,10px);
  line-height:14px;letter-spacing:1.15px;color:#6a321f;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-preparation .cgrouplabel{
  z-index:4;left:1.5%;right:auto;top:-2px;width:42%;height:20px;box-sizing:border-box;
  padding:2px 12px 1px;font-family:'Tavern Medieval',Georgia,serif;font-size:clamp(11px,.72vw,13px);
  font-weight:900;line-height:15px;letter-spacing:1.15px;color:#f3dca1;text-shadow:1px 1px #37100c;
  background:linear-gradient(180deg,#842f23,#541912);border:1px solid #b77939;border-left:4px solid #d4a84f;
  box-shadow:inset 0 1px rgba(255,221,146,.28),0 2px 0 rgba(62,20,12,.48);
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,4px 50%);
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-preparation .cgrouplabel::after{
  display:none;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .cgrouprow{
  position:absolute;left:0;right:0;top:16px;display:grid;width:auto;grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:4.2%;row-gap:5px;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-preparation .cgrouprow{
  top:20px;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-the-wager .cgrouprow{
  left:1.5%;right:1.5%;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:6%;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .btn{
  box-sizing:border-box;width:100%;height:clamp(46px,6.25vh,58px);min-height:0;padding:6px 29px 5px 16px;
  justify-content:center;font-size:clamp(11px,.76vw,14px);line-height:1.04;letter-spacing:.05px;overflow:hidden;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-preparation .btn{
  height:clamp(50px,6.8vh,60px);padding:5px 22px 4px 16px;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-preparation .btn .blabel{
  display:block;font-size:clamp(8px,.72vw,12px);line-height:1.05;white-space:nowrap;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-preparation .btn .bsub{
  margin-top:3px;font-size:clamp(7px,.52vw,9px);line-height:1.06;letter-spacing:0;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-preparation .btn::after{
  right:4px;width:17px;height:17px;font-size:7px;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .group-preparation .currency-token{
  width:9px;height:9px;flex-basis:9px;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .btn::after{
  right:5px;width:20px;height:20px;font-size:8px;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .btn .bsub{
  margin-top:3px;font-size:clamp(8px,.57vw,9.5px);font-weight:700;line-height:1.12;letter-spacing:.05px;
  color:#3b2214;text-shadow:0 1px rgba(255,244,205,.82);
  white-space:normal;overflow-wrap:anywhere;
}
.dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager) .currency-token{
  width:12px;height:12px;flex-basis:12px;
}

/* Keep wager copy to a clear label plus the stake. Selection is shown by
   color instead of adding payout copy or a checkmark that competes with it. */
.dialogue .group-the-wager .btn .bsub,
.dialogue .group-wager .btn .bsub{display:none}
.dialogue .group-the-wager .btn,
.dialogue .group-wager .btn{text-align:center}
.dialogue .btn.selected-wager{
  color:#f5e5b8;background:linear-gradient(180deg,#7d3024,#572017);border-color:#451812;
  text-shadow:0 1px #2f100c;box-shadow:inset 0 1px rgba(255,226,154,.35),0 2px 0 rgba(73,29,17,.72);
}

@media(max-width:900px){
  .dialogue.aside:not(.manuscript):not(.beetle-menu):has(.group-the-wager){
    left:2vw;width:min(92vw,calc((100vh - 10px)*.83333));bottom:5px;
  }
}

/* Pissing-contest preparation: a dedicated portrait folio whose art supplies
   only margins and dividers. Every readable/control surface remains live HTML. */
.dialogue.piss-prep-folio.aside:not(.manuscript):not(.beetle-menu){
  box-sizing:border-box;left:clamp(72px,10vw,160px);bottom:5px;transform:none;
  width:min(720px,51vw,calc((100vh - 10px)*.6667));aspect-ratio:2/3;
  display:block;padding:0;border:0;border-radius:0;overflow:visible;
  background:transparent url('piss-contest-prep-folio-v1.png') center/100% 100% no-repeat;
  box-shadow:none;filter:drop-shadow(0 18px 24px rgba(0,0,0,.86));
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .dbody{
  position:absolute;inset:0;display:block;width:auto;height:auto;min-width:0;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .crest{
  position:absolute;z-index:4;left:29%;right:20%;top:4.4%;height:24px;margin:0;display:block;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .crest-ico{display:none}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .crest-tag{
  box-sizing:border-box;display:block;width:100%;height:24px;padding:5px 10px;
  overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center;
  border:1px solid rgba(103,49,27,.62);border-radius:999px;clip-path:none;
  background:linear-gradient(180deg,rgba(235,200,112,.92),rgba(188,137,55,.92));
  color:#4f2415;font-size:clamp(7px,.58vw,9.5px);line-height:12px;letter-spacing:1.35px;
  box-shadow:0 2px 0 rgba(90,44,23,.4),inset 0 1px rgba(255,243,186,.86);
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .dtitle{
  position:absolute;left:26%;right:18%;top:8.4%;height:auto;margin:0;display:block;
  text-align:center;white-space:nowrap;font-size:clamp(25px,2.05vw,33px);line-height:1;
  letter-spacing:1.15px;color:#672719;-webkit-text-stroke:.18px #34150d;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .dtitle::before,
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .dtitle::after{display:none}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .dtext{
  position:absolute;left:25%;right:18%;top:13.8%;height:35.3%;margin:0;overflow:hidden;
  font-family:Georgia,'Times New Roman',serif;font-size:clamp(14px,1.03vw,17px);
  font-weight:600;line-height:1.43;letter-spacing:.01px;color:#2b1b12;text-shadow:0 1px rgba(255,244,207,.65);
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .dtext::first-letter{
  font-family:"Tavern Blackletter",Georgia,serif;font-size:1.45em;font-weight:700;color:#902f23;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .dchoices.grouped{
  position:absolute;left:20.5%;right:18.5%;top:52%;bottom:6.4%;display:block;width:auto;margin:0;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .cgroup{
  position:absolute;left:0;right:0;height:29%;display:block;min-width:0;margin:0;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .group-wager{top:0}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .group-prepare{top:34%}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .group-choose{top:68%}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .cgrouplabel{
  position:absolute;left:0;right:0;top:5%;height:18px;margin:0;display:flex;align-items:center;
  font-family:"Tavern Medieval",Georgia,serif;font-size:clamp(10px,.76vw,12.5px);
  font-weight:800;line-height:18px;letter-spacing:1.6px;color:#6d301f;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .cgrouplabel::after{
  height:1px;background:linear-gradient(90deg,rgba(119,49,29,.44),transparent);
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .cgrouprow{
  position:absolute;left:0;right:0;top:29%;display:grid;width:auto;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .group-wager .cgrouprow,
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .group-prepare .cgrouprow{
  transform:translateX(-2px);
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .btn{
  box-sizing:border-box;width:100%;height:clamp(54px,4.45vw,66px);min-height:0;overflow:hidden;
  justify-content:center;padding:7px 34px 7px 12px;border:1px solid #7f4028;border-radius:3px;
  clip-path:none;font-size:clamp(12.5px,.9vw,15px);line-height:1.08;letter-spacing:.08px;
  color:#321d12;background:
    linear-gradient(100deg,rgba(255,249,218,.7),transparent 28%),
    linear-gradient(180deg,rgba(239,211,148,.96),rgba(210,165,93,.95));
  box-shadow:0 3px 0 #754026,0 6px 10px rgba(68,33,17,.25),inset 0 0 0 2px rgba(255,244,204,.44);
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .btn::before{left:6px;top:7px;bottom:7px;width:3px}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .btn::after{right:7px;width:21px;height:21px;font-size:8px}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .btn .bsub{
  margin-top:3px;font-size:clamp(8.5px,.7vw,10.5px);line-height:1.1;letter-spacing:.28px;
  white-space:normal;overflow-wrap:anywhere;color:#6c492f;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .currency-token{
  width:13px;height:13px;flex-basis:13px;
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .btn.go{
  color:#5d1f17;background:linear-gradient(180deg,#efc49f,#d78e68);
}
.dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .btn.walk{
  color:#574431;background:linear-gradient(180deg,#e6d8b5,#cbb486);
}

@media(max-width:900px){
  .dialogue.piss-prep-folio.aside:not(.manuscript):not(.beetle-menu){
    left:clamp(72px,10vw,96px);width:min(calc(100vw - 82px),calc((100vh - 10px)*.6667));
  }
  .dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .dtext{font-size:12.5px;line-height:1.38}
  .dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .btn{font-size:11px}
  .dialogue.piss-prep-folio:not(.manuscript):not(.beetle-menu) .btn .bsub{font-size:8px}
}

@media(max-width:560px){
  .dialogue.piss-prep-folio.aside:not(.manuscript):not(.beetle-menu){left:1vw;width:98vw}
}
