:root{color:#111;background:#e9e9e9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}button{align-items:center;background:#fff;border:1px solid #9c9c9c;border-radius:6px;color:#111;cursor:pointer;display:inline-flex;gap:.45rem;min-height:2.45rem;padding:0 .8rem}button:hover{background:#f3f3f3}input,textarea{background:#fff;border:1px solid #9b9b9b;border-radius:6px;color:#111;min-width:0;min-height:2.35rem;padding:.55rem .65rem;width:100%}textarea{line-height:1.35;resize:vertical}.app-shell{display:grid;grid-template-columns:minmax(290px,360px) 1fr;min-height:100vh}.control-panel{align-self:start;background:#f8f8f8;border-right:1px solid #c6c6c6;display:flex;flex-direction:column;gap:1rem;min-height:100vh;padding:1rem;position:sticky;top:0;z-index:2}.button-row,.control-grid,.seed-row,.segmented,.range-row{min-width:0}.panel-title{align-items:center;display:flex;justify-content:space-between}.panel-title p{font-size:1.2rem;font-weight:800;line-height:1.1;margin:0}.panel-title span{color:#575757;display:block;font-size:.84rem;margin-top:.2rem}.button-row{display:grid;gap:.5rem;grid-template-columns:1.2fr 1fr 1fr}.button-row button{justify-content:center;padding-inline:.55rem}.primary-button{background:#111;border-color:#111;color:#fff;font-weight:800}.primary-button:hover{background:#2b2b2b}.control-grid{display:grid;gap:.7rem;grid-template-columns:1fr 1fr}.field{color:#242424;display:flex;flex-direction:column;font-size:.82rem;font-weight:700;gap:.35rem}.field>span{letter-spacing:0}.seed-row{display:grid;gap:.4rem;grid-template-columns:1fr auto}.icon-button{aspect-ratio:1;justify-content:center;padding:0;width:2.45rem}.segmented{background:#e2e2e2;border:1px solid #bfbfbf;border-radius:7px;display:grid;gap:0;grid-template-columns:1fr 1fr;padding:.18rem}.segmented button{border:0;border-radius:5px;justify-content:center}.segmented .active{background:#111;color:#fff;font-weight:800}.toggle-list{display:grid;gap:.55rem;grid-template-columns:1fr}.toggle-list label{align-items:center;border:1px solid #c4c4c4;border-radius:6px;display:flex;font-size:.86rem;font-weight:700;gap:.5rem;min-height:2.45rem;padding:.4rem .55rem}.toggle-list input{min-height:auto;width:auto}.range-panel{border:1px solid #cacaca;border-radius:8px;display:grid;gap:.55rem;padding:.7rem}.range-panel h2{font-size:.9rem;margin:0}.range-row{align-items:center;display:grid;gap:.45rem;grid-template-columns:2.4rem 1fr auto 1fr}.range-row input{min-height:2.15rem;padding:.4rem .45rem}.range-row span{color:#555;font-size:.8rem;font-weight:700}.letter-input{font-weight:900;text-align:center}.advanced-toggle{justify-content:center;width:100%}.print-spec{border-top:1px solid #d3d3d3;display:grid;gap:.3rem .7rem;grid-template-columns:auto 1fr;margin-top:auto;padding-top:.85rem}.print-spec span{color:#5d5d5d;font-size:.8rem;font-weight:700}.print-spec strong{font-size:.88rem;text-align:right}.preview-panel{display:flex;flex-direction:column;gap:1.2rem;overflow:auto;padding:1.5rem}.print-page{aspect-ratio:8.5 / 11;background:#fff;box-shadow:0 14px 34px #00000029;display:grid;grid-template-rows:1fr auto;margin:0 auto;max-width:8.5in;padding:.43in .42in .28in;width:min(100%,8.5in)}.bingo-card{border:1.6px solid #111;display:grid;grid-template-rows:1.42fr 5fr;min-height:0}.bingo-header{align-items:center;border-bottom:1.4px solid #111;display:grid;grid-template-columns:repeat(5,1fr)}.bingo-header span{display:block;font-family:Arial Black,Impact,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.8rem,10vw,7.5rem);font-weight:900;line-height:.9;text-align:center}.bingo-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);min-height:0}.bingo-cell{align-items:center;border-bottom:1.2px solid #111;border-right:1.2px solid #111;display:flex;justify-content:center;min-height:0;overflow:hidden;padding:.06in;text-align:center}.bingo-cell:nth-child(5n){border-right:0}.bingo-cell:nth-last-child(-n+5){border-bottom:0}.bingo-cell span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.4rem,9.2vw,5.95rem);font-weight:500;letter-spacing:0;line-height:.92;max-width:100%;overflow-wrap:anywhere}.text-cell span{font-size:clamp(.65rem,2vw,1.05rem);font-weight:800;line-height:1.08;text-transform:uppercase}.free-cell .free-mark{align-items:center;display:flex;flex-direction:column;font-family:Arial Narrow,Arial,sans-serif;font-size:clamp(1rem,3.8vw,2.25rem);font-weight:900;gap:.16in;justify-content:center;line-height:.9;text-transform:uppercase}.free-cell .free-mark:before,.free-cell .free-mark:after{background:#111;content:"";display:block;height:.12in;width:.88in}.free-cell strong{font:inherit}.page-footer{align-items:end;color:#555;display:flex;font-size:.18in;font-weight:700;justify-content:flex-end;min-height:.28in;padding-top:.08in}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.control-panel{border-bottom:1px solid #c6c6c6;border-right:0;min-height:auto;position:static}.preview-panel{padding:1rem}}@media(max-width:720px){.button-row,.control-grid{grid-template-columns:1fr}}@media(max-width:540px){.button-row,.control-grid,.toggle-list{grid-template-columns:1fr}.bingo-header span{font-size:clamp(2rem,13vw,4rem)}.bingo-cell span{font-size:clamp(1.8rem,12vw,3.4rem)}}@page{margin:0;size:letter portrait}@media print{:root,body{background:#fff}.control-panel{display:none}.app-shell,.preview-panel{display:block;min-height:auto;overflow:visible;padding:0}.print-page{aspect-ratio:auto;box-shadow:none;break-after:page;height:11in;margin:0;max-width:none;page-break-after:always;padding:.43in .42in .28in;width:8.5in}.print-page:last-child{break-after:auto;page-break-after:auto}.bingo-header span{font-size:1.32in}.bingo-cell span{font-size:.82in}.text-cell span{font-size:.18in}.free-cell .free-mark{font-size:.34in}}
