.puzzle-page{flex-direction:column;max-width:1200px;height:100dvh;margin:0 auto;display:flex;overflow:hidden}.controls{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:clamp(3px,1.2vw,6px);padding:0 clamp(6px,2.5vw,12px) clamp(6px,1.5vw,8px);display:flex}.timer{background-color:var(--surface-2);border-radius:50px;align-items:center;gap:5px;height:clamp(32px,9vw,40px);padding:0 clamp(8px,2.5vw,14px);display:flex;box-shadow:0 2px 10px #0000000d}.timer-text{color:var(--text-color);text-align:center;min-width:clamp(40px,10vw,48px);font-size:clamp(.75rem,2vw,.9rem);font-weight:600}.control-btn{background-color:var(--surface-2);color:var(--text-color);cursor:pointer;border:2px solid #3a3a3a;border-radius:50px;justify-content:center;align-items:center;height:clamp(32px,9vw,40px);padding:0 clamp(8px,2.5vw,14px);font-size:clamp(.7rem,1.9vw,.85rem);font-weight:600;display:flex;position:relative}.control-btn.primary{background-color:var(--primary-color);color:var(--button-text)}.control-btn.disabled{opacity:.5;cursor:not-allowed}.dropdown{display:inline-block;position:relative}.dropdown-content{background-color:var(--surface-2);z-index:100;border-radius:10px;min-width:140px;margin-top:5px;display:none;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #00000026}.dropdown-content.show{display:block}.dropdown-item{cursor:pointer;color:var(--text-color);padding:10px 15px;font-size:.8rem;transition:background-color .2s}.dropdown-item:hover{background-color:var(--card-background)}.game-area{flex-direction:column;flex:1;min-height:0;padding:0 12px;transition:filter .3s;display:flex;overflow:hidden}.game-area.paused-blur{filter:blur(12px);pointer-events:none;-webkit-user-select:none;user-select:none}.grid-container{background-color:var(--surface-2);border-radius:15px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:8px;display:flex;position:relative;box-shadow:0 2px 10px #0000000d}.minicrossword-inline-report-link-wrap{flex-shrink:0;justify-content:center;margin-top:8px;display:flex}.minicrossword-inline-report-link{font-size:.82rem}@media (min-width:769px){.puzzle-page:not(.touch-device) .minicrossword-inline-report-link-wrap{margin:0;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}}.crossword-grid{background-color:var(--primary-color);aspect-ratio:1;border-radius:6px;grid-template-columns:repeat(5,1fr);gap:2px;width:min(100%,450px);margin:auto;padding:2px;display:grid;overflow:hidden}.cell{aspect-ratio:1;background-color:var(--surface-2);cursor:pointer;color:var(--text-color);touch-action:manipulation;border-radius:3px;justify-content:center;align-items:center;font-size:clamp(1rem,5vw,1.5rem);font-weight:600;transition:all .2s;display:flex;position:relative}.cell.black{background-color:var(--primary-color);cursor:default}.cell.selected{z-index:1;background-color:#ffd071;outline:2px solid #3a3a3a}.cell.highlighted{background-color:#a3d5ff}.cell.locked{pointer-events:none}.cell-number{color:var(--text-color);font-size:clamp(.45rem,2vw,.6rem);font-weight:600;position:absolute;top:2px;left:3px}.cell-letter{color:var(--text-color);text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:clamp(1rem,5vw,1.5rem);font-weight:600}.clues-container{display:none}.mobile-keyboard{background-color:var(--surface-2);flex-shrink:0;display:none;box-shadow:0 -2px 10px #0000001a}.mobile-clue-display{background-color:var(--card-background);border-bottom:1px solid var(--border-color);cursor:pointer;flex-direction:column;justify-content:center;min-height:48px;padding:8px 12px;display:flex}.mobile-clue-direction{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:.65rem;font-weight:700}.mobile-clue-text{color:var(--text-color);font-size:.8rem;font-weight:500;line-height:1.2}.keyboard-keys{padding:clamp(6px,1.5vw,8px)}.keyboard-row{justify-content:center;gap:clamp(3px,1vw,4px);margin-bottom:clamp(4px,1.2vw,6px);display:flex}.keyboard-row:last-child{margin-bottom:0}.key{background-color:var(--card-background);border:1px solid var(--border-color);min-width:clamp(28px,8vw,30px);height:clamp(44px,12vw,48px);color:var(--text-color);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:clamp(4px,1vw,5px);flex:1;justify-content:center;align-items:center;max-width:clamp(38px,11vw,42px);font-size:clamp(1rem,3vw,1.1rem);font-weight:600;transition:all .15s;display:flex}.key:active{background-color:var(--primary-color);color:var(--button-text);transform:scale(.95)}.key.pressed{background-color:var(--primary-color);color:var(--button-text);transition:none}.key.backspace{max-width:62px;font-size:1.3rem}.key.disabled{opacity:.3;pointer-events:none}.puzzle-page .loading-spinner{justify-content:center;align-items:center;width:100%;height:100%;min-height:300px;display:flex}.puzzle-page .loading-spinner.hidden{display:none}.puzzle-page .spinner{border:5px solid var(--border-color);border-top-color:var(--text-color);border-radius:50%;width:50px;height:50px;animation:1s linear infinite crossword-spin}@keyframes crossword-spin{to{transform:rotate(360deg)}}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}.modal-content{background-color:var(--surface-2);text-align:center;border-radius:20px;max-width:400px;margin:0 20px;padding:35px;position:relative;box-shadow:0 5px 30px #0000004d}.modal-close{background-color:var(--surface-3);cursor:pointer;width:30px;height:30px;color:var(--text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .3s;display:flex;position:absolute;top:15px;right:15px}.modal-close:hover{background-color:var(--surface-4);color:var(--text-color)}.modal-content h2{color:var(--text-color);margin-bottom:15px;font-size:1.8rem}.stats-grid{grid-template-columns:1fr 1fr;gap:20px;margin:25px 0;display:grid}.stat-value{color:var(--text-color);font-size:1.8rem;font-weight:700}.stat-label{color:var(--text-muted);margin-top:5px;font-size:.85rem}.modal-buttons{flex-direction:column;gap:10px;display:flex}.modal-buttons button{cursor:pointer;border:2px solid #3a3a3a;border-radius:50px;width:100%;padding:12px;font-size:.95rem;font-weight:600}.landscape-overlay{z-index:10000;background-color:#000000f2;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:20px;display:none;position:fixed;inset:0}.landscape-overlay.active{display:flex}.landscape-icon{color:#fff;font-size:80px;animation:2s ease-in-out infinite rotatePhone}@keyframes rotatePhone{0%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}.landscape-message{color:#fff;text-align:center;max-width:300px;font-size:1.5rem;font-weight:600}@media (min-width:769px){.puzzle-page{padding:20px}.controls{gap:15px;padding:0 40px 20px}.control-btn{padding:0 20px;font-size:.9rem}.timer{padding:0 18px}.timer-text{min-width:55px;font-size:1rem}.game-area{grid-template-columns:1fr 1fr;gap:30px;padding:0 40px;display:grid;overflow-y:auto}.grid-container{padding:30px}.crossword-grid{gap:3px;max-width:650px;padding:3px}.cell{font-size:2rem}.cell-letter{font-size:1.8rem}.cell-number{font-size:.7rem;top:3px;left:5px}.clues-container{background-color:var(--surface-2);border-radius:20px;padding:30px;overflow-y:auto;box-shadow:0 2px 10px #0000000d;display:block!important}.clues-section{margin-bottom:30px}.clues-title{color:var(--text-color);margin-bottom:15px;font-size:1.3rem;font-weight:600}.clue-item{cursor:pointer;border-radius:10px;margin-bottom:8px;padding:12px 15px;transition:background-color .2s}.clue-item:hover{background-color:var(--card-background)}.clue-item.active{background-color:#ffd071}.clue-number{color:var(--text-color);margin-right:8px;font-weight:700}.clue-text{color:var(--text-muted)}.mobile-keyboard,.landscape-overlay{display:none!important}}@media (max-width:768px){.puzzle-page.touch-device .mobile-keyboard{display:block}.clues-container{display:none!important}}.puzzle-page.error-page{justify-content:center;align-items:center;padding:20px}.error-content{text-align:center;flex-direction:column;align-items:center;max-width:400px;display:flex}.puzzle-page .error-icon{color:#d32f2f;margin-bottom:20px}.error-title{color:var(--text-color);margin-bottom:10px;font-size:1.5rem;font-weight:600}.puzzle-page .error-message{color:var(--text-muted);margin-bottom:30px;font-size:1rem;line-height:1.5}.error-back-btn{background-color:var(--primary-color);color:var(--button-text);cursor:pointer;border:none;border-radius:50px;padding:14px 40px;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .3s}.error-back-btn:hover{background-color:var(--primary-hover)}.error-back-btn.primary{background-color:#4a7c59}.error-back-btn.primary:hover{background-color:#3d6749}.error-buttons{flex-direction:column;gap:12px;width:100%;display:flex}.error-submessage{color:#888;margin-bottom:25px;font-size:.9rem;line-height:1.4}.error-icon.premium-icon{color:#f0a500}