html{color-scheme:only light}body{margin:0}
#bingo-app{color-scheme:only light;--s-bg:light-dark(#fafafa,#161618);--s-surface:light-dark(#fff,#1c1c1f);--s-ink:light-dark(#18181b,#fafafa);--s-muted:light-dark(#71717a,#a1a1aa);--s-border:light-dark(#e4e4e7,#3f3f46);--s-soft:light-dark(#f4f4f5,#27272a);--s-primary:light-dark(#18181b,#fafafa);--s-on-primary:light-dark(#fafafa,#18181b);--s-ring:light-dark(#a1a1aa,#71717a);--s-radius:8px;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--s-ink);background:var(--s-bg);min-height:100dvh}
#bingo-app *{box-sizing:border-box}
#bingo-app [hidden]{display:none!important}
#bingo-app button,#bingo-app input,#bingo-app select,#bingo-app textarea{font:inherit;color:inherit}
#bingo-app button{border:1px solid var(--s-border);border-radius:var(--s-radius);background:var(--s-surface);padding:8px 12px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;box-shadow:0 1px 2px light-dark(#00000008,#00000020)}
#bingo-app button:hover:not(:disabled){background:var(--s-soft)}
#bingo-app button:disabled{opacity:.45;cursor:default}
#bingo-app button.primary{background:var(--s-primary);color:var(--s-on-primary);border-color:var(--s-primary)}
#bingo-app button.primary:hover:not(:disabled){background:var(--s-primary);opacity:.9}
#bingo-app svg{width:16px;height:16px;flex:none}
#bingo-app input,#bingo-app textarea,#bingo-app select{border:1px solid var(--s-border);border-radius:var(--s-radius);background:var(--s-surface);padding:8px 10px;min-width:0;min-height:36px;box-shadow:0 1px 2px light-dark(#00000006,#00000020)}
#bingo-app input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--s-primary);box-shadow:none}
#bingo-app h1,#bingo-app h2,#bingo-app p{margin:0}
#bingo-app label{font-size:12px;font-weight:500}
#bingo-app .app-header{padding:18px 22px;background:var(--s-surface);border-bottom:1px solid var(--s-border);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
#bingo-app .brand{display:flex;align-items:center;gap:10px;font-size:16px;letter-spacing:-.35px;font-weight:600}
#bingo-app .brand svg{width:22px;height:22px}
#bingo-app .header-actions{display:flex;align-items:center;gap:8px}
#bingo-app #save-status{font-size:12px;color:var(--s-muted);margin-right:6px}
#bingo-app .workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;padding:24px}
#bingo-app .idea-panel{min-width:0}
#bingo-app .panel-top{margin-bottom:16px}
#bingo-app .panel-top h1{font-size:18px;letter-spacing:-.5px;font-weight:600;margin-bottom:5px}
#bingo-app .panel-top p{font-size:12px;line-height:1.6;color:var(--s-muted)}
#bingo-app .search-wrap{position:relative}
#bingo-app .search-wrap svg{position:absolute;left:10px;top:11px;color:var(--s-muted)}
#bingo-app #idea-search{width:100%;padding-left:33px}
#bingo-app .filters{display:flex;flex-wrap:wrap;gap:3px;background:var(--s-soft);border-radius:var(--s-radius);padding:4px;margin:10px 0 14px}
#bingo-app .filters button{padding:5px 8px;min-height:28px;font-size:11px;border:0;background:transparent;box-shadow:none;flex:1}
#bingo-app .filters button.active{background:var(--s-surface);box-shadow:0 1px 3px light-dark(#00000012,#00000050)}
#bingo-app .idea-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
#bingo-app .idea-heading h2{font-size:12px;font-weight:500}
#bingo-app #idea-count{font-size:11px;color:var(--s-muted)}
#bingo-app .ideas{display:grid;gap:6px}
#bingo-app .idea{justify-content:start;text-align:left;width:100%;font-size:12px;font-weight:400;padding:9px;min-height:40px}
#bingo-app .idea>span:nth-child(2){flex:1}
#bingo-app .idea.used{background:var(--s-soft);box-shadow:none}
#bingo-app .idea .plus{font-size:15px;color:var(--s-muted)}
#bingo-app .idea .drag-icon{font-size:15px;letter-spacing:-3px;padding-right:4px;color:var(--s-muted)}
#bingo-app .no-ideas{padding:12px 0;color:var(--s-muted);font-size:12px;line-height:1.5}
#bingo-app .custom-form{margin-top:18px;border-top:1px solid var(--s-border);padding-top:18px}
#bingo-app .custom-input{display:flex;gap:6px;margin-top:8px}
#bingo-app .custom-input input{width:100%;font-size:12px}
#bingo-app .custom-input button{padding:8px 10px}
#bingo-app .input-hint{font-size:11px;color:var(--s-muted);line-height:1.5;margin-top:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}
#bingo-app button.text-button{border:0;box-shadow:none;background:transparent;min-height:26px;padding:3px 0;font-size:11px}
#bingo-app .examples{border-top:1px solid var(--s-border);margin-top:18px;padding-top:14px;font-size:12px}
#bingo-app summary{color:var(--s-muted);font-size:12px}
#bingo-app .examples button{margin-top:8px;width:100%;font-size:12px}
#bingo-app .card-workspace{min-width:0}
#bingo-app .editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;flex-wrap:wrap}
#bingo-app .tool-group{display:flex;gap:5px}
#bingo-app .tool-group button{font-size:12px;padding:7px 9px}
#bingo-app #progress{font-size:12px;color:var(--s-muted);font-variant-numeric:tabular-nums}
#bingo-app .bingo-card{background:var(--s-surface);border:1px solid var(--s-border);border-radius:var(--s-radius);padding:22px;box-shadow:0 2px 4px light-dark(#00000004,#00000020)}
#bingo-app .card-title-wrap{text-align:center;margin-bottom:20px}
#bingo-app .card-title-wrap input{border-color:transparent;box-shadow:none;background:transparent;text-align:center;width:100%;padding:2px;min-height:24px}
#bingo-app #card-title{font-size:24px;letter-spacing:-.7px;font-weight:600}
#bingo-app #card-subtitle{font-size:12px;color:var(--s-muted)}
#bingo-app .card-title-wrap h2{font-size:11px;letter-spacing:.22em;font-weight:500;color:var(--s-muted);margin:6px 0 8px}
#bingo-app .bingo-letters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));font-size:15px;font-weight:500;text-align:center;padding:8px 0 12px}
#bingo-app .bingo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--s-border);border-left:1px solid var(--s-border)}
#bingo-app .square{display:flex;align-items:center;justify-content:center;min-width:0;min-height:83px;overflow-wrap:anywhere;white-space:pre-wrap;text-align:center;padding:8px 5px;font-size:12px;font-weight:500;line-height:1.4;background:var(--s-surface);border:0;border-right:1px solid var(--s-border);border-bottom:1px solid var(--s-border);border-radius:0;box-shadow:none}
#bingo-app .square.empty{color:var(--s-muted);font-weight:400}
#bingo-app .square.empty>span{display:flex;flex-direction:column;gap:4px;font-size:11px}
#bingo-app .square.empty b{font-size:16px;font-weight:400}
#bingo-app .square.center{background:var(--s-soft);flex-direction:column;gap:6px;font-size:11px}
#bingo-app .square.center .star{font-size:17px}
#bingo-app .square.next{background:var(--s-soft)}
#bingo-app .square.long{font-size:11px}
#bingo-app .square[draggable=true],#bingo-app .idea[draggable=true]{cursor:grab}
#bingo-app .dragging{opacity:.45}
#bingo-app .square.drop-target{background:var(--s-soft);box-shadow:inset 0 0 0 2px var(--s-ring)}
#bingo-app .reorder-help{font-size:11px;color:var(--s-muted);line-height:1.6;margin-top:12px}
#bingo-app .quote-area{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}
#bingo-app .quote-area span{font-size:11px;color:var(--s-muted)}
#bingo-app .quote-area i{display:block;height:22px;border-bottom:1px solid var(--s-border)}
#bingo-app .card-footer,#bingo-app .play-rule{font-size:11px;color:var(--s-muted);line-height:1.5;margin-top:16px;text-align:center}
#bingo-app .card-settings{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}
#bingo-app .card-settings select{font-size:12px;max-width:100%}
#bingo-app .check-label{display:flex;align-items:center;gap:6px;color:var(--s-muted);font-weight:400;margin-left:auto}
#bingo-app .file-tools{margin-top:16px}
#bingo-app .file-tools button{margin:8px 4px 0 0;font-size:12px}
#bingo-app .notice{padding:12px 22px;border-bottom:1px solid var(--s-border);background:var(--s-soft);font-size:12px;line-height:1.5}
#bingo-app dialog{color:var(--s-ink);background:var(--s-surface);border:1px solid var(--s-border);border-radius:12px;padding:24px;max-width:calc(100% - 32px);width:420px;box-shadow:0 10px 40px light-dark(#00000020,#00000080)}
#bingo-app dialog::backdrop{background:light-dark(#00000040,#00000080)}
#bingo-app .dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
#bingo-app dialog h2{font-size:18px;letter-spacing:-.4px;font-weight:600}
#bingo-app dialog label{display:block;margin-bottom:8px}
#bingo-app dialog textarea{width:100%;margin:0;resize:vertical}
#bingo-app .dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}
#bingo-app #bulk-hint,#bingo-app #confirm-description{color:var(--s-muted);font-size:12px;line-height:1.6;margin-top:12px}
#bingo-app .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#bingo-app .print-only{display:none}
#bingo-app.card-view .idea-panel,#bingo-app.card-view .editor-toolbar,#bingo-app.card-view .card-settings,#bingo-app.card-view .file-tools{display:none}
#bingo-app.card-view .workspace{display:block}
@media(max-width:700px){#bingo-app .workspace{grid-template-columns:1fr;padding:16px;gap:24px}#bingo-app .idea-panel{grid-row:2}#bingo-app .card-workspace{grid-row:1}#bingo-app .app-header{padding:16px}#bingo-app #save-status{display:none}#bingo-app .bingo-card{padding:14px}#bingo-app #card-title{font-size:20px}#bingo-app .square{min-height:72px;padding:5px 3px;font-size:11px}#bingo-app .check-label{margin-left:0}#bingo-app .quote-area{gap:15px}#bingo-app input,#bingo-app textarea{font-size:16px!important}#bingo-app .card-title-wrap input{font-size:16px!important}#bingo-app #card-title{font-size:20px!important}}
@media(pointer:coarse){#bingo-app button,#bingo-app select{min-height:44px}}
#bingo-app button,#bingo-app summary{cursor:pointer}
#bingo-app button:disabled{cursor:default}
#bingo-app button:focus-visible,#bingo-app input:focus-visible,#bingo-app select:focus-visible,#bingo-app textarea:focus-visible,#bingo-app summary:focus-visible,#bingo-app a:focus-visible{outline:2px solid #52525b;outline-offset:3px}
#bingo-app .workspace{max-width:1250px;margin:auto}
#bingo-app .ideas{max-height:430px;overflow-y:auto;padding:3px}
#bingo-app .idea>span:not(.drag-icon):not(.plus){flex:1}
#bingo-app .idea .drag-icon{flex:none}
#bingo-app .examples p{margin-top:8px;color:var(--s-muted);line-height:1.5}
#bingo-app .examples a{display:block;color:var(--s-ink);margin-top:10px;line-height:1.5}
#bingo-app .design-control{display:flex;align-items:center;gap:10px;margin-top:12px}
#bingo-app .storage-note{font-size:11px;color:var(--s-muted);line-height:1.6;margin-top:14px}
#bingo-app .bingo-card.notebook{border-style:dashed;background:#fffef8}
#bingo-app .notebook #card-title{font-family:Georgia,serif}
#bingo-app .bingo-card.bold{border:2px solid #18181b}
#bingo-app .bold #card-title{text-transform:uppercase;font-weight:800}
#bingo-app .bold .square{font-weight:600;border-color:#71717a}
#bingo-app.card-view .workspace{max-width:1050px;padding:16px}
#bingo-app.card-view .bingo-card{height:calc(100dvh - 115px);min-height:480px;display:flex;flex-direction:column;padding:16px 22px}
#bingo-app.card-view .card-title-wrap{margin-bottom:10px;flex:none}
#bingo-app.card-view .card-title-wrap h2{margin:4px 0}
#bingo-app.card-view .bingo-letters{flex:none;padding:5px 0 10px}
#bingo-app.card-view .bingo-grid{flex:1;min-height:0;grid-template-rows:repeat(5,minmax(0,1fr))}
#bingo-app.card-view .square{min-height:0;font-size:clamp(12px,1.4vw,18px)}
#bingo-app.card-view .square.long{font-size:clamp(11px,1.1vw,15px)}
#bingo-app.card-view .quote-area,#bingo-app.card-view .card-footer,#bingo-app.card-view .play-rule,#bingo-app.card-view .reorder-help,#bingo-app.card-view .storage-note{display:none}
@media(max-width:700px){#bingo-app .header-actions{flex-wrap:wrap}#bingo-app.card-view .bingo-card{height:auto;min-height:0;padding:14px}#bingo-app.card-view .bingo-grid{flex:none}#bingo-app.card-view .square{min-height:72px;font-size:11px}}
@page{size:letter portrait;margin:.45in}
@media print{
 html,#bingo-app{background:#fff!important;color:#000!important;margin:0!important;padding:0!important;min-height:0!important}
 #bingo-app .app-header,#bingo-app .idea-panel,#bingo-app .editor-toolbar,#bingo-app .card-settings,#bingo-app .file-tools,#bingo-app .storage-note,#bingo-app .notice,#bingo-app dialog,#bingo-app noscript,#bingo-app .reorder-help{display:none!important}
 #bingo-app .workspace{display:block!important;padding:0!important;margin:0!important;max-width:none!important}
 #bingo-app .bingo-card{display:block!important;width:100%!important;height:auto!important;min-height:0!important;padding:.14in .18in!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#000!important;break-inside:avoid}
 #bingo-app .card-title-wrap{padding:6pt 0!important;margin-bottom:8pt!important}
 #bingo-app .card-title-wrap input,#bingo-app .card-title-wrap h2{display:none!important}
 #bingo-app .print-only{display:block!important}
 #bingo-app #print-title{font-size:24pt;font-weight:600;overflow-wrap:anywhere}
 #bingo-app #print-title::after{content:'BINGO';display:block;letter-spacing:.18em;font-size:12pt;font-weight:400;margin:5pt 0}
 #bingo-app #print-subtitle{font-size:10pt;margin-top:5pt;overflow-wrap:anywhere}
 #bingo-app .bingo-letters{background:#fff!important;color:#000!important;font-size:16pt;padding:5pt 0!important}
 #bingo-app .bingo-grid{display:grid!important;grid-template-rows:repeat(5,1.05in)!important;border-color:#000!important}
 #bingo-app .square{min-height:0!important;height:1.05in!important;padding:5pt!important;font-size:12pt!important;color:#000!important;background:#fff!important;box-shadow:none!important;outline:none!important;border-color:#000!important}
 #bingo-app .square.long{font-size:10pt!important}
 #bingo-app .square.empty>span{visibility:hidden}
 #bingo-app .square.center{font-weight:600}
 #bingo-app .play-rule{display:block!important;font-size:8pt;color:#000!important;margin-top:8pt}
 #bingo-app .quote-area{display:grid!important;margin-top:10pt;gap:20pt}
 #bingo-app .quote-area[hidden]{display:none!important}
 #bingo-app .quote-area span{font-size:8pt;color:#000!important}
 #bingo-app .quote-area i{height:18pt;border-color:#555}
 #bingo-app .card-footer{display:block!important;font-size:8pt;color:#000!important;margin-top:10pt}
}
