:root{--cardinal:#9d1b2e;--gold:#f2a900;--paper:#f7f4ed;--cream:#fffaf0;--ink:#202020;--muted:#6e6a64;--line:#e6ded1;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Times New Roman",serif;line-height:1.55;overflow-x:hidden}.games-header{position:sticky;top:0;z-index:20;background:rgba(255,250,240,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.games-topbar{min-height:30px;padding:7px max(14px,calc((100% - 1180px)/2));background:#21181a;color:#fff;font:800 .62rem/1 Arial,sans-serif;letter-spacing:.13em}.games-topbar span{float:right;color:#ffd56b}.games-nav{width:min(1180px,calc(100% - 36px));min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.games-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}.games-brand img{width:54px;height:54px;object-fit:contain}.games-brand strong,.games-brand small{display:block;font-family:Arial,sans-serif;font-weight:900}.games-brand strong{font-size:.95rem;letter-spacing:.11em}.games-brand small{font-size:.58rem;letter-spacing:.31em;color:var(--cardinal)}.games-nav nav{display:flex;align-items:center;gap:20px}.games-nav nav a{color:inherit;text-decoration:none;font:800 .67rem/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}.games-nav nav a:hover,.games-nav nav .games-active{color:var(--cardinal)}.games-admin{padding:10px 13px;background:var(--cardinal);color:#fff!important;border-radius:999px}
.games-page{width:min(1060px,calc(100% - 30px));margin:auto;padding:55px 0 80px}.games-hero{padding:35px 0 40px;text-align:center}.eyebrow{font:900 .68rem/1.2 Arial,sans-serif;letter-spacing:.16em;color:var(--cardinal)}.games-hero h1{font-size:clamp(3.2rem,8vw,6rem);line-height:.9;letter-spacing:-.06em;margin:16px 0}.games-hero h1 em{font-style:normal;color:var(--cardinal)}.games-hero p{max-width:650px;margin:auto;color:var(--muted);font-size:1.05rem}.game-stats{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:26px auto 0}.game-stats div{min-width:125px;padding:12px 17px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 25px rgba(70,45,20,.05)}.game-stats strong{display:block;font:900 1.45rem/1 Arial,sans-serif;color:var(--cardinal)}.game-stats span{display:block;margin-top:5px;font:800 .55rem/1 Arial,sans-serif;letter-spacing:.1em;color:var(--muted)}
.game-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:34px;box-shadow:0 16px 45px rgba(70,45,20,.07);margin-bottom:28px;min-width:0;overflow:hidden}.game-panel:focus-within{box-shadow:0 20px 55px rgba(70,45,20,.1),0 0 0 2px rgba(242,169,0,.15);transform:translateY(-1px)}.game-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:25px}.game-heading h2{font-size:clamp(2rem,5vw,3.2rem);line-height:.95;letter-spacing:-.05em;margin:8px 0}.game-heading p{margin:0;color:var(--muted);max-width:620px}.game-date{min-width:130px;text-align:right;font:800 .62rem/1.45 Arial,sans-serif;letter-spacing:.08em;color:var(--cardinal)}
.word-board{width:min(330px,100%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px auto 18px}.word-cell{aspect-ratio:1;border:2px solid #d8d0c5;display:grid;place-items:center;font:900 1.5rem/1 Arial,sans-serif;text-transform:uppercase;border-radius:7px;background:#fff;transition:transform .12s,background .25s,border-color .25s}.word-cell.filled{border-color:#9a9187}.word-cell.correct{background:#6aaa64;color:#fff;border-color:#6aaa64;animation:flipIn .45s ease both}.word-cell.present{background:#c9b458;color:#fff;border-color:#c9b458;animation:flipIn .45s ease both}.word-cell.absent{background:#787c7e;color:#fff;border-color:#787c7e;animation:flipIn .45s ease both}.word-cell.pop{animation:cellPop .13s ease}.word-cell.filled:not(.correct):not(.present):not(.absent){animation:cellPop .13s ease}@keyframes cellPop{50%{transform:scale(1.08)}}@keyframes flipIn{0%{transform:rotateX(90deg);opacity:.45}60%{transform:rotateX(-8deg);opacity:1}100%{transform:rotateX(0)}}.game-message{text-align:center;min-height:28px;margin:10px 0 16px;font:700 .85rem Arial,sans-serif;color:var(--muted);transition:transform .2s,opacity .2s}.game-message.win{color:#397536;animation:messageBounce .5s ease}@keyframes messageBounce{50%{transform:scale(1.06)}}.game-message.error{color:var(--cardinal);animation:shake .3s ease}@keyframes shake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}.keyboard{width:min(560px,100%);margin:auto;display:flex;flex-direction:column;gap:7px;user-select:none}.key-row{display:flex;justify-content:center;gap:5px}.key{border:0;border-radius:7px;background:#d9d3ca;min-width:36px;height:48px;padding:0 9px;font:900 .75rem Arial,sans-serif;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;transition:transform .1s,filter .15s,background .2s}.key:active{transform:scale(.93)}.key.wide{min-width:58px}.key.correct{background:#6aaa64;color:#fff}.key.present{background:#c9b458;color:#fff}.key.absent{background:#787c7e;color:#fff}.small-button{border:0;border-radius:999px;background:var(--cardinal);color:#fff;padding:11px 18px;font:800 .7rem Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s,box-shadow .15s,filter .15s}.small-button:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(70,45,20,.14)}.small-button:active{transform:scale(.97)}.secondary-button{background:#eee7dc;color:#222}.hidden{display:none}
.crossword-wrap{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:35px;align-items:start}.crossword-grid{width:min(420px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:3px solid #21181a;background:#21181a;margin:auto;border-radius:8px;overflow:hidden;box-shadow:0 12px 28px rgba(33,24,26,.13)}.cw-cell{aspect-ratio:1;background:#fff;border:1px solid #21181a;position:relative;min-width:0}.cw-number{position:absolute;left:3px;top:2px;font:700 .5rem/1 Arial,sans-serif}.cw-input{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;text-align:center;text-transform:uppercase;font:900 1.25rem Arial,sans-serif;outline:none;padding:5px 1px 0;appearance:none;-webkit-appearance:none;border-radius:0;transition:background .15s,box-shadow .15s}.cw-input:focus{box-shadow:inset 0 0 0 3px rgba(242,169,0,.65);background:#fff9e9}.cw-input.correct{background:#e6f2e2;animation:correctPulse .35s ease}.cw-input.wrong{background:#f7dddd;animation:shake .3s ease}@keyframes correctPulse{50%{transform:scale(.94)}}.crossword-clues{display:grid;grid-template-columns:1fr 1fr;gap:30px}.crossword-clues h3{margin:0 0 8px;font:900 .85rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--cardinal)}.crossword-clues ol{margin:0;padding-left:24px}.crossword-clues li{padding:4px 0;font-size:.9rem}.game-actions{display:flex;justify-content:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.memory-grid{width:min(560px,100%);margin:10px auto 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.memory-card{aspect-ratio:1;border:0;border-radius:16px;background:#21181a;color:#fff;cursor:pointer;position:relative;transform-style:preserve-3d;transition:transform .38s cubic-bezier(.2,.75,.2,1),background .2s,box-shadow .2s;box-shadow:0 7px 18px rgba(0,0,0,.1);touch-action:manipulation;-webkit-tap-highlight-color:transparent;padding:0}.memory-card:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 12px 24px rgba(0,0,0,.13)}.memory-card.flipped,.memory-card.matched{transform:rotateY(180deg);background:#fff0d5}.memory-back,.memory-face{position:absolute;inset:0;display:grid;place-items:center;backface-visibility:hidden;border-radius:16px}.memory-back{font:900 1.7rem Arial,sans-serif;color:#ffd56b}.memory-face{transform:rotateY(180deg);font-size:2.4rem;border:2px solid #f2a900}.memory-card.matched{box-shadow:0 0 0 3px rgba(106,170,100,.25),0 10px 24px rgba(106,170,100,.12);animation:matchPop .45s ease}@keyframes matchPop{50%{transform:rotateY(180deg) scale(1.08)}}.memory-miss .memory-card.flipped{animation:shake .3s ease}.memory-grid.game-complete .memory-card{animation:celebrate .65s ease both}.memory-grid.game-complete .memory-card:nth-child(2n){animation-delay:.04s}@keyframes celebrate{50%{transform:rotateY(180deg) translateY(-6px) scale(1.06)}}
.weekly-challenge{margin:28px 0;padding:32px;border-radius:24px;background:#21181a;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;overflow:hidden;position:relative}.weekly-challenge h2{font-size:clamp(1.8rem,4vw,3rem);margin:8px 0}.weekly-challenge p{margin:0;color:#d9d0d0;max-width:650px}.challenge-ring{width:115px;height:115px;flex:0 0 115px;border:7px solid #f2a900;border-radius:50%;display:grid;place-items:center;align-content:center;background:rgba(255,255,255,.04);transition:transform .35s}.challenge-ring:hover{transform:rotate(8deg) scale(1.04)}.challenge-ring strong{font:900 1.8rem/1 Arial,sans-serif}.challenge-ring span{font:800 .55rem/1 Arial,sans-serif;letter-spacing:.1em;color:#ffd56b}.games-note{padding:24px 28px;background:#21181a;color:#fff;border-radius:20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.games-note strong{color:#ffd56b;font:900 .85rem Arial,sans-serif}.games-note span{color:#d9d0d0;font-size:.88rem}.games-note a{color:#ffd56b;font:800 .7rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.05em;text-decoration:none}.site-footer{margin-top:0}
@media(max-width:760px){.games-topbar{padding:7px 12px}.games-topbar span{display:none}.games-nav{width:calc(100% - 16px);min-height:58px;gap:8px}.games-brand{gap:7px}.games-brand img{width:40px;height:40px}.games-brand strong{font-size:.72rem}.games-brand small{font-size:.5rem;letter-spacing:.25em}.games-nav nav{gap:5px}.games-nav nav a:not(.games-active):not(.games-admin){display:none}.games-nav nav a{font-size:.57rem}.games-admin{padding:9px 10px}.games-page{width:calc(100% - 12px);padding:18px 0 45px}.games-hero{padding:16px 7px 25px}.games-hero h1{font-size:clamp(3rem,17vw,4.2rem);margin:12px 0}.games-hero p{font-size:.9rem}.game-stats{gap:6px}.game-stats div{flex:1;min-width:0;padding:10px 4px}.game-stats strong{font-size:1.15rem}.game-stats span{font-size:.45rem;letter-spacing:.04em}.game-panel{padding:18px 10px;border-radius:17px;margin-bottom:15px}.game-heading{display:block;margin-bottom:17px}.game-heading h2{font-size:clamp(1.75rem,10vw,2.5rem)}.game-heading p{font-size:.9rem}.game-date{text-align:left;margin-top:8px;min-width:0}.word-board{width:min(310px,88vw);gap:4px}.word-cell{font-size:1.2rem;border-width:1.5px}.keyboard{width:100%;max-width:390px;gap:4px;padding:0 1px}.key-row{gap:3px;width:100%}.key{flex:1;min-width:0;width:0;height:46px;padding:0 1px;font-size:clamp(.57rem,2.6vw,.68rem);border-radius:6px}.key.wide{flex:1.45;min-width:0}.crossword-wrap{grid-template-columns:1fr;gap:20px}.crossword-grid{width:min(360px,94vw)}.cw-number{font-size:.42rem;left:2px;top:2px}.cw-input{font-size:clamp(.85rem,5vw,1.2rem);padding-top:5px}.crossword-clues{grid-template-columns:1fr;gap:14px}.crossword-clues li{font-size:.8rem;padding:3px 0}.memory-grid{width:min(420px,94vw);gap:6px}.memory-card{border-radius:10px}.memory-back,.memory-face{border-radius:10px}.memory-face{font-size:clamp(1.35rem,8vw,2rem)}.weekly-challenge{display:block;text-align:center;padding:23px 15px;border-radius:18px;margin-top:18px}.weekly-challenge p{font-size:.9rem}.challenge-ring{margin:19px auto 0}.games-note{grid-template-columns:1fr;gap:8px;padding:18px}.games-note span{font-size:.8rem}.games-note a{display:inline-block}.game-actions .small-button{flex:1;min-width:130px}}
@media(max-width:380px){.games-page{width:calc(100% - 8px)}.game-panel{padding-left:8px;padding-right:8px}.game-stats div{padding-left:2px;padding-right:2px}.key{height:43px;font-size:.56rem}.word-board{width:280px}.memory-grid{gap:4px}.cw-input{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.game-panel:focus-within{transform:none}.memory-card:hover,.challenge-ring:hover{transform:none}}
@media(hover:none){.small-button:hover,.key:hover,.memory-card:hover{transform:none}.memory-card{box-shadow:0 4px 12px rgba(0,0,0,.09)}}