/* V1.4 approved assets / encounter / check-in / chat */
html body.bookclub-app .v14-assets .owned-current{border:1px solid #ddc89a;border-radius:16px;padding:12px;background:#fffaf0}
html body.bookclub-app .v14-assets h2{font-size:17px;margin:0 0 8px}
html body.bookclub-app .owned-current-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
html body.bookclub-app .owned-current-item{min-width:0;text-align:center;font-size:13px}
html body.bookclub-app .owned-asset-art{display:block;width:100%!important;height:auto!important;aspect-ratio:1;max-width:100%;object-fit:contain;background:transparent!important;border:0!important}
html body.bookclub-app .owned-filters{display:flex;gap:6px;overflow-x:auto;margin:14px 0;max-width:100%}
html body.bookclub-app .owned-filter{flex:0 0 auto;min-height:44px;padding:8px 12px;border:1px solid #d8c49c;border-radius:10px;background:#fffaf0;color:#315c45}
html body.bookclub-app .owned-filter[aria-pressed=true]{background:#315c45;color:#fff}
html body.bookclub-app .v14-assets .my-owned-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html body.bookclub-app .v14-assets .my-owned-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:7px!important;min-width:0!important;padding:10px!important;border:1px solid #d8c49c;border-radius:14px;background:#fffaf0;text-align:left}
html body.bookclub-app .v14-assets .my-owned-card.is-equipped{border-color:#557c55}
html body.bookclub-app .v14-assets .my-owned-card strong{font-size:16px;overflow-wrap:anywhere}html body.bookclub-app .v14-assets .my-owned-card small{color:#7a725e;font-size:13px}
html body.bookclub-app .v14-assets .my-owned-card button{width:100%;min-width:0!important;min-height:44px!important;padding:8px!important;margin-top:auto;font-size:14px!important}
html body.bookclub-app .owned-purpose{font-size:13px;color:#7a725e;margin:0}html body.bookclub-app .asset-art-fallback{display:grid;place-items:center;aspect-ratio:1;font-size:13px;color:#7a725e}
html body.bookclub-app .vmd-assets-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html body.bookclub-app .vmd-asset-card{display:flex;flex-direction:column;gap:6px;border:1px solid #dcc99c;background:#fffaf0;border-radius:14px;padding:12px;min-width:0}
html body.bookclub-app .vmd-asset-card small{font-size:13px;color:#756d5b}
html body.bookclub-app .vmd-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
html body.bookclub-app .vmd-tabs button{min-width:0!important;min-height:48px;padding:10px 5px!important;font-size:14px}
html body.bookclub-app .vmd-action-menu{align-self:start;position:relative}html body.bookclub-app .vmd-action-menu summary{display:grid;place-items:center;width:44px;height:44px;list-style:none;border:1px solid #ddc89a;border-radius:50%;background:#fffaf0;cursor:pointer}
html body.bookclub-app .vmd-action-menu[open] .vmd-actions{position:absolute;right:0;top:46px;z-index:5;display:grid;min-width:140px;background:#fffaf0;border:1px solid #ddc89a;border-radius:12px;padding:8px}
html body.bookclub-app .checkin-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ddc89a;border-radius:12px;padding:4px;margin-bottom:14px}
html body.bookclub-app .checkin-tabs button{min-height:48px;border:0;border-radius:9px;color:#42634f;background:transparent;font:inherit}
html body.bookclub-app .checkin-tabs button[aria-selected=true]{background:#fffaf0;box-shadow:0 1px 4px #a18c5b44;border:1px solid #c4b389}
html body.bookclub-app .checkin-count{font-size:14px;color:#a26330;margin:6px 0}.checkin-count.is-ready{color:#326a47!important}
html body.bookclub-app #punchForm [hidden]{display:none!important}html body.bookclub-app #punchForm button:disabled{opacity:.55;cursor:not-allowed}
html body.bookclub-app #punchForm #punchContent{min-height:170px}html body.bookclub-app .checkin-detection{margin:10px 0;padding:10px;background:#f0f3e8;border-radius:12px}
.v14-chat-launcher,.v14-chat-sheet{position:fixed;left:12px;right:12px;z-index:61;max-width:680px;margin:auto;color:#493526;font:16px/1.5 inherit}
.v14-chat-launcher{min-height:44px;padding:10px 16px;background:#fff5dd;border:1px solid #cbb98c;border-radius:15px;color:#493526;font:inherit}
.v14-chat-launcher.has-unread:after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#d35e48;margin-left:10px}
.v14-chat-sheet{height:62dvh;max-height:620px;display:flex;flex-direction:column;background:#fff8e8;border:1px solid #cbb98c;border-radius:22px 22px 12px 12px;box-shadow:0 7px 24px #4f391f33;padding:12px}
.v14-chat-sheet[hidden],.v14-chat-launcher[hidden],.v14-chat-sheet [hidden]{display:none!important}
.chat-handle{width:40px;height:4px;background:#c2a779;border-radius:4px;margin:0 auto 8px;flex-shrink:0}
.v14-chat-sheet header{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid #e3d4b5}
.v14-chat-sheet header strong{font-size:19px}.v14-chat-sheet header small{color:#8a7c65;font-size:12px}
.chat-collapse{width:44px;height:44px;border:1px solid #cbb98c;border-radius:12px;background:#fffaf0;font-size:22px;color:#493526}
.chat-history{display:flex;flex-direction:column;min-height:0;flex:1}.chat-messages{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:8px 0;scrollbar-width:thin}
.chat-message{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;margin:12px 0}.chat-avatar{width:32px;height:32px;border-radius:50%;border:1px solid #d5c09a;display:grid;place-items:center;overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:cover}
.chat-message small{color:#7e7668;font-size:12px}.chat-message p{margin:4px 0 0;background:#f2e7cc;border-radius:10px;padding:8px 10px;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px}.chat-remove{grid-column:2;border:0;background:transparent;justify-self:end;min-height:44px;color:#825a45}
.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto 64px;gap:6px;align-items:center;border-top:1px solid #e3d4b5;padding-top:8px}
.chat-compose textarea{width:100%;min-width:0;resize:vertical;max-height:90px;min-height:44px;background:#fffaf0;border:1px solid #d8c49c;border-radius:10px;padding:10px;font:14px/1.5 inherit}
.chat-compose small{font-size:11px;color:#7e7668}.chat-send{min-height:44px;border:0;border-radius:10px;background:#315f45;color:white;font:inherit}
.chat-status{font-size:12px;color:#826a4b;margin:6px 0;min-height:18px}.chat-open-setting{padding:8px;font-size:14px}.chat-open-setting input{width:22px;height:22px;vertical-align:middle}
.chat-new,.chat-older{min-height:44px;align-self:center;padding:6px 12px;border:1px solid #cbb98c;border-radius:14px;background:#fffaf0;color:#315f45}
.v14-chat-sheet.is-closed{height:auto!important}.v14-chat-sheet button:disabled{opacity:.5}
@media(min-width:960px){html body.bookclub-app .v14-assets .my-owned-list{grid-template-columns:repeat(3,minmax(0,1fr))}.v14-chat-launcher,.v14-chat-sheet{left:auto;right:20px;width:380px;max-width:calc(100vw - 40px);margin:0}.v14-chat-sheet{height:560px}}

html body.bookclub-app .owned-current-item .owned-asset-art{width:min(100%,64px)!important;margin:auto}html body.bookclub-app .v14-assets .my-owned-card .owned-asset-art{width:min(100%,110px)!important;margin:auto}html body.bookclub-app .vmd-asset-card .owned-asset-art{width:min(100%,140px)!important;margin:auto}
.v14-chat-sheet{font-family:Georgia,"Noto Serif SC",serif}.v14-chat-sheet header,.chat-compose,.chat-status,.chat-open-setting,.chat-closed{flex-shrink:0}.chat-history{overflow:hidden}.chat-messages{min-height:0;max-height:100%}

html body.bookclub-app .vmd-profile{position:relative;padding-right:48px}html body.bookclub-app .vmd-action-menu{position:absolute;right:0;top:22px}.chat-is-open .map-notice-card{display:none!important}

html body.bookclub-app .checkin-tabs button{display:flex;align-items:center;justify-content:center;gap:8px}html body.bookclub-app .checkin-tabs .warm-art-icon,html body.bookclub-app [data-reading-action="copy"] .warm-art-icon,html body.bookclub-app [data-reading-action="video"] .warm-art-icon{display:inline-block!important;width:30px!important;height:30px!important;flex:0 0 30px!important;background-color:transparent!important}

html body.bookclub-app .punch-panel-v14>.modal-header{display:none!important}html body.bookclub-app #punchForm .modal-cancel{display:none!important}html body.bookclub-app .checkin-submit-bar{position:sticky;bottom:0;z-index:3;background:#fff6df;padding:10px 0 4px;border-top:1px solid #ddc89a}html body.bookclub-app .checkin-submit-bar button{min-height:48px;width:100%;margin:0!important}
@media(max-width:959px){html body.bookclub-app .v14-assets>.bc-note{margin:6px 0 10px;font-size:14px}html body.bookclub-app .my-assets-status{font-size:14px;margin:6px 0 10px}html body.bookclub-app .v14-assets .owned-filters{margin:8px 0}html body.bookclub-app .v14-assets .my-owned-card{padding:8px!important;gap:4px!important}html body.bookclub-app .v14-assets .my-owned-card .owned-asset-art{width:min(100%,72px)!important}html body.bookclub-app .v14-assets .my-owned-card strong{font-size:14px;line-height:1.35}html body.bookclub-app .v14-assets .my-owned-card small{font-size:12px;line-height:1.4}}
@media(min-width:960px){html body.bookclub-app .v14-assets{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px}html body.bookclub-app .v14-assets>.owned-current{grid-column:1;grid-row:1/6}html body.bookclub-app .v14-assets>.bc-note,html body.bookclub-app .v14-assets>.owned-filters,html body.bookclub-app .v14-assets>.my-assets-status,html body.bookclub-app .v14-assets>.my-owned-list{grid-column:2}html body.bookclub-app .v14-assets .owned-current-list{grid-template-columns:1fr;gap:18px}html body.bookclub-app .v14-assets .owned-current-item .owned-asset-art{width:min(100%,100px)!important}}

.v14-chat-launcher{display:flex;align-items:center;justify-content:center;gap:8px}.v14-chat-launcher .reading-painted-icon{display:inline-flex;width:26px;height:26px;flex:0 0 26px}.v14-chat-launcher .reading-painted-icon svg{width:100%;height:100%}

html body.bookclub-app .video-picker-v14{display:grid;gap:10px;padding:18px;border:1px dashed #cbbb92;border-radius:14px;background:#eff2e6;text-align:center}html body.bookclub-app .video-picker-v14 button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:60px;background:transparent;border:0;color:#315f45;font:inherit}html body.bookclub-app .video-picker-v14 .warm-art-icon{width:34px;height:34px}html body.bookclub-app .video-picker-v14 small{font-size:13px;overflow-wrap:anywhere}html body.bookclub-app .video-file-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;clip:rect(0,0,0,0);clip-path:inset(50%);overflow:hidden}html body.bookclub-app .checkin-upload-help{margin:10px 0;font-size:14px}html body.bookclub-app .checkin-upload-help summary{min-height:44px;padding:10px}

.chat-open-setting{display:flex;align-items:center;gap:10px;min-height:48px}.chat-open-setting input{appearance:none;-webkit-appearance:none;position:relative;width:44px;height:26px;flex:0 0 44px;border:0;border-radius:18px;background:#c4bdaf;cursor:pointer}.chat-open-setting input:checked{background:#47734d}.chat-open-setting input:before{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fffaf0}.chat-open-setting input:checked:before{left:21px}

/* Chat is above map HUD, below other drawers; keyboard reserves the visual viewport. */
.v13-screen-ui .v14-chat-sheet{z-index:230}
body.bookclub-app.chat-keyboard-open .mobile-game-nav{visibility:hidden!important;pointer-events:none!important}
.checkin-detection-summary{margin:8px 0;color:#41634b;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.checkin-detection-summary[hidden]{display:none!important}

.chat-tagline{display:block;font-size:12px;font-weight:400;color:#85765f;margin-top:3px}.chat-preferences{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 0;border-bottom:1px solid #e3d4b5;font-size:12px;flex-shrink:0}.chat-preferences label{display:flex;align-items:center;gap:5px;min-height:36px}.chat-preferences input{width:20px;height:20px;accent-color:#3e704f}.chat-preferences small{flex-basis:100%;color:#85765f}.v14-chat-sheet.chat-compact .chat-preferences,.v14-chat-sheet.chat-compact .chat-tagline{display:none}.chat-message.is-mine{grid-template-columns:minmax(0,1fr) 32px}.chat-message.is-mine .chat-avatar{grid-column:2;grid-row:1}.chat-message.is-mine>div{grid-column:1;grid-row:1;text-align:right}.chat-message.is-mine p{background:#dfe9d4;text-align:left}.chat-message p{border-radius:14px}.chat-message.is-arriving{animation:chat-arrive .18s ease-out}.is-reduced .chat-message{animation:none!important}@keyframes chat-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.chat-message{animation:none!important}}

#punchForm{position:relative}.checkin-detection-progress{position:absolute;left:10%;top:32%;width:80%;z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;background:#f7fbed;border:1px solid #94b391;border-radius:14px;box-shadow:0 5px 16px #46634522;text-align:center}.checkin-detection-progress[hidden]{display:none!important}.checkin-detection-progress .warm-art-icon{width:52px;height:52px;display:block}.checkin-is-detecting>.form-group{opacity:.55}.checkin-success-heading{border:1px solid #d9c69a;border-radius:14px;padding:16px;background:#f3f7e9;margin-bottom:14px;color:#3c6346}.checkin-success-heading strong{font-size:24px}.checkin-success-heading p{margin:6px 0}.checkin-result-card .post-content--summary{display:block!important;-webkit-line-clamp:unset!important;max-height:none!important}.checkin-result-card .post-card{margin:0}.checkin-result-card .checkin-detection-summary{padding:10px;background:#f6edcf;border-radius:10px;font-size:15px}
