body.bingo-page{background:#17110b}.bingo-shell{max-width:760px;margin:0 auto 3rem;padding:1rem;text-align:center}.bingo-shell>div{background:#e7d6aa;border:8px solid #5b351e;border-radius:18px;padding:1rem;color:#24170f;box-shadow:inset 0 0 0 3px #9b6b39}.bingo-shell input{display:block;width:min(100%,360px);margin:.5rem auto 1rem;font-size:1.1rem;padding:.8rem}.bingo-shell button{min-height:48px;font-weight:900}.bingo-called{background:#24170f;color:#f6d85e;border-radius:12px;padding:.6rem;margin-bottom:.8rem}.bingo-called small,.bingo-called span{display:block}.bingo-called strong{display:block;font:900 clamp(4rem,22vw,8rem)/.9 monospace;color:#ff4b37}.bingo-called span{font-weight:900;font-size:1.2rem;margin-top:.4rem}.bingo-last{font-family:monospace;font-weight:900;margin:.7rem 0}.bingo-ticket{display:grid;grid-template-columns:repeat(9,1fr);border:3px solid #24170f;background:#fff}.bingo-cell{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border:1px solid #8a7d6c;font-weight:900;font-size:clamp(.85rem,4vw,1.4rem);background:#fff;color:#111;padding:0}.bingo-cell.blank{background:#d8d0c2}.bingo-cell.dabbed{background:#e94135;color:white;border-radius:50%;box-shadow:inset 0 0 0 4px rgba(255,255,255,.45)}button.bingo-cell{min-height:0}.bingo-help{font-size:.9rem}.bingo-claims{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0}.bingo-claims button{background:#8d1f18;color:#fff;border:0;border-radius:8px}.bingo-claims button:last-child{background:#1f5b2b}.bingo-claim-good{padding:1rem;background:#1f5b2b;color:white;font-weight:900}.bingo-claim-bad{padding:1rem;background:#8d1f18;color:white;font-weight:900}@media(max-width:500px){.bingo-shell{padding:.35rem}.bingo-shell>div{padding:.55rem;border-width:5px}.bingo-ticket{border-width:2px}.bingo-cell{font-size:.85rem}.bingo-claims{grid-template-columns:1fr}}
.bingo-mobile-audio{background:#2d1822;color:#fbe8bd;border:2px solid #b58b42;border-radius:12px;padding:.8rem;margin-bottom:1rem;text-align:left}.bingo-mobile-audio label{display:flex;gap:.6rem;align-items:center}.bingo-mobile-audio input{width:24px;height:24px;flex-shrink:0}.bingo-mobile-audio small{display:block;margin-top:.3rem}.bingo-mobile-audio span{display:block;font-size:.8rem;margin-top:.25rem;color:#e4ca90}

/* V1.5.2: restrained vintage British paper ticket; existing 3x9 interactive grid untouched. */
.inn-ticket-paper{padding:12px 10px 9px;margin:12px 0 5px;background:repeating-linear-gradient(115deg,rgba(108,72,32,.025) 0px,rgba(108,72,32,.025) 1px,transparent 1px,transparent 7px),linear-gradient(145deg,#f8edcc,#e7d2a2);border:2px solid #8c633c;outline:1px solid #c3a06b;outline-offset:-6px;box-shadow:2px 4px 0 #7b5434,0 7px 18px rgba(31,19,9,.22);color:#4c3421;text-align:center;border-radius:2px}
.inn-ticket-heading,.inn-ticket-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;font:700 clamp(8px,1.9vw,11px)/1.2 Georgia,serif;letter-spacing:.03em}
.inn-ticket-heading strong{font-size:inherit}
.inn-ticket-subheading{font:900 clamp(15px,3.6vw,21px)/1.3 Georgia,serif;letter-spacing:.065em;padding:6px 0 8px}
.inn-ticket-foot{font-size:clamp(7px,1.55vw,9px);padding-top:9px}
.inn-ticket-paper .bingo-ticket{border:2px solid #806246;gap:0;background:#a88b65;box-shadow:inset 0 0 0 1px #f6e7c6}
.inn-ticket-paper .bingo-cell{aspect-ratio:auto;min-height:clamp(37px,9vw,58px);border:1px solid #a38b67;border-radius:0;background:#fff7e3;color:#3d3024;font:800 clamp(14px,4vw,23px)/1 Georgia,serif;text-shadow:0 1px 0 #fff}
.inn-ticket-paper .bingo-cell.blank{background:#e4d5b6;background-image:repeating-linear-gradient(45deg,transparent 0,transparent 6px,rgba(119,91,57,.035) 6px,rgba(119,91,57,.035) 7px)}
.inn-ticket-paper .bingo-cell.dabbed{background:radial-gradient(circle at 47% 48%,#b6312d 0 42%,#d04a3c 44% 62%,#fff7e3 65%);color:#fff;text-shadow:0 1px 1px #69201b;border-radius:0;box-shadow:none}
.inn-ticket-paper .bingo-cell:focus-visible{outline:3px solid #206e77;outline-offset:-3px;z-index:1}
@media(max-width:500px){.inn-ticket-paper{padding:10px 6px 8px}.inn-ticket-heading,.inn-ticket-foot{letter-spacing:0}.inn-ticket-paper .bingo-cell{min-height:clamp(31px,9vw,42px)}}

/* V1.5.3: restrained winner photograph, no animations */
.bingo-photo-section{margin:22px auto;padding:18px;max-width:540px;background:#ead9b4;color:#39271b;border:4px double #80603c;text-align:center}.bingo-photo-section h2{color:#39271b}.bingo-photo-pick{display:block;padding:14px;border:2px dashed #79573c;cursor:pointer;font-weight:bold}.bingo-photo-pick input{display:block;max-width:100%;margin:8px auto}.bingo-photo-notice{font-size:.88rem}.bingo-photo-section canvas,.bingo-photo-section img{width:100%;height:auto;max-width:400px;display:block;margin:14px auto}.bingo-photo-section [hidden]{display:none!important}.bingo-photo-section button{margin:6px;padding:10px 14px}

/* V1.5.7: prominent, accessible camera action */
.bingo-photo-section button.bingo-photo-pick{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;box-sizing:border-box;min-height:94px;margin:18px 0 12px;padding:18px 14px;border:3px solid #fff0ae;border-radius:14px;background:linear-gradient(180deg,#ffdc76 0%,#e6b241 48%,#ce8e20 100%);color:#251608;font:900 clamp(1rem,4.3vw,1.25rem)/1.25 Arial,sans-serif;box-shadow:0 5px 0 #80521d,0 8px 15px #39271b35;text-align:center;cursor:pointer;touch-action:manipulation}
.bingo-photo-pick .bingo-photo-camera{font-size:2.2rem;line-height:1;flex-shrink:0}
.bingo-photo-pick small{display:block;margin-top:7px;font:700 .73rem/1.3 Arial,sans-serif;letter-spacing:.03em}
.bingo-photo-section button.bingo-photo-pick:hover{filter:brightness(1.06)}
.bingo-photo-section button.bingo-photo-pick:active{transform:translateY(3px);box-shadow:0 2px 0 #80521d}
.bingo-photo-section button.bingo-photo-pick:focus-visible{outline:4px solid #245d42;outline-offset:5px}
#bingo-photo-decline{display:block;margin:16px auto 8px;min-width:150px;min-height:48px;border:2px solid #79573c;border-radius:9px;background:#fff4d8;color:#39271b;font-weight:800;cursor:pointer}
