#tavern{padding:0;border:0;border-radius:0;position:relative;background:#23160f;color:#f8e7b4;overflow:hidden;min-height:300px;font-family:Georgia,serif}.tv-scene{position:relative;width:100%;height:100%;min-height:300px;background:#302019 url('assets/tavern-v1/interior.webp') center/100% 100% no-repeat}.tv-header{height:58px;position:relative;display:flex;align-items:center;justify-content:space-between;padding:6px 18px;box-sizing:border-box;z-index:3;background:linear-gradient(#1a120de8,#1a120d40)}.tv-header h1{font-size:28px;margin:0;line-height:1}.tv-header>div>span{font:9px system-ui;letter-spacing:3px;color:#e8c17b}.tv-header-actions{display:flex;align-items:center;gap:9px}.tv-header button{height:42px;min-width:44px;padding:6px 12px;border:2px solid #b98c4c;border-radius:5px;background:#34251a;color:#fff0bf;font:bold 16px Georgia}.tv-wallet{font:bold 15px system-ui!important;letter-spacing:0!important}.tv-host{position:absolute;left:2%;top:18%;width:33%;height:46%;display:flex;align-items:center;flex-direction:column}.tv-speech{margin:0;background:#fff1c8;color:#45301c;border:3px solid #93622f;border-radius:15px;padding:13px;max-width:280px;font-weight:bold;font-size:clamp(12px,1.5vw,20px);text-align:center;position:relative;z-index:2;box-shadow:3px 5px 0 #130b0880}.tv-speech:after{content:'';position:absolute;bottom:-12px;left:43%;border:6px solid transparent;border-top-color:#fff1c8}.tv-bartender{height:64%;max-width:95%;object-fit:contain;object-position:center bottom;image-rendering:pixelated;filter:drop-shadow(3px 3px 0 #1c110c80)}.tv-board{position:absolute;left:41%;right:4%;top:14%;bottom:23%;display:flex;flex-direction:column;gap:8px}.tv-board-heading{display:flex;align-items:center;justify-content:space-between;padding:0 4px;text-shadow:2px 2px #24150c}.tv-board-heading h2{font-size:clamp(18px,2.4vw,32px);margin:0}.tv-board-heading>span{font:11px system-ui}.tv-flyers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;flex:1;min-height:0}.tv-flyer{min-width:0;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:15px 9px 9px;box-sizing:border-box;background:radial-gradient(ellipse at 40% 25%,#ffedc2,#e7be80 88%);border:2px solid #9d6934;box-shadow:3px 5px 0 #1b100b88,inset 0 0 13px #92511e70;color:#422713;border-radius:3px 7px 3px 5px}.tv-pin{position:absolute;top:-5px;width:9px;height:9px;background:#d3a753;border:2px solid #5b3819;border-radius:50%;box-shadow:1px 2px 2px #39200e}.tv-flyer>small{font:700 8px system-ui;letter-spacing:1px}.tv-flyer h3{margin:5px 0 2px;font-size:clamp(12px,1.35vw,20px);text-transform:uppercase;line-height:1.05}.tv-emblem{width:clamp(32px,6vw,92px);height:clamp(32px,6vw,92px);min-height:26px;color:#694327;filter:sepia(.8);display:flex;align-items:center;justify-content:center;margin:4px 0}.tv-emblem svg{width:100%;height:100%}.tv-objective{font-size:clamp(11px,1.1vw,16px);font-weight:bold;line-height:1.2;margin:2px 0 6px;min-height:2.4em}.tv-progress{width:100%;margin-top:auto}.tv-progress progress{width:100%;height:10px;accent-color:#23847a}.tv-progress strong{display:block;font:700 12px system-ui}.tv-reward{font-weight:bold;font-size:clamp(12px,1.4vw,19px);margin:5px 0}.tv-reward span{font-size:.7em}.tv-consumes{font-size:9px!important;letter-spacing:0!important;margin-bottom:3px}.tv-seal{display:flex;align-items:center;justify-content:center;gap:6px;flex:none;width:100%;min-height:40px;background:#8b663b;color:#fff2d2;border:2px solid #54331f;border-radius:5px;font:bold clamp(10px,1.1vw,15px) Georgia;text-transform:uppercase;cursor:pointer}.tv-seal>span{border:2px solid #ba9472;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;background:#773c2c;font-size:16px}.tv-flyer.is-ready{border-color:#f5c65d;animation:tv-ready 2.3s ease-in-out infinite}.is-ready .tv-seal{background:#296c43;border-color:#d3a438}.is-ready .tv-seal>span{background:#20854a;color:#ffe79a;border-color:#ffd466}.tv-seal:disabled{opacity:.7;cursor:wait}.tv-seal:focus-visible,.tv-header button:focus-visible{outline:3px solid #fff;outline-offset:3px}.tv-toast{position:absolute;bottom:6%;left:50%;transform:translateX(-50%);background:#1e4732;border:2px solid #edcd76;border-radius:8px;padding:12px 20px;font:bold 16px system-ui;z-index:5;white-space:nowrap}.tv-toast[hidden]{display:none}.tv-finale{grid-column:1/-1;background:#ead1a0;color:#422713;text-align:center;padding:20px}.tv-finale h3{font-size:24px}@keyframes tv-ready{50%{box-shadow:0 0 18px #ffd86d99,inset 0 0 10px #ffdc72}}
@media(max-height:500px){.tv-header{height:40px;padding:2px 10px}.tv-header h1{font-size:20px}.tv-header>div:first-child>span{display:none}.tv-header button{height:36px;padding:3px 10px}.tv-board{top:12%;bottom:9%;left:36%;right:3%;gap:3px}.tv-board-heading h2{font-size:18px}.tv-flyers{gap:7px}.tv-flyer{padding:9px 6px 5px}.tv-emblem{width:44px;height:44px;margin:2px}.tv-flyer h3{font-size:12px}.tv-objective{font-size:11px;margin-bottom:2px}.tv-reward{margin:3px 0}.tv-host{width:29%;top:19%;height:46%}.tv-speech{font-size:12px;padding:8px}.tv-seal{min-height:36px}.tv-board-heading>span{font-size:9px}}
@media(max-height:340px){.tv-emblem{height:25px;width:25px;margin:0}.tv-board{top:15%;bottom:4%}.tv-flyer h3{font-size:11px;margin:2px 0}.tv-flyer>small{font-size:7px}.tv-objective{font-size:10px;min-height:2.2em}.tv-seal{min-height:30px}.tv-reward{margin:1px 0}.tv-speech{font-size:11px}.tv-progress progress{height:6px}}
@media(orientation:portrait){.tv-scene{min-width:0;background-size:auto 100%}.tv-header{height:54px}.tv-host{left:3%;top:10%;width:28%;height:22%}.tv-speech{font-size:11px;padding:7px}.tv-board{left:34%;right:3%;top:10%;bottom:3%}.tv-flyers{grid-template-columns:1fr;overflow:auto;gap:12px;padding:5px}.tv-flyer{min-height:240px}.tv-emblem{width:42px;height:42px}.tv-objective{font-size:12px}.tv-board-heading h2{font-size:19px}.tv-board-heading>span{display:none}}
@media(prefers-reduced-motion:reduce){.tv-flyer.is-ready{animation:none;box-shadow:0 0 12px #ffd86d99}}
@media(orientation:portrait){.tv-flyers{grid-template-rows:repeat(3,minmax(205px,1fr))}.tv-flyer{min-height:205px;padding:10px 6px 6px}.tv-emblem{width:32px;height:32px;margin:2px}.tv-flyer h3{font-size:12px}.tv-reward{margin:2px 0}.tv-seal{min-height:36px}}
#tavern{min-height:0}.tv-scene{min-height:0}.game-session #tavern:not([hidden]){padding:0!important;overflow:hidden;display:block;height:100%}.tv-header{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}

/* Stretch the existing accessible claim button across its entire flyer. */
.tv-seal::after{content:"";position:absolute;inset:0;cursor:pointer}
.tv-flyer:focus-within{outline:3px solid #fff0bd;outline-offset:3px}
.tv-bartender-talk{height:64%;max-width:95%;padding:0;border:0;background:transparent;cursor:pointer;display:flex;justify-content:center;align-items:flex-end;flex-shrink:1;min-height:0}
.tv-bartender-talk .tv-bartender{height:100%;max-width:100%}
.tv-bartender-talk:focus-visible{outline:3px solid #fff0bd;outline-offset:3px;border-radius:8px}
.tv-bartender-talk:active{transform:translateY(2px)}

/* Keep Tavern actions clear of the shared 44px menu button and safe area. */
.game-session #tavern .tv-header{padding-right:calc(max(8px,env(safe-area-inset-right)) + 56px)}
.tv-header-actions{flex-shrink:0}
.tv-header button[data-exit]{white-space:nowrap}


/* Keep Home clear of the global hamburger in the fullscreen game. */
.game-session #tavern .tv-header{padding-right:calc(76px + env(safe-area-inset-right))}
