.instructions-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.3s instrFadeIn;display:flex;position:fixed;inset:0}@keyframes instrFadeIn{0%{opacity:0}to{opacity:1}}.instructions-popup{background:#e8e4dc;border-radius:20px;width:100%;max-width:380px;animation:.35s instrSlideUp;position:relative;overflow:hidden;box-shadow:0 8px 40px #00000040}@keyframes instrSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.instructions-close-btn{color:#3a3a3a;cursor:pointer;z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.instructions-close-btn:hover{background:#3a3a3a1a}.instructions-slide-container{position:relative;overflow:hidden}.instructions-slides-track{transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex}.instructions-slide{box-sizing:border-box;min-width:100%;padding:36px 28px 20px}.instructions-slide-title{color:#3a3a3a;text-align:center;margin:0 0 20px;font-size:1.15rem;font-weight:700}.instructions-slide-content{flex-direction:column;justify-content:center;align-items:center;min-height:200px;display:flex}.instructions-nav{grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 20px 20px;display:grid}.instructions-nav-left{justify-self:start}.instructions-nav-right{justify-self:end}.instructions-nav-btn{color:#3a3a3a;cursor:pointer;background:0 0;border:2px solid #3a3a3a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.instructions-nav-btn:hover:not(:disabled){color:#e8e4dc;background:#3a3a3a}.instructions-nav-btn:disabled{opacity:.25;cursor:default}.instructions-got-it-btn{border-radius:50px;width:auto;height:40px;padding:0 20px}.instructions-got-it{white-space:nowrap;font-size:.85rem;font-weight:700}.instructions-dots{justify-content:center;align-items:center;gap:8px;display:flex}.instructions-dot{cursor:pointer;background:#c7c0b4;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s}.instructions-dot.active{background:#3a3a3a;transform:scale(1.3)}.instructions-help-btn{color:#3a3a3a;cursor:pointer;background:0 0;border:2px solid #3a3a3a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:clamp(28px,8vw,36px);height:clamp(28px,8vw,36px);font-size:clamp(.7rem,2vw,.85rem);font-weight:700;transition:all .2s;display:flex}.instructions-help-btn:hover{color:#e8e4dc;background:#3a3a3a}.instr-cell-enter{animation:.5s both instrCellEnter}@keyframes instrCellEnter{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.instr-highlight{animation:1.8s ease-in-out infinite instrHighlight}@keyframes instrHighlight{0%,to{box-shadow:0 0 #4c824366}50%{box-shadow:0 0 0 6px #4c824326}}.instr-group-complete{animation:1s ease-in-out both instrGroupComplete}@keyframes instrGroupComplete{0%,to{background-color:#f5f1eb;box-shadow:inset 0 0 #4caf5000}50%{background-color:#f1f8e9;box-shadow:inset 0 0 20px #4caf5066}}.instr-trail-line{stroke-dasharray:200;stroke-dashoffset:200px;animation:1.5s forwards instrDrawLine}@keyframes instrDrawLine{to{stroke-dashoffset:0}}.instr-letter-pop{animation:.4s cubic-bezier(.34,1.56,.64,1) both instrLetterPop}@keyframes instrLetterPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.instr-cursor{animation:1s step-end infinite instrCursorBlink}@keyframes instrCursorBlink{0%,to{border-color:#3a3a3a}50%{border-color:#0000}}.instr-description{color:#666;text-align:center;margin-top:16px;font-size:.9rem;line-height:1.5}.instr-grid{border:2px solid #3a3a3a;border-radius:8px;gap:0;width:fit-content;margin:0 auto;display:grid;overflow:hidden}.instr-grid-6col{grid-template-columns:repeat(6,38px)}.instr-grid-cell{color:#3a3a3a;background:#f5f1eb;border:1px solid #d5d0c8;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;font-weight:700;display:flex;position:relative}.instr-grid-cell.filled{color:#4a6741}.instr-grid-cell.highlighted{background:#4c824326}.instr-grid-cell.yellow{background:khaki}.instr-grid.instr-grid-borderless{background:0 0;border:none;overflow:visible}.instr-grid.instr-grid-borderless .instr-grid-cell{background:0 0;border:none}.instr-grid-cell.circled{background:0 0;position:relative}.instr-grid-cell.circled:before{content:"";z-index:0;background-color:#ffd071;border:2px solid #3a3a3a;border-radius:50%;width:70%;height:70%;position:absolute}.instr-grid-cell .instr-cell-letter{z-index:2;position:relative}.instr-chase-pulse{z-index:1;opacity:0;pointer-events:none;animation:.6s ease-out forwards instrChase;animation-delay:var(--chase-delay,0s);background-color:#28a745;border-radius:50%;position:absolute;inset:7.5%}@keyframes instrChase{0%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}90%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.instr-grid-cell.black{background:#3a3a3a}.instr-grid-cell.active-cell{z-index:1;background:#4c824340;border-color:#4a6741;overflow:hidden}.instr-grid-cell.active-cell:after{content:"";background:linear-gradient(120deg,#0000 25%,#ffffff40 45%,#ffffff59 50%,#ffffff40 55%,#0000 75%) -100% 0/250% 100%;animation:.7s ease-out .1s both instrCellWipe;position:absolute;inset:0}@keyframes instrCellWipe{0%{background-position:150% 0}to{background-position:-50% 0}}.instr-chess-board{border:2px solid #3a3a3a;border-radius:8px;grid-template-rows:repeat(4,48px);grid-template-columns:repeat(4,48px);display:grid;overflow:hidden}.instr-chess-cell{justify-content:center;align-items:center;font-size:1.6rem;display:flex}.instr-chess-cell.light{background:#f5f1eb}.instr-chess-cell.dark{background:#c7c0b4}.instr-chess-cell.target{background:#4c82434d}.instr-notes{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);gap:0;width:100%;height:100%;padding:1px;display:grid}.instr-note-num{color:#999;justify-content:center;align-items:center;font-size:.42rem;font-weight:600;display:flex}.instr-trail-cell{background:0 0;transition:all .3s;position:relative}.instr-trail-cell.path:after{content:"";z-index:0;background-color:#a3d5ff;border-radius:50%;width:70%;height:70%;animation:.25s ease-out instrTrailPop;position:absolute}.instr-trail-cell.path>span{z-index:1;position:relative}@keyframes instrTrailPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (max-width:400px){.instructions-popup{max-width:340px}.instructions-slide{padding:28px 16px 16px}.instr-grid-6col{grid-template-columns:repeat(6,32px)}.instr-grid-cell{width:32px;height:32px;font-size:.85rem}.instr-chess-board{grid-template-rows:repeat(4,40px);grid-template-columns:repeat(4,40px)}}.puzzle-page .instructions-overlay,.wordtrail-page .instructions-overlay,.checkmate-page .instructions-overlay{justify-content:center;align-items:center;padding-top:120px;padding-bottom:20px;position:fixed;inset:0}.instr-sudoku-slide2{flex-direction:column;align-items:center;display:flex;position:relative}.instr-grid-wrapper{transform-origin:top;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative}.instr-grid-wrapper.scaled-down{transform:scale(.82)}.instr-compress{animation:.25s both instrCompress}@keyframes instrCompress{0%{transform:scale(1)}40%{transform:scale(.85)}to{transform:scale(1)}}.instr-keyboard{opacity:0;margin-top:4px;transition:opacity .4s,transform .4s;position:relative;transform:translateY(10px)}.instr-keyboard.visible{opacity:1;transform:translateY(0)}.instr-keyboard-row{justify-content:center;gap:4px;display:flex}.instr-key{color:#3a3a3a;cursor:default;background:#f5f1eb;border:1.5px solid #c7c0b4;border-radius:6px;justify-content:center;align-items:center;width:34px;height:38px;font-size:.95rem;font-weight:700;display:flex}.instr-key-active{color:#e8e4dc;background:#4a6741;border-color:#4a6741}@media (max-width:400px){.instr-key{width:28px;height:32px;font-size:.82rem}}.instr-notes-btn-wrapper{opacity:0;margin-bottom:8px;transition:opacity .4s}.instr-notes-btn-wrapper.visible{opacity:1}.instr-notes-btn{color:#3a3a3a;cursor:default;background:#f5f1eb;border:1.5px solid #c7c0b4;border-radius:50px;padding:6px 20px;font-size:.85rem;font-weight:700;transition:background-color .3s,border-color .3s}.instr-notes-btn.active{background-color:#ffd071;border-color:#ffd071}