/* The Bismarck Ledger games, scoped to the Games page on Bloxxed In */
.lgames{background:#fff;color:#111;padding:14px;border:1px solid #c9d3df;border-radius:4px;font-family:Georgia,serif}
.lgames a{color:#a81817}
.lgames .summary{margin:2px 0 0;font-size:13px;color:#333}
.lgames .band{font:bold 11px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.08em;border-top:3px solid #000;padding-top:4px;margin:16px 0 8px}
.lgames .sec-h{margin:0 0 10px;font:bold 26px Georgia,serif;border-bottom:3px double #000;padding-bottom:4px}
.lgames .summary{font-size:14px;line-height:1.5;color:#444}
.lgames .glist{list-style:none;margin:0;padding:0;font:bold 14px Georgia,serif}
.lgames .glist li{padding:4px 0;border-bottom:1px solid #eee}
.lgames .glist li a, .lgames .rbox h4 a{color:#000}
.lgames .breadcrumb{font:11px Arial,Helvetica,sans-serif;color:#666;margin-bottom:6px}
.lgames .g-hero{background:#111;color:#fff;padding:22px 24px 0;margin-bottom:18px;border-bottom:4px solid #a81817;background-image:radial-gradient(circle at 90% 10%,#3a1515 0,transparent 55%)}
.lgames .g-hero-k{font:bold 11px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#e0b0b0}
.lgames .g-hero h2{margin:4px 0 6px;font:700 46px/1 'UnifrakturCook','Old English Text MT',serif}
.lgames .g-hero p{margin:0 0 16px;font:italic 16px Georgia,serif;color:#ddd}
.lgames .g-hero-bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;border-top:1px solid #444;padding:9px 0;font:11px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#bbb}
.lgames .g-dots{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}
.lgames .g-dots b{width:9px;height:9px;border-radius:50%;border:1px solid #888}
.lgames .g-dots b.on{background:#6aaa64;border-color:#6aaa64}
.lgames .g-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.lgames .g-card{display:flex;flex-direction:column;border:1px solid #d8d4c8;background:#fff;color:#000;transition:transform .15s,box-shadow .15s}
.lgames .g-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.12)}
.lgames .g-card:visited{color:#000}
.lgames .g-card.big{flex-direction:row;margin-bottom:6px}
.lgames .g-card.big .gp{flex:0 0 44%;min-height:220px}
.lgames .g-card.big b{font-size:32px}
.lgames .g-card.big span{font-size:16px}
.lgames .g-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px;flex:1}
.lgames .g-tag{font:bold 10px Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:#a81817}
.lgames .g-card b{font:bold 22px/1.1 Georgia,serif}
.lgames .g-card span{font-size:14px;color:#444;line-height:1.45}
.lgames .g-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.lgames .g-play{font:bold 12px Arial,sans-serif;font-style:normal;background:#000;color:#fff;padding:7px 16px;border-radius:20px}
.lgames .g-card:hover .g-play{background:#a81817}
.lgames .g-status{font:11px Arial,sans-serif;color:#666}
.lgames .g-status.done{color:#2e7d32;font-weight:bold}
.lgames .gp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:150px;padding:16px}
.lgames .gp-row{display:flex;gap:4px}
.lgames .gp-row span{width:34px;height:34px;display:flex;align-items:center;justify-content:center;font:bold 18px Arial,Helvetica,sans-serif;color:#fff;border-radius:2px}
.lgames .gp-wd{background:#f3f1ea}
.lgames .gp-wd span{background:#787c7e}
.lgames .gp-wd span.g{background:#6aaa64}
.lgames .gp-wd span.y{background:#c9b458}
.lgames .g-card.big .gp-row span{width:46px;height:46px;font-size:24px}
.lgames .gp-sd{display:grid;grid-template-columns:repeat(6,26px);gap:0;background:#e9eef5;align-content:center;justify-content:center}
.lgames .gp-sd span{width:26px;height:26px;border:1px solid #9aa9bd;background:#fff;display:flex;align-items:center;justify-content:center;font:bold 14px Georgia,serif;color:#1d3d66}
.lgames .gp-sd span.r{border-right:2px solid #1d3d66}
.lgames .gp-jb{background:#fbefe2}
.lgames .gp-jb .mix span{background:#000}
.lgames .gp-jb .ans span{background:#fff;color:#2e7d32;border:2px solid #2e7d32}
.lgames .gp-arrow{font:bold 16px Arial,sans-serif;color:#a0522d;line-height:1}
.lgames .gp-tz{display:grid;grid-template-columns:repeat(4,38px);gap:5px;background:#faf8ef;align-content:center;justify-content:center}
.lgames .gp-tz .tz-t{width:38px;height:38px;font-size:13px;aspect-ratio:auto}
.lgames .gp-tz .tz-t.t2048{font-size:11px}
.lgames #game{margin-top:14px}
.lgames .g-msg{min-height:1.5em;text-align:center;font:bold 14px Arial,Helvetica,sans-serif;margin:10px 0;white-space:pre-line}
.lgames .g-actions{text-align:center}
.lgames .g-btn{font:bold 13px Arial,Helvetica,sans-serif;padding:7px 14px;border:1px solid #000;background:#fff;cursor:pointer;border-radius:3px}
.lgames .g-btn:hover{background:#000;color:#fff}
.lgames .hint{text-align:center;font:12px Arial,sans-serif;color:#777}
.lgames .wd-grid{display:grid;gap:5px;justify-content:center}
.lgames .wd-row{display:grid;grid-template-columns:repeat(5,54px);gap:5px}
.lgames .wd-t{height:54px;border:2px solid #d3d6da;display:flex;align-items:center;justify-content:center;font:bold 28px Arial,Helvetica,sans-serif;text-transform:uppercase}
.lgames .wd-t.on{border-color:#878a8c}
.lgames .wd-t.g, .lgames .wd-kb .g{background:#6aaa64;border-color:#6aaa64;color:#fff}
.lgames .wd-t.y, .lgames .wd-kb .y{background:#c9b458;border-color:#c9b458;color:#fff}
.lgames .wd-t.b, .lgames .wd-kb .b{background:#787c7e;border-color:#787c7e;color:#fff}
.lgames .wd-kb{display:flex;flex-direction:column;align-items:center;gap:6px}
.lgames .wd-kb div{display:flex;gap:5px}
.lgames .wd-kb button{min-width:36px;height:52px;border:0;border-radius:4px;background:#d3d6da;font:bold 14px Arial,Helvetica,sans-serif;cursor:pointer;padding:0 4px}
.lgames .wd-kb button.wide{min-width:60px;font-size:12px}
.lgames .sd-grid{border-collapse:collapse;margin:0 auto;border:3px solid #000}
.lgames .sd-grid td{width:44px;height:44px;border:1px solid #bbb;padding:0;text-align:center}
.lgames .sd-grid tr:nth-child(3n) td{border-bottom:2px solid #000}
.lgames .sd-grid td:nth-child(3n){border-right:2px solid #000}
.lgames .sd-given{font:bold 22px Georgia,serif}
.lgames .sd-grid input{width:100%;height:44px;border:0;text-align:center;font:22px Georgia,serif;color:#004276;background:transparent;padding:0}
.lgames .sd-grid input:focus{background:#fff6d6;outline:none}
.lgames .sd-grid input.bad, .lgames .jb input.bad{background:#fbe0e0;color:#a81817}
.lgames .jb-list{list-style:none;padding:0;margin:0 auto;max-width:420px}
.lgames .jb-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e2e2e2}
.lgames .jb-mix b{display:inline-block;width:32px;height:32px;line-height:32px;text-align:center;margin-right:3px;background:#000;color:#fff;font:bold 18px Georgia,serif;border-radius:3px}
.lgames .jb input{width:120px;font:18px Georgia,serif;padding:4px 8px;text-transform:uppercase;border:1px solid #999}
.lgames .jb-ans{font:bold 18px Georgia,serif;letter-spacing:.1em;color:#777}
.lgames .jb-ans.ok{color:#2e7d32}
.lgames .tz{max-width:360px;margin:0 auto}
.lgames .tz-bar{display:flex;align-items:center;gap:14px;justify-content:space-between;font:13px Arial,sans-serif;margin-bottom:10px}
.lgames .tz-board{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#bbada0;padding:8px;border-radius:6px;touch-action:none}
.lgames .tz-board:focus{outline:2px solid #a81817}
.lgames .tz-t{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:4px;background:#cdc1b4;font:bold 26px Arial,Helvetica,sans-serif;color:#776e65}
.lgames .tz-t.t2{background:#eee4da}
.lgames .tz-t.t4{background:#ede0c8}
.lgames .tz-t.t8{background:#f2b179;color:#fff}
.lgames .tz-t.t16{background:#f59563;color:#fff}
.lgames .tz-t.t32{background:#f67c5f;color:#fff}
.lgames .tz-t.t64{background:#f65e3b;color:#fff}
.lgames .tz-t.t128{background:#edcf72;color:#fff;font-size:22px}
.lgames .tz-t.t256{background:#edcc61;color:#fff;font-size:22px}
.lgames .tz-t.t512{background:#edc850;color:#fff;font-size:22px}
.lgames .tz-t.t1024{background:#edc53f;color:#fff;font-size:18px}
.lgames .tz-t.t2048, .lgames .tz-t.t4096{background:#edc22e;color:#fff;font-size:18px}
.lgames .g-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.lgames .g-cards{grid-template-columns:1fr}
.lgames .g-card.big{flex-direction:column}
.lgames .g-hero h2{font-size:36px}
.lgames .wd-row{grid-template-columns:repeat(5,min(54px,15vw))}
.lgames .wd-t{height:min(54px,15vw)}
.lgames .wd-kb button{min-width:0;flex:1;height:48px}
.lgames .wd-kb div{width:100%}
.lgames .sd-grid td{width:calc((100vw - 40px)/9);height:calc((100vw - 40px)/9)}
.lgames .sd-grid input{height:calc((100vw - 40px)/9);font-size:18px}
.lgames .full .ad{margin:18px 0;padding:10px 0;border-top:1px solid #e2e2e2;border-bottom:1px solid #e2e2e2}
.lgames .full .ad img{max-height:260px;object-fit:contain;background:#fff}
.lgames .g-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.lgames .gp-ws{display:grid;grid-template-columns:repeat(6,26px);gap:3px;background:#eef5ee;align-content:center;justify-content:center}
.lgames .gp-ws span{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font:bold 13px Arial,sans-serif;color:#333;background:#fff;border-radius:2px}
.lgames .gp-ws span.hi{background:#ffd966}
.lgames .gp-ws span.hi2{background:#9fd3a8}
.lgames .gp-ng{display:grid;grid-template-columns:repeat(8,16px);gap:2px;background:#f1eef8;align-content:center;justify-content:center}
.lgames .gp-ng span{width:16px;height:16px;background:#fff;border:1px solid #c9c2dc}
.lgames .gp-ng span.on{background:#a81817;border-color:#a81817}
.lgames .gp-ms{display:grid;grid-template-columns:repeat(4,32px);gap:2px;background:#e9edf2;align-content:center;justify-content:center}
.lgames .gp-ms span{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font:bold 15px Arial,sans-serif;background:#f8f8f8;border:1px solid #c5ccd6}
.lgames .gp-ms span.c{background:linear-gradient(#cfd6df,#aeb8c5);border-color:#8e99a8}
.lgames .gp-ms span.f{color:#a81817;background:linear-gradient(#cfd6df,#aeb8c5)}
.lgames .gp-ms .n1, .lgames .ms-board .n1{color:#1d5fc4}
.lgames .gp-ms .n2, .lgames .ms-board .n2{color:#2e7d32}
.lgames .ms-board .n3{color:#c62828}
.lgames .ms-board .n4{color:#283593}
.lgames .ms-board .n5{color:#8d4b00}
.lgames .ms-board .n6{color:#00838f}
.lgames .ms-board .n7{color:#000}
.lgames .ms-board .n8{color:#666}
.lgames .gp-hm{background:#fdf3ea;gap:10px}
.lgames .gp-hm .hmw span{background:#fff;color:#000;border-bottom:3px solid #000;border-radius:0;width:28px}
.lgames .gp-hm-k{font:bold 13px Arial,sans-serif;letter-spacing:.06em;color:#555}
.lgames .gp-hm-k s{color:#bbb}
.lgames .ws{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}
.lgames .ws-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;width:min(100%,400px)}
.lgames .ws-grid button{aspect-ratio:1;border:1px solid #d6d2c4;background:#fff;font:bold 17px Arial,Helvetica,sans-serif;cursor:pointer;border-radius:3px;padding:0;color:#222}
.lgames .ws-grid button:hover{background:#fff6d6}
.lgames .ws-grid button.s{background:#ffd966;border-color:#c9a400}
.lgames .ws-grid button.f{background:#9fd3a8;border-color:#5fa86a;color:#0d3b14}
.lgames .ws-side h4{margin:0 0 6px;font:bold 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.lgames .ws-list{list-style:none;margin:0;padding:0;columns:2;font:bold 15px Georgia,serif}
.lgames .ws-list li{padding:3px 0}
.lgames .ws-list li.got{text-decoration:line-through;color:#2e7d32}
.lgames .ng-tools{display:flex;gap:6px;justify-content:center;margin-bottom:10px}
.lgames .g-btn.on{background:#000;color:#fff}
.lgames .ng-wrap{overflow-x:auto}
.lgames .ng{border-collapse:collapse;margin:0 auto}
.lgames .ng th{font:bold 12px Arial,sans-serif;color:#333;padding:2px 5px;line-height:1.25}
.lgames .ng th.cc{vertical-align:bottom;text-align:center;min-width:34px}
.lgames .ng th.rc{text-align:right;white-space:nowrap;padding-right:8px}
.lgames .ng th.ok{color:#2e7d32}
.lgames .ng td{padding:0;border:1px solid #bbb}
.lgames .ng tr td:nth-child(5){border-right:2px solid #555}
.lgames .ng tr:nth-child(5) td{border-bottom:2px solid #555}
.lgames .ng td button{display:block;width:34px;height:34px;border:0;background:#fff;cursor:pointer;padding:0}
.lgames .ng td button:hover{background:#f1eef8}
.lgames .ng td button.on{background:#222}
.lgames .ng td button.x{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 2l6 6M8 2l-6 6' stroke='%23bbb' stroke-width='1.2'/%3E%3C/svg%3E") center/60% no-repeat}
.lgames .ng.won td button.on{background:#a81817}
.lgames .ms-bar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:center;font:13px Arial,sans-serif;margin-bottom:10px}
.lgames .ms-board{display:grid;gap:2px;margin:0 auto;background:#9aa5b4;padding:3px;border-radius:4px;user-select:none}
.lgames .ms-board button{aspect-ratio:1;border:0;padding:0;font:bold 15px Arial,Helvetica,sans-serif;cursor:pointer;background:linear-gradient(#d9dfe7,#b4bfcc);border-radius:2px;min-width:0}
.lgames .ms-board button:hover{background:linear-gradient(#e8edf3,#c3cdd9)}
.lgames .ms-board button.o{background:#f6f7f9;cursor:default}
.lgames .ms-board button.fl{color:#a81817}
.lgames .ms-board button.boom{background:#e53935;color:#fff}
.lgames .ms-board button.mine{color:#333}
.lgames .hm{display:flex;gap:24px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:12px}
.lgames .hm-pic{width:130px;height:140px}
.lgames .hm-word{display:flex;gap:7px}
.lgames .hm-word span{width:40px;height:50px;display:flex;align-items:flex-end;justify-content:center;border-bottom:3px solid #000;font:bold 32px Georgia,serif}
.lgames .hm-word span.miss{color:#a81817}
.lgames .hm-left{text-align:center;font:13px Arial,sans-serif;color:#666;margin:10px 0 0}
.lgames .hm-kb button:disabled{cursor:default}
.lgames .g-cards{grid-template-columns:1fr}
.lgames .hm-word span{width:32px;height:42px;font-size:26px}
.lgames .ng td button{width:30px;height:30px}

/* Sudoku: sized to fit the screen (width and height), pencil marks and a number pad */
.lgames .sd{--cell:min(46px,calc((100vw - 28px) / 9),calc((100vh - 110px) / 10.6));--cell:min(46px,calc((100vw - 28px) / 9),calc((100dvh - 110px) / 10.6))}
.lgames .sd-grid td{width:max(28px,var(--cell));height:max(28px,var(--cell));position:relative}
.lgames .sd-grid input{position:absolute;inset:0;width:100%;height:100%;font-size:calc(max(28px,var(--cell)) * .5);caret-color:transparent;cursor:pointer;z-index:1}
.lgames .sd-given{font-size:calc(max(28px,var(--cell)) * .5)}
.lgames .sd-notes{position:absolute;inset:1px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);font:calc(max(28px,var(--cell)) * .24)/1 Arial,Helvetica,sans-serif;color:#6b7c8a;pointer-events:none}
.lgames .sd-notes span{display:flex;align-items:center;justify-content:center}
.lgames .sd.noting .sd-grid input:focus{background:#e6f1ff}
.lgames .sd-pad{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:8px auto 0;max-width:calc(max(28px,var(--cell)) * 9 + 6px)}
.lgames .sd-key{flex:1 0 calc(10% - 4px);min-width:26px;height:max(30px,calc(var(--cell) * .8));font:bold 16px Georgia,serif;border:1px solid #888;background:#f4f4f4;border-radius:4px;cursor:pointer;padding:0;color:#000}
.lgames .sd-key:active{background:#ddd}
.lgames .sd.noting .sd-key[data-k]:not(.sd-erase){color:#3a6ea5;font-style:italic}
.lgames .sd-notes-btn[aria-pressed="true"]{background:#3a6ea5;color:#fff;border-color:#3a6ea5}
.lgames .sd .g-actions{margin:8px 0 0}
.lgames .sd .g-msg{margin:6px 0 0;min-height:1.2em}
.lgames .sd-tip{font-size:11px;color:#777;margin:4px 0 0;text-align:center}
@media (max-width:600px){.lgames .sd-grid td{width:max(28px,var(--cell));height:max(28px,var(--cell))}.lgames .sd-grid input{height:100%;font-size:calc(max(28px,var(--cell)) * .5)}}
