/* Native choices placed within the retained room. New art is review-only. */
body[data-style="hybrid"][data-view="tavern"]{--room-w:max(100vw,calc(100dvh * 16 / 9));--room-h:max(100dvh,calc(100vw * 9 / 16));--room-x:calc((100vw - var(--room-w)) / 2);--room-y:calc((100dvh - var(--room-h)) * .6)}
body[data-style="hybrid"] .market-counter-title{font:700 16px/20px var(--fantasy-title),serif;color:#f0dfb8;text-align:center;margin:0;padding:2px 4px;text-shadow:0 2px 3px #100a07}
body[data-style="hybrid"] .market-hosts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-height:150px}
body[data-style="hybrid"] .market-host{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:0;min-width:0;min-height:150px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;color:#f0dfb8!important}
body[data-style="hybrid"] .market-host>.market-art{width:100%;height:120px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 3px #100a0788)}
body[data-style="hybrid"] .market-host-label{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:1px;padding:3px 4px;min-height:60px;background:#30261eea;border:1px solid #9d7c4c;box-shadow:0 3px 3px #100a0780;text-align:center;white-space:normal}
body[data-style="hybrid"] .market-host-label strong{font:700 16px/18px var(--fantasy-title),serif}
body[data-style="hybrid"] .market-host-label>span{font:14px/16px var(--fantasy-copy);color:#f0dfb8}
body[data-style="hybrid"] .market-host-label>small{font:12px/14px system-ui;color:#e4c98e}
body[data-style="hybrid"] .market-host:is(:hover,:focus-visible){outline:2px solid #e1bf7a!important;outline-offset:2px!important}
body[data-style="hybrid"] .market-host:is(:hover,:focus-visible)>.market-art{filter:drop-shadow(0 3px 4px #100a0799) brightness(1.1)}
/* Half-scene conversation and the exact native offer use the existing app pane. */
body[data-style="hybrid"] .patron-dialogue-view{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,1fr);gap:12px;min-height:0;height:100%;max-height:100%;color:#f0dfb8}
body[data-style="hybrid"] .patron-conversation{display:grid;grid-template-rows:auto minmax(100px,1fr) auto;gap:0;min-height:0;background:#1b28238a;border:0;overflow:hidden}
body[data-style="hybrid"] .patron-switcher{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;padding:3px 4px}
body[data-style="hybrid"] .patron-switcher button{min-height:30px;padding:3px 7px!important;font:14px/18px var(--fantasy-title),serif;background:#24362de8!important;border:1px solid #8f7950!important;color:#f0dfb8!important}
body[data-style="hybrid"] .patron-switcher button[aria-pressed="true"]{border-color:#efce8a!important;background:#4b4830!important}
body[data-style="hybrid"] .patron-dialogue-art{min-height:0;overflow:hidden;display:flex;justify-content:center;align-items:flex-end}
body[data-style="hybrid"] .patron-dialogue-art>img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 4px #100a0788)}
body[data-style="hybrid"] .patron-speech{background:#1b2823ed;border-top:1px solid #9d7c4c;padding:8px 12px;min-height:82px}
body[data-style="hybrid"] .patron-speech h2{display:inline;font:700 22px/26px var(--fantasy-title),serif;margin:0 7px 0 0}
body[data-style="hybrid"] .patron-role{font:12px/16px system-ui;color:#d8cba6}
body[data-style="hybrid"] .patron-speech p{margin:5px 0 0;font:16px/21px var(--fantasy-copy);color:#f0dfb8}
body[data-style="hybrid"] .patron-quest-panel{display:flex;flex-direction:column;gap:6px;min-height:0;max-height:100%;overflow:auto;padding:10px 12px;background:#e5d5af;color:#25352a;border:7px solid #34403c;border-image:var(--lantern-frame) 112 stretch;border-image-width:7px;box-shadow:0 4px 5px #100a0788}
body[data-style="hybrid"] .patron-quest-panel h2{font:700 24px/27px var(--fantasy-title),serif;color:#25352a;margin:0}
body[data-style="hybrid"] .patron-quest-panel .market-ranks,body[data-style="hybrid"] .patron-quest-panel .quest-rank-choice{position:static!important;inset:auto!important;width:auto!important;height:auto!important;min-height:26px!important;display:flex;flex-wrap:wrap;gap:3px;justify-content:center;padding:2px 3px;background:#d2c19b;border:0;box-shadow:none;color:#25352a}
body[data-style="hybrid"] .patron-quest-panel .market-ranks strong,body[data-style="hybrid"] .patron-quest-panel .quest-rank-choice strong{font:700 14px/18px var(--fantasy-title),serif;margin-right:auto}
body[data-style="hybrid"] .patron-quest-panel :is(.market-ranks,.quest-rank-choice) button{min-width:25px;min-height:26px;font:14px/18px var(--fantasy-title),serif;padding:1px 4px!important}
body[data-style="hybrid"] .patron-estimate{margin:0;font:14px/18px system-ui}
body[data-style="hybrid"] .patron-facts{display:flex;gap:5px 12px;flex-wrap:wrap}
body[data-style="hybrid"] .patron-facts p{display:flex;align-items:center;gap:3px;margin:0;font:14px/18px system-ui}
body[data-style="hybrid"] .patron-facts :is(.icon,.market-icon,.tv-icon){width:20px;height:20px;flex:none}
body[data-style="hybrid"] .patron-milestones{padding-left:22px;margin:0;font:16px/21px var(--fantasy-copy)}
body[data-style="hybrid"] .patron-condition{margin:0;font:14px/18px var(--fantasy-copy)}
body[data-style="hybrid"] .patron-quest-panel details{font:12px/16px system-ui}
body[data-style="hybrid"] .patron-quest-panel details p{margin:4px 0;font:14px/18px var(--fantasy-copy)}
body[data-style="hybrid"] .patron-reward{margin-top:auto;border-top:1px solid #ac9466;padding-top:5px}
body[data-style="hybrid"] .patron-reward>span{font:12px/16px system-ui}
body[data-style="hybrid"] .patron-reward p{display:flex;align-items:center;gap:4px;margin:0;font:700 18px/22px var(--fantasy-title),serif}
body[data-style="hybrid"] .patron-reward :is(.icon,.market-icon,.tv-icon){width:21px;height:21px}
body[data-style="hybrid"] .patron-actions>button{width:100%;min-height:36px;background:#294531!important;border:1px solid #a58a55!important;color:#f1e1b7!important;font:700 16px/20px var(--fantasy-title),serif}
body[data-style="hybrid"] .patron-starters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
body[data-style="hybrid"] .patron-starter{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;min-height:74px;padding:3px!important;background:#294531!important;color:#f1e1b7!important;font:14px/16px var(--fantasy-title),serif}
body[data-style="hybrid"] .patron-starter-art{display:block;width:38px;height:38px}
body[data-style="hybrid"] .patron-starter-art img{width:100%;height:100%;object-fit:contain}
body[data-style="hybrid"] .patron-starter>span:last-child{font:12px/14px system-ui}
body[data-style="hybrid"] .patron-party-condition{display:flex;gap:4px;flex-wrap:wrap;max-height:66px;overflow:auto;margin:0 0 4px;font:12px/16px system-ui}
@media(min-width:900px) and (min-height:401px){
 body[data-style="hybrid"] #tavern[data-market="stock1"]{overflow:visible!important}
 body[data-style="hybrid"] .market-shell{position:relative;display:block;height:100%;min-height:400px;padding:0}
 body[data-style="hybrid"] .market-heading{position:fixed;left:14px;right:74px;top:58px;min-height:26px;padding:0;background:none;border:0;box-shadow:none;text-shadow:0 2px 3px #100a07}
 body[data-style="hybrid"] .market-heading h1{font:700 22px/26px var(--fantasy-title),serif}
 body[data-style="hybrid"] .market-heading p{max-width:65%;display:flex;justify-content:flex-end;gap:3px;flex-wrap:wrap;font:12px/16px system-ui}
 body[data-style="hybrid"] .market-stock{display:contents}
 body[data-style="hybrid"] .market-recruit{position:fixed;left:calc(var(--room-x) + var(--room-w) * .025);top:calc(var(--room-y) + var(--room-h) * .24);width:calc(var(--room-w) * .235);height:calc(var(--room-h) * .51);min-height:250px;max-height:400px;box-shadow:0 6px 4px #100a0788}
 body[data-style="hybrid"] .market-recruit .market-picture{min-height:100px;background:var(--lantern-unit,#20383f)}
 body[data-style="hybrid"] .market-recruit .market-art{object-fit:contain}
 body[data-style="hybrid"] .market-goods{position:fixed;left:calc(var(--room-x) + var(--room-w) * .71);top:calc(var(--room-y) + var(--room-h) * .18);width:calc(var(--room-w) * .275);height:calc(var(--room-h) * .34);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(88px,1fr));gap:4px;background:none}
 body[data-style="hybrid"] .market-counter-title{position:absolute;left:0;right:0;bottom:100%}
 body[data-style="hybrid"] .market-goods>.market-offer:not([data-stock-kind="bed"]){display:grid;grid-template-columns:32px minmax(0,1fr) 32px;grid-template-rows:16px minmax(26px,1fr) 28px;gap:1px 3px;min-height:88px;padding:3px 4px;border:2px solid #8e7048;border-image:none;background:#d8c39c;box-shadow:0 3px 2px #100a0780}
 body[data-style="hybrid"] .market-goods>.market-offer>header{grid-area:1/1/2/-1}
 body[data-style="hybrid"] .market-goods>.market-offer h2{font:700 14px/16px var(--fantasy-title),serif}
 body[data-style="hybrid"] .market-goods>.market-offer>.market-picture{grid-area:2/1/3/2;min-height:0;border:0;background:none}
 body[data-style="hybrid"] .market-goods>.market-offer>.market-values{grid-area:2/2/3/-1;justify-content:flex-start;gap:0 2px;min-width:0;align-content:center;line-height:14px}
 body[data-style="hybrid"] .market-goods>.market-offer>.market-values b{font-size:14px;line-height:16px}
 body[data-style="hybrid"] .market-goods>.market-offer .market-icon{width:14px;height:14px}
 body[data-style="hybrid"] .market-goods>.market-offer>.market-values span{font-size:12px;line-height:14px}
 body[data-style="hybrid"] .market-goods>.market-offer>button{grid-area:3/1/4/3;min-height:28px;padding:1px 2px!important;gap:2px}
 body[data-style="hybrid"] .market-goods>.market-offer>button small .market-icon{display:none}
 body[data-style="hybrid"] .market-goods>.market-offer>details{grid-area:3/3/4/4;align-self:center}
 body[data-style="hybrid"] .market-goods>.market-offer summary{font-size:12px;line-height:14px;overflow-wrap:anywhere}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-kind="bed"]{position:fixed;left:calc(var(--room-x) + var(--room-w) * .305);top:calc(var(--room-y) + var(--room-h) * .30);width:calc(var(--room-w) * .15);height:calc(var(--room-h) * .135);min-height:78px;display:grid;grid-template-columns:minmax(0,1fr) 34px;grid-template-rows:16px minmax(22px,1fr) 28px;gap:1px 3px;padding:3px 4px;border:2px solid #8e7048;border-image:none;background:#d8c39c;box-shadow:0 3px 2px #100a0780}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-tier="better"]{top:calc(var(--room-y) + var(--room-h) * .45)}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-kind="bed"]>.market-picture{display:none}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-kind="bed"]>.market-values{grid-area:2/1/3/-1}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-kind="bed"]>.market-values span{display:none}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-kind="bed"]>button{grid-area:3/1/4/2}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-kind="bed"]>details{grid-area:3/2/4/3}
 body[data-style="hybrid"] .market-shell>.market-ranks{position:fixed;left:calc(var(--room-x) + var(--room-w) * .465);top:calc(var(--room-y) + var(--room-h) * .29);width:calc(var(--room-w) * .235);height:calc(var(--room-h) * .16);min-height:76px;display:flex;align-content:center;justify-content:center;gap:4px;padding:4px;background:#37291de8;border:2px solid #a17d4b;box-shadow:0 3px 3px #100a0777}
 body[data-style="hybrid"] .market-shell>.market-ranks strong{flex-basis:100%;text-align:center;margin:0;font:700 16px/20px var(--fantasy-title),serif}
 body[data-style="hybrid"] .market-shell>.market-ranks>span{font-size:12px;line-height:16px}
 body[data-style="hybrid"] .market-shell>.market-ranks button{min-width:25px;min-height:26px;font-size:14px;padding:1px 3px!important}
 body[data-style="hybrid"] .market-hosts{position:fixed;left:calc(var(--room-x) + var(--room-w) * .49);top:calc(var(--room-y) + var(--room-h) * .50);width:calc(var(--room-w) * .495);height:calc(var(--room-h) * .37);grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-height:190px}
 body[data-style="hybrid"] .market-host{min-height:0;justify-content:flex-end;overflow:visible}
 body[data-style="hybrid"] .market-host>.market-art{position:absolute;left:0;right:0;top:0;width:100%;height:calc(100% - 80px);object-fit:contain;object-position:center bottom}
 body[data-style="hybrid"] .market-host-label{position:relative;z-index:1;min-height:76px;padding:3px 4px}
 body[data-style="hybrid"] .market-host-label strong{font-size:14px;line-height:16px}
 body[data-style="hybrid"] .market-host-label>span{font-size:14px;line-height:16px}
 body[data-style="hybrid"] .market-host-label>small{font-size:12px;line-height:14px}
 body[data-style="hybrid"] .market-shell>.patron-dialogue-view{position:fixed;inset:88px 72px 64px 14px;height:auto!important;max-height:none!important}
}
@media(max-width:899px){
 body[data-style="hybrid"] .market-shell{grid-template-rows:auto auto auto auto;min-height:0;height:auto}
 body[data-style="hybrid"] .market-counter-title{grid-column:1/-1}
 body[data-style="hybrid"] .market-hosts{grid-template-columns:repeat(2,minmax(0,1fr));min-height:320px}
 body[data-style="hybrid"] .patron-dialogue-view{grid-template-columns:minmax(0,1fr);height:auto;max-height:none}
 body[data-style="hybrid"] .patron-conversation{min-height:350px}
 body[data-style="hybrid"] .patron-quest-panel{max-height:none;min-height:360px}
}

@media(min-width:900px) and (min-height:401px){
 body[data-style="hybrid"] #tavern:not([data-market="stock1"]) .patron-dialogue-view{position:fixed;inset:104px 72px 64px 14px;height:auto!important;max-height:none!important}
 body[data-style="hybrid"] .patron-quest-panel{gap:4px;padding:8px 10px}
}

body[data-style="hybrid"] .patron-role{position:static!important;inset:auto!important;display:inline!important;color:#d8cba6!important}
body[data-style="hybrid"] .patron-quest-panel .patron-reward :is(span,p,strong){color:#3d4128!important;text-shadow:none!important}
body[data-style="hybrid"] #tavern:has(.patron-dialogue-view) .tv-footnote{display:none!important}
body[data-style="hybrid"] .patron-starter-art>.tv-portrait{padding:0!important;clip-path:none!important;object-fit:contain!important;transform:none!important}

body[data-style="hybrid"] .market-shell .market-host{background:transparent!important;border:0!important;box-shadow:none!important;justify-content:flex-end!important}
body[data-style="hybrid"] .market-shell .market-host-label{width:100%;box-sizing:border-box}
body[data-style="hybrid"] .market-shell .market-offer summary>.market-icon{width:18px!important;height:18px!important}
@media(min-width:900px) and (min-height:401px){
 body[data-style="hybrid"] .market-hosts{top:calc(var(--room-y) + var(--room-h) * .56);height:calc(var(--room-h) * .30);min-height:166px}
 body[data-style="hybrid"] .market-goods>.market-offer:not([data-stock-kind="bed"]){grid-template-rows:16px minmax(26px,1fr) 30px}
 body[data-style="hybrid"] .market-goods>.market-offer>button{flex-direction:column;min-height:30px;padding:0 2px!important;gap:0}
 body[data-style="hybrid"] .market-goods>.market-offer>button small{font-size:12px;line-height:13px}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-kind="bed"]{height:calc(var(--room-h) * .145);min-height:82px;grid-template-rows:16px minmax(22px,1fr) 30px}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-tier="better"]{top:calc(var(--room-y) + var(--room-h) * .455)}
}

body[data-style="hybrid"] .market-shell>.market-ranks{flex-wrap:wrap!important}
@media(min-width:900px) and (min-height:401px){
 body[data-style="hybrid"] .market-shell>.market-ranks>span{flex-basis:100%;text-align:center}
 body[data-style="hybrid"] .market-shell>.market-ranks button{flex:0 0 25px}
}

body[data-style="hybrid"] .patron-estimate{display:none}
body[data-style="hybrid"] .market-hosts{pointer-events:none;align-items:end}
body[data-style="hybrid"] .market-host{pointer-events:auto}
@media(min-width:900px) and (min-height:401px){
 body[data-style="hybrid"] .market-shell .market-host{height:76px!important;min-height:76px!important;align-self:end}
 body[data-style="hybrid"] .market-host>.market-art{top:-90px;height:90px;pointer-events:none}
}
@media(min-width:900px) and (min-height:401px) and (max-height:500px){
 body[data-style="hybrid"] .market-heading{top:40px}
 body[data-style="hybrid"] .market-heading p{display:none}
 body[data-style="hybrid"] .market-recruit{top:80px;height:252px;min-height:252px}
 body[data-style="hybrid"] .market-goods{top:54px;height:176px}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-kind="bed"]{top:90px;height:82px;min-height:82px}
 body[data-style="hybrid"] .market-goods>.market-offer[data-stock-tier="better"]{top:180px}
 body[data-style="hybrid"] .market-shell>.market-ranks{top:90px;height:82px;min-height:82px}
 body[data-style="hybrid"] .market-hosts{top:auto;bottom:66px;height:150px;min-height:150px}
 body[data-style="hybrid"] .market-shell>.patron-dialogue-view,
 body[data-style="hybrid"] #tavern:not([data-market="stock1"]) .patron-dialogue-view{inset:74px 72px 58px 14px}
 body[data-style="hybrid"] .patron-quest-panel{gap:3px;padding:6px 8px}
 body[data-style="hybrid"] .patron-quest-panel h2{font-size:20px;line-height:23px}
 body[data-style="hybrid"] .patron-milestones{font-size:14px;line-height:18px}
 body[data-style="hybrid"] .patron-condition{font-size:14px;line-height:18px}
 body[data-style="hybrid"] .patron-starter{min-height:44px;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:18px 16px;gap:0 2px}
 body[data-style="hybrid"] .patron-starter-art{grid-area:1/1/3/2;width:28px;height:28px}
 body[data-style="hybrid"] .patron-starter strong{font-size:14px;line-height:18px}
 body[data-style="hybrid"] .patron-starter>span:last-child{grid-area:2/2/3/3}
 body[data-style="hybrid"] .patron-speech{padding:6px 8px;min-height:70px}
 body[data-style="hybrid"] .patron-speech p{font-size:14px;line-height:18px}
}

/* Keep existing controls in the viewport, independently of the room camera. */
body[data-style="hybrid"][data-view="tavern"]{--room-w:100vw;--room-h:100dvh;--room-x:0px;--room-y:0px}
