:root{color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#432742;background:#fff8ed;font-size:16px;font-synthesis:none;--ink:#432742;--muted:#72556b;--line:#ded1d5;--paper:#fff;--orange:#ffbf70;--pink:#f5dbe8;--green:#dae5d3}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,input,select,textarea{border-radius:10px}button{cursor:pointer;min-height:46px;font-weight:700;border:1px solid var(--ink);padding:10px 16px;background:#fff}button:hover{filter:brightness(.96)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #973957;outline-offset:3px}a{color:inherit;text-underline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.3rem,2.5vw,1.85rem);letter-spacing:-.04em}h2{font-size:1.1rem;letter-spacing:-.025em}h3{font-size:1.2rem}p{line-height:1.5}.site-header{max-width:1440px;margin:auto;padding:26px 36px;display:flex;gap:12px;align-items:center}.brand-mark{width:38px;height:38px;background:var(--ink);color:var(--orange);font-size:2rem;display:grid;place-items:center;border-radius:12px;flex-shrink:0}.small-badge{margin-left:auto;border:1px solid var(--ink);border-radius:99px;padding:7px 12px;font-size:.8rem;font-weight:650;transform:rotate(-3deg);background:var(--orange)}main{max-width:1440px;margin:auto;padding:4px 36px 32px}.workspace{display:grid;grid-template-columns:minmax(290px,340px) minmax(0,1fr);gap:32px;align-items:start}.settings{padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 0 #eadfe1}.section-top{display:flex;gap:9px;align-items:center;margin-bottom:18px}.step{font-size:.8rem;font-weight:800;width:30px;height:30px;background:var(--pink);border-radius:50%;display:grid;place-items:center;flex-shrink:0}label{display:block;font-size:.875rem;font-weight:700;margin:16px 0 7px}input[type=text],input[type=number],select,textarea{display:block;width:100%;min-width:0;min-height:46px;border:1px solid #a88c9b;background:#fff;padding:10px 12px}textarea{resize:vertical;min-height:140px;line-height:1.55}.help{font-size:.875rem;color:var(--muted);line-height:1.5}#word-help{margin:-2px 0 8px}.word-count{margin-top:8px;font-weight:650}.setting-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-label{display:flex;gap:9px;align-items:center;min-height:44px;margin:8px 0;font-weight:600;cursor:pointer}input[type=checkbox]{appearance:auto;accent-color:var(--ink);width:20px;height:20px;min-width:20px;margin:0}#seed-help{margin-top:8px}.generate-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.primary{background:var(--ink);color:#fff;flex:1}.primary span{margin-left:12px}.secondary{background:#fff8ed}.storage-note{margin-top:12px;font-size:.8rem}.results-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 22px}.results-header .section-top{margin-bottom:6px}.print-button{background:var(--orange);flex-shrink:0}.error{margin-top:14px;border-left:3px solid #a32144;background:#fff1f2;color:#8f1534;padding:10px 12px;font-size:.875rem}.stale-note{background:#ffe9c9;padding:12px 16px;border-radius:10px;margin-bottom:18px;font-size:.875rem}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.bingo-card{background:#fff;border:1.5px solid var(--ink);border-radius:15px;overflow:hidden;min-width:0;box-shadow:3px 4px 0 #e9d9dd;break-inside:avoid}.card-heading{padding:16px 16px 12px;display:flex;justify-content:space-between;gap:8px;align-items:start;background:var(--pink);border-bottom:1px solid var(--ink)}.bingo-card:nth-child(3n+2) .card-heading{background:var(--green)}.bingo-card:nth-child(3n) .card-heading{background:#ffe3bb}.card-heading h3{font-size:1rem;line-height:1.25;overflow-wrap:anywhere;font-weight:800}.card-number{font-size:.75rem;white-space:nowrap;font-weight:700}.bingo-grid{width:100%;table-layout:fixed;border-collapse:collapse}.bingo-grid td{width:20%;height:70px;padding:7px 4px;text-align:center;vertical-align:middle;border:1px solid var(--line);font-size:clamp(.75rem,1.1vw,.94rem);line-height:1.3;font-weight:650;overflow-wrap:anywhere;hyphens:auto}.bingo-grid tr td:first-child{border-left:0}.bingo-grid tr td:last-child{border-right:0}.bingo-grid tr:first-child td{border-top:0}.bingo-grid tr:last-child td{border-bottom:0}.bingo-grid .free-space{background:#fff0d7;color:var(--ink);font-size:.8rem;font-weight:800}.free-star{display:block;font-size:1.5rem;line-height:1.1}.bingo-card.size-3 .bingo-grid td{width:33.33%;height:100px;font-size:1rem}.card-foot{border-top:1px solid var(--ink);padding:9px 12px;display:flex;gap:6px;justify-content:space-between;font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.card-foot .code{min-width:0}.caller{margin-top:28px;border:1px dashed #a88c9b;border-radius:16px;padding:20px}.caller-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:6px}.caller-top .check-label{font-size:.875rem;margin:0}.caller-items{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.caller-item{border:1px solid var(--line);padding:9px;font-size:.875rem;overflow-wrap:anywhere;line-height:1.35;background:#fff;display:flex;gap:7px}.caller-box{width:12px;height:12px;border:1px solid #a88c9b;flex-shrink:0;margin-top:3px}.instructions{padding:28px 0 0;max-width:900px}.instructions ol{padding-left:22px;display:grid;gap:8px;font-size:.95rem;line-height:1.5}.instructions p{font-size:.875rem;color:var(--muted)}footer{max-width:1440px;padding:0 36px 30px;margin:auto;font-size:.8rem;color:var(--muted)}footer p{margin-top:7px;max-width:900px}.skip-link{position:absolute;left:8px;top:-100px;padding:10px;background:#fff;z-index:5}.skip-link:focus{top:8px}.noscript{padding:20px;background:#ffe3bb}.print-only{display:none}[hidden]{display:none!important}
@media(max-width:1280px){.cards{grid-template-columns:1fr}.bingo-grid td{height:78px;font-size:.9rem}.workspace{gap:24px}.bingo-card{max-width:650px}.caller-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.site-header{padding:20px}.small-badge{display:none}main{padding:0 20px 26px}.workspace{grid-template-columns:1fr;gap:30px}.settings{padding:20px}.results-header{align-items:start}.results-header h2{font-size:1rem}.print-button{font-size:.875rem;padding:10px}.bingo-card{max-width:none}.caller-top{display:block}.caller-top .check-label{margin-top:8px}.caller-items{grid-template-columns:repeat(2,minmax(0,1fr))}footer{padding:0 20px 24px}}
@media(max-width:370px){.site-header{padding:16px}.brand-mark{width:32px;height:32px}main{padding:0 12px 20px}.settings{padding:16px}.bingo-grid td{font-size:.75rem;padding:6px 3px;height:66px}.card-heading{padding:13px 10px}.card-heading h3{font-size:.95rem}.results-header{gap:7px}.results-header .step{display:none}.caller{padding:14px}.caller-items{grid-template-columns:1fr}.card-foot{flex-wrap:wrap}footer{padding:0 14px 20px}}
@page{size:auto;margin:12mm}
@media print{.print-only:not([hidden]){display:block;font-size:14pt}html,body{background:#fff!important;color:#000!important;font-size:12pt}body{margin:0}.site-header,.settings,.results-header,.stale-note,.instructions,footer,.skip-link,noscript{display:none!important}main,.workspace,.results,.cards{display:block;margin:0;padding:0;max-width:none}.bingo-card{width:174mm;max-width:100%;margin:0 auto;border:1.2pt solid #000;border-radius:0;box-shadow:none;break-inside:avoid;break-after:page;page-break-after:always}.bingo-card:last-child{break-after:auto;page-break-after:auto}.card-heading{background:#fff!important;color:#000!important;padding:6mm;border-bottom:1pt solid #000}.card-heading h3{font-size:20pt;line-height:1.3}.card-number{font-size:10pt}.bingo-grid td{height:28mm;font-size:11pt;padding:2mm;color:#000!important;border-color:#777;line-height:1.25}.bingo-card.size-3 .bingo-grid td{height:46mm;font-size:17pt}.bingo-grid .free-space{background:#fff!important;font-size:11pt;border:2pt solid #000}.free-star{font-size:20pt}.card-foot{border-color:#000;padding:4mm;font-size:9pt;color:#000;flex-wrap:wrap}.caller{break-before:page;page-break-before:always;border:0;padding:0;margin:0;border-radius:0}.caller-top h2{font-size:18pt}.caller-top .check-label{display:none}.caller .help{font-size:10pt;color:#000}.caller-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.caller-item{font-size:10pt;min-height:11mm;padding:2mm;border:1px dashed #888;break-inside:avoid;color:#000}.caller-box{border-color:#000}.caller[data-print="false"]{display:none!important}}
