:root{--accent:#00a7a0;--accent-text:#fff}
.bingo-main{max-width:820px;margin:auto;padding:0 28px 48px;min-height:calc(100svh - 140px)}
.bingo-intro{padding:28px 0 20px}.bingo-intro h1{width:fit-content;font-size:clamp(30px,6vw,46px);line-height:1.3;font-weight:850;letter-spacing:-.045em;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:4px;text-underline-offset:8px;overflow-wrap:anywhere}
.bingo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;touch-action:manipulation}
.bingo-cell{position:relative;display:grid;place-items:center;min-width:0;aspect-ratio:1;padding:7px 5px;border:1px solid #d5d5d5;border-radius:8px;background:#fff;text-align:center;font-size:clamp(10px,1.8vw,14px);line-height:1.4;font-weight:650;overflow-wrap:anywhere;cursor:pointer;user-select:none;-webkit-user-select:none}
.bingo-cell[aria-pressed=true]{border:2px solid var(--accent);background:#f0fffd;color:#111}.bingo-cell[aria-pressed=true]::after{content:"○";position:absolute;inset:0;display:grid;place-items:center;color:var(--accent);font-size:clamp(38px,9vw,76px);font-weight:500;line-height:1;pointer-events:none}.bingo-cell-center{padding:0;overflow:hidden;cursor:default;background:#fff}.bingo-cell-center img{display:block;width:100%;height:100%;object-fit:contain}.bingo-status{display:flex;justify-content:center;gap:clamp(32px,12vw,100px);padding:18px 0 26px}.bingo-status p{display:flex;align-items:baseline;gap:7px}.bingo-status strong{font-size:30px;line-height:1;font-variant-numeric:tabular-nums;color:var(--accent)}.bingo-status span{font-size:13px;color:var(--muted)}.bingo-main .share-section{padding-top:4px}.share-section h2{font-size:18px;margin-bottom:12px}.card-preview-wrap{max-width:540px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.card-preview-wrap canvas{display:block;width:100%;height:auto}.share-actions{display:flex;gap:10px;max-width:540px;margin:14px auto 0}.share-actions .button{flex:1}.share-notice{max-width:540px;margin:8px auto 0;font-size:12px;color:var(--muted);min-height:1.65em}.share-notice:empty{display:none}
.card-preview-wrap>img{display:block;width:100%;height:auto;-webkit-touch-callout:default;user-select:auto;-webkit-user-select:auto}.share-guide,.manual-share{max-width:540px;margin:16px auto}.share-guide h3{font-size:17px;margin-bottom:8px}.share-guide p,.manual-share>p{font-size:13px;line-height:1.7}.manual-share label{display:block;font-size:13px;margin-bottom:8px}.manual-share textarea{display:block;width:100%;padding:12px;border:1px solid #bcbcbc;border-radius:8px;background:#fff;font-size:16px;line-height:1.65;resize:vertical}.manual-share-actions{display:flex;flex-direction:column;gap:10px;margin:12px 0}.manual-share>p{color:var(--muted)}
@media(max-width:600px){.bingo-main{padding:0 18px 36px}.bingo-intro{padding:22px 0 16px}.bingo-intro h1{font-size:30px}.bingo-grid{gap:4px}.bingo-cell{padding:4px 2px;border-radius:6px;font-size:clamp(9px,2.65vw,12px);line-height:1.3}.bingo-status{padding:15px 0 21px}.bingo-status strong{font-size:27px}.share-actions .button{padding:12px 8px;font-size:13px}}
@media(max-width:360px){.bingo-main{padding-inline:14px}.bingo-grid{gap:3px}.bingo-cell{font-size:9px}}
