@charset "UTF-8";
:root{--paper:#faf9f5;--ink:#252c29;--muted:#62685f;--line:#d9dbd1;--blue:#244ca1;--blue-pale:#e8edf9;--yellow:#eee39b;--green:#426046;--green-pale:#e7eee1;--rose:#f3ded7;--red:#a6322d;--font:Inter,"Segoe UI",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button{touch-action:manipulation}.skip{position:fixed;z-index:20;top:-100px;left:16px;padding:12px;background:white}.skip:focus{top:12px}.masthead{max-width:1280px;margin:auto;min-height:96px;padding:20px 48px;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-weight:bold;font-size:30px;text-decoration:none;letter-spacing:-1.3px;white-space:nowrap}.brand-dot{font-family:var(--font);font-size:30px;color:var(--blue);padding-left:10px;vertical-align:middle}.edition-tag{letter-spacing:2px;font-size:12px;color:var(--muted);padding-left:24px;border-left:1px solid var(--line)}.save-note{margin-left:auto;font-size:14px;color:var(--muted)}main{max-width:1280px;min-height:calc(100vh - 205px);margin:auto;padding:40px 48px 64px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 9px}.intro h1{font:normal clamp(2.5rem,5vw,4.2rem)/1.1 var(--serif);letter-spacing:-1.5px;margin:0 0 14px}.intro p{color:var(--muted);margin:0;font-size:17px}.collection-progress{min-width:165px;padding-bottom:5px}.collection-progress strong{font-weight:500;font-size:14px}.progress-dots{display:flex;gap:8px;margin-top:12px}.progress-dot{width:25px;height:5px;border-radius:3px;background:#dddcd1}.progress-dot.done{background:var(--green)}.cards{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:20px}.game-card{display:flex;flex-direction:column;text-align:left;border:1px solid var(--line);border-radius:12px;background:transparent;padding:0;overflow:hidden;min-width:0;transition:transform .15s,border-color .15s}.game-card:hover{transform:translateY(-3px);border-color:#989f93}.game-card:focus-visible{outline-offset:5px}.game-card.featured{grid-row:span 2}.card-picture{display:flex;align-items:center;justify-content:center;height:170px;position:relative;overflow:hidden;background:#eeeecf}.card-picture.cross{flex:1;min-height:280px;background:var(--blue-pale)}.card-picture.sudoku{background:var(--yellow)}.card-picture.search{background:var(--green-pale)}.card-picture.scramble{background:var(--rose)}.card-picture.maze{background:#e6e6e0}.card-picture svg{width:132px;height:132px}.card-picture.cross svg{width:82%;height:auto;max-height:335px;transform:rotate(-4deg);filter:drop-shadow(7px 9px 0 #244ca115)}.card-picture.scramble .letter-display{display:flex;gap:5px;transform:rotate(-3deg)}.letter-display span{display:grid;place-items:center;border:1px solid #ab8d7e;border-radius:5px;width:36px;height:45px;background:#fffaf1;font:24px var(--serif);box-shadow:0 3px 0 #a3847024}.card-body{padding:20px 22px;display:flex;flex-direction:column;gap:4px}.card-topline{display:flex;justify-content:space-between;gap:12px;align-items:center}.card-topline h2{font:normal 25px/1.2 var(--serif);margin:0}.featured .card-topline h2{font-size:30px}.card-detail{color:var(--muted);font-size:14px;margin:4px 0 0}.card-action{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--blue);margin-top:14px;font-weight:600}.card-action span:last-child{font-size:20px;line-height:1}.card-badge{font-size:12px;color:var(--green);white-space:nowrap}.edition-bottom{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:12px;color:var(--muted);font-size:14px}.edition-bottom strong{font-weight:600;color:var(--ink)}footer{max-width:1184px;border-top:1px solid var(--line);padding:24px 0 32px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}button.plain{background:transparent;border:0;padding:8px 0;font-size:14px;color:var(--muted)}.game-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.game-heading h1{font:normal clamp(2.2rem,4vw,3.4rem)/1.15 var(--serif);letter-spacing:-1px;margin:0}.subtitle{margin:0 0 24px;color:var(--muted);max-width:760px}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.button,select{background:transparent;border:1px solid #b8beb4;border-radius:7px;padding:9px 15px;font-size:14px;min-height:42px}.button:hover{background:#eeeee7}.button.primary{background:var(--blue);color:white;border-color:var(--blue)}.button.primary:hover{background:#193d8c}.button.soft{background:var(--blue-pale);border-color:transparent;color:var(--blue)}.button.small{padding:7px 12px;min-height:38px}.toolbar .push{margin-left:auto}.status{border-left:3px solid var(--line);padding:10px 14px;min-height:44px;background:#f0f1eb;font-size:14px;margin:0 0 22px;line-height:1.5}.status.success{border-color:var(--green);background:var(--green-pale);color:#274c2f}.status.error{border-color:var(--red);background:#f8ebe6;color:var(--red)}.play-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.85fr);gap:36px;align-items:start}.board-wrap{max-width:620px;width:100%;margin:auto}.cross-grid{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));border:2px solid var(--ink);background:var(--ink);gap:1px;aspect-ratio:1}.cross-cell{position:relative;min-width:0;min-height:0;background:var(--paper)}.cross-cell.block{background:#35443d}.cross-cell input{border:0;border-radius:0;outline-offset:-3px;width:100%;height:100%;padding:5px 0 0;text-align:center;text-transform:uppercase;background:transparent;caret-color:transparent;color:var(--ink);font-size:clamp(12px,2vw,23px);font-weight:600}.cross-cell small{position:absolute;top:0;left:2px;font-size:clamp(7px,.85vw,11px);line-height:1.2;pointer-events:none}.cross-cell.active-word{background:#dfe7f8}.cross-cell.selected{background:var(--yellow)}.cross-cell.wrong input{color:var(--red)}.current-clue{border-radius:8px;padding:14px 18px;background:var(--blue-pale);margin-bottom:14px;min-height:58px;color:#203d74;font-size:16px}.clue-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.clue-columns h2{font-size:14px;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 10px}.clue{display:flex;gap:8px;text-align:left;border:0;background:transparent;width:100%;padding:9px 8px;border-radius:5px;line-height:1.4;font-size:14px}.clue b{font-weight:600;min-width:18px;color:var(--blue)}.clue.active{background:var(--blue-pale)}.clue:hover{background:#edeee7}.board-caption{font-size:13px;color:var(--muted);margin:14px 0 0}.side-note{padding:24px;background:#f0f1e8;border-radius:10px}.side-note h2{font:normal 25px var(--serif);margin:0 0 12px}.side-note p{font-size:16px;color:var(--muted)}.sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:2px solid var(--ink);aspect-ratio:1;max-width:495px;margin:auto}.sudoku-cell{border:0;border-right:1px solid #c7cabd;border-bottom:1px solid #c7cabd;background:var(--paper);padding:0;font-size:clamp(18px,3vw,30px);font-weight:400;position:relative}.sudoku-cell:nth-child(3n){border-right:2px solid var(--ink)}.sudoku-cell:nth-child(9n){border-right:0}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--ink)}.sudoku-cell:nth-child(n+73){border-bottom:0}.sudoku-cell.given{font-weight:650;color:#282f27}.sudoku-cell:not(.given){color:var(--blue)}.sudoku-cell.selected{background:var(--yellow)}.sudoku-cell.related:not(.selected){background:#eeeee4}.sudoku-cell.wrong{color:var(--red)}.number-pad{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;margin-top:16px;max-width:495px;margin-left:auto;margin-right:auto}.number-pad button{min-width:0;padding:10px 0;border:1px solid var(--line);background:white;border-radius:5px;color:var(--blue);font-size:20px}.search-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));aspect-ratio:1;gap:2px;padding:10px;border:1px solid var(--line);border-radius:9px;max-width:570px}.search-cell{border:0;background:transparent;padding:0;display:grid;place-items:center;font-size:clamp(13px,2.1vw,24px);font-weight:500;border-radius:4px}.search-cell.found{background:#dce8ce;color:#25492e}.search-cell.selected{background:var(--yellow)}.word-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.word-list li{font-size:16px;letter-spacing:1px}.word-list li.found{color:var(--green);text-decoration:line-through}.word-count{font-size:14px;color:var(--muted);margin:20px 0 0}.scramble-wrap{max-width:720px;margin:30px auto;text-align:center}.round-progress{display:flex;justify-content:center;gap:10px;margin-bottom:28px}.round-progress span{height:5px;width:34px;border-radius:3px;background:#dddcd1}.round-progress .done{background:var(--green)}.scramble-letters{display:flex;gap:10px;justify-content:center;margin:22px 0 30px;flex-wrap:wrap}.scramble-letters span{display:grid;place-items:center;width:65px;height:77px;border:1px solid #b2b5a5;border-radius:7px;background:#f2ecd2;box-shadow:0 4px 0 #dfdfd2;font:40px var(--serif)}.scramble-clue{font:normal 26px/1.4 var(--serif);margin:15px 0 28px}.answer-form{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.answer-form input{max-width:320px;width:100%;text-transform:uppercase;letter-spacing:4px;padding:14px;border:1px solid #909988;border-radius:7px;background:white;text-align:center;font-size:22px}.scramble-counter{font-size:14px;color:var(--muted)}.scramble-extra{display:flex;gap:20px;justify-content:center;margin-top:18px}.maze-board{border:2px solid var(--ink);width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(13,minmax(0,1fr));background:#fcfcf8;max-width:570px}.maze-cell{background:transparent;border:0;padding:0;position:relative;display:grid;place-items:center;min-width:0;min-height:0}.maze-cell.visited{background:#f4edbf}.maze-cell.player:after{content:'';width:48%;height:48%;border-radius:50%;background:var(--blue);position:absolute;z-index:1}.maze-cell.exit:before{content:'';width:62%;height:62%;border:2px solid var(--green);border-radius:4px;position:absolute}.maze-cell.hint{background:#dce8ce}.maze-pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,44px);gap:6px;justify-content:center;margin-top:18px}.maze-pad button{border:1px solid var(--line);background:white;border-radius:6px;font-size:22px}.maze-pad button:first-child{grid-column:2}.maze-pad button:nth-child(2){grid-column:1;grid-row:2}.maze-pad button:nth-child(3){grid-column:2;grid-row:2}.maze-pad button:nth-child(4){grid-column:3;grid-row:2}.complete-panel{background:var(--green-pale);padding:32px;border-radius:12px;text-align:center;margin:20px auto}.complete-panel h2{font:normal 34px var(--serif);margin:0 0 12px}.complete-panel p{color:var(--green)}.noscript{padding:30px}
@media(min-width:1300px){.card-picture{height:190px}.card-body{padding:22px 24px}.card-action{margin-top:20px}}
@media(max-width:950px){.masthead{padding:20px 28px}.edition-tag{display:none}main{padding:32px 28px 48px}.cards{gap:16px;grid-template-columns:1fr 1fr}.game-card.featured{grid-row:auto;grid-column:span 2;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.card-picture.cross{min-height:240px}.card-picture.cross svg{max-height:210px;width:210px}.featured .card-body{justify-content:center}.play-layout{grid-template-columns:minmax(0,1fr)}.board-wrap{max-width:580px}.cross-cell input{font-size:clamp(12px,3vw,24px)}.cross-cell small{font-size:10px}.clue-columns{gap:24px}.side-note{max-width:580px;width:100%;margin:auto}.search-cell{font-size:22px}footer{margin:0 28px;flex-wrap:wrap}.collection-progress{min-width:140px}.sudoku-cell{font-size:28px}}
@media(max-width:560px){.masthead{min-height:78px;padding:16px 20px;gap:12px}.wordmark{font-size:25px}.brand-dot{font-size:24px;padding-left:5px}.save-note{font-size:12px;max-width:100px;text-align:right}main{padding:28px 18px 38px}.intro{align-items:start;display:block;margin-bottom:24px}.intro h1{font-size:42px}.intro p{font-size:16px;max-width:270px}.collection-progress{margin-top:20px;display:flex;align-items:center;gap:14px}.progress-dots{margin:0}.cards{gap:14px}.game-card.featured{grid-template-columns:1fr 1fr}.card-picture.cross{min-height:200px}.card-picture.cross svg{max-width:160px;width:90%}.featured .card-body{padding:16px}.featured .card-topline h2{font-size:25px}.card-picture{height:125px}.card-picture svg{height:100px;width:100px}.card-body{padding:14px}.card-topline{display:block}.card-topline h2{font-size:23px}.card-detail{font-size:13px}.card-action{margin-top:10px}.letter-display span{width:23px;height:34px;font-size:19px}.card-picture.scramble .letter-display{gap:3px}.edition-bottom{font-size:13px;display:block}.edition-bottom strong{display:block;margin-bottom:4px}footer{margin:0 18px;padding:20px 0;gap:8px}.game-heading{align-items:start}.game-heading h1{font-size:36px}.game-top{font-size:13px}.game-heading .button{padding:7px 10px}.toolbar{gap:7px}.button,select{padding:8px 11px}.toolbar .push{margin-left:0}.play-layout{gap:24px}.cross-grid{gap:1px}.cross-cell input{font-size:15px;padding-top:6px}.cross-cell small{font-size:8px;left:1px}.current-clue{font-size:15px;padding:12px}.clue-columns{gap:12px}.clue{font-size:14px;padding:8px 4px}.search-cell{font-size:17px}.search-grid{padding:5px;gap:1px}.scramble-letters{gap:6px}.scramble-letters span{width:38px;height:52px;font-size:29px}.scramble-clue{font-size:23px}.side-note{padding:20px}.sudoku-cell{font-size:25px}.number-pad{gap:3px}.number-pad button{font-size:20px}.status{font-size:14px}.card-badge{display:block;margin-top:5px}}
.status:empty{display:none}.game-top #next-game{color:var(--blue);white-space:nowrap}.game-top .eyebrow{margin-left:auto!important;margin-right:20px!important}
@media(max-width:560px){.game-top .eyebrow{display:none}.game-top{margin-bottom:12px}.game-heading h1{font-size:32px}.subtitle{font-size:15px;margin-bottom:18px}.toolbar{margin-bottom:16px}.game-top .plain{font-size:14px}}
.reset-dialog{border:1px solid var(--line);border-radius:12px;padding:28px;max-width:440px;width:calc(100% - 36px);background:var(--paper);color:var(--ink);box-shadow:0 15px 70px #15252033}.reset-dialog::backdrop{background:#15252055}.reset-dialog h2{font:normal 30px var(--serif);margin:0 0 12px}.reset-dialog p{margin:0 0 24px;color:var(--muted)}.reset-dialog>div{display:flex;gap:12px;justify-content:flex-end}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
