:root{color-scheme:dark;--bg: #050b1a;--panel: rgba(255, 255, 255, .06);--panel2: rgba(255, 255, 255, .09);--border: rgba(255, 255, 255, .14);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .68);--accent: #7c3aed;--danger: #ef4444;--ok: #22c55e}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}body.noPageScroll{overflow:hidden}a{color:inherit}.container{max-width:1100px;margin:0 auto;padding:16px}.appShell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.appMain{flex:1;min-height:0;overflow:auto}.appMainNoScroll{overflow:hidden}.appMainNoScroll>div{height:100%;min-height:0}.noScrollbars{scrollbar-width:none;-ms-overflow-style:none}.noScrollbars::-webkit-scrollbar{width:0;height:0}.checklistCard{height:calc(100% - 6px);display:flex;flex-direction:column;min-height:0;overflow:hidden}.checklistList{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.checklistList{scrollbar-color:var(--accent) rgba(255,255,255,.08);scrollbar-width:thin}.checklistList::-webkit-scrollbar{width:10px}.checklistList::-webkit-scrollbar-track{background:#ffffff0f;border-radius:999px}.checklistList::-webkit-scrollbar-thumb{background:#7c3aedd9;border:2px solid rgba(255,255,255,.06);border-radius:999px}.checklistList::-webkit-scrollbar-thumb:hover{background:#7c3aedf2}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.brand{display:flex;flex-direction:column;gap:2px}.brandTitle{font-weight:800;letter-spacing:.2px}.brandSub{color:var(--muted);font-size:12px}.nav{display:flex;gap:10px;flex-wrap:wrap}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:10px 12px;font-weight:650;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btnDot{position:relative}.navRedDot{width:9px;height:9px;border-radius:999px;background:#ef4444f2;box-shadow:0 0 0 2px #00000040}.btn:hover{background:var(--panel2)}.btnPrimary{border-color:#7c3aed80;background:#7c3aed2e}.btnDanger{border-color:#ef44448c;background:#ef444424}.btn[disabled]{opacity:.55;cursor:not-allowed}.card{border:1px solid var(--border);background:var(--panel);border-radius:16px;padding:16px}.grid{display:grid;gap:10px}.bingoGrid{display:grid;gap:10px;place-items:stretch}.bingoGridWrap{display:flex;flex:1;min-height:0;align-items:center;justify-content:center;overflow:hidden}.cell{border-radius:0;border:1px solid var(--border);background:#ffffff0a;padding:0;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;font-weight:700;-webkit-user-select:none;user-select:none;cursor:pointer;min-width:0;min-height:0}.cellText{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word;line-height:1.1;max-width:100%;max-height:100%}.cellTextClamp{line-clamp:3;-webkit-line-clamp:3}.cellTextClampDense{line-clamp:4;-webkit-line-clamp:4}.cellMarked{border-color:#7c3aedb3;background:#7c3aed38}.cellMarkedBad{border-color:#ef4444cc;background:#ef444438}.cellFree{font-size:18px;letter-spacing:1px}.muted{color:var(--muted)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.spacer{flex:1}.toast{margin-top:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#ffffff0d}.toastOverlay{position:fixed;right:14px;top:14px;z-index:1000;display:grid;gap:10px;max-width:min(420px,calc(100vw - 28px))}.toastPopup{padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#0000008c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffeb;font-weight:650}.list{display:grid;gap:10px}.listItem{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);background:#ffffff08;border-radius:14px;padding:12px}.badge{font-weight:800;font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:#ffffff0d}.badgeOn{border-color:#7c3aedb3;background:#7c3aed2e}.badgeOk{border-color:#22c55eb3;background:#22c55e29;color:#ffffffeb;min-width:26px;display:inline-flex;align-items:center;justify-content:center}.input,.select{border:1px solid var(--border);background:#ffffff0a;color:#ffffffeb;border-radius:12px;padding:8px 10px;font-weight:650;outline:none}.input:focus,.select:focus{border-color:#7c3aedb3;box-shadow:0 0 0 3px #7c3aed2e}.input{min-width:0}
