@import url("https://fonts.googleapis.com/css2?family=Special+Elite&display=swap");:root{--square-size:50px;--square-font-size:24px;--square-number-size:12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Courier New,Courier,monospace;font-size:10pt;font-weight:700;background-color:#f6f6ef}a,body{color:#000}a{text-decoration:none}a:hover{text-decoration:underline}button,input[type=submit]{font-family:Courier New,Courier,monospace;font-size:10pt;font-weight:700;padding:4px 8px;border:1px solid #828282;background-color:#fff;color:#000;cursor:pointer}button:hover,input[type=submit]:hover{background-color:#f6f6ef;color:#000}input[type=email],input[type=password],input[type=text],textarea{font-family:Courier New,Courier,monospace;font-size:10pt;font-weight:700;padding:4px;border:1px solid #828282;background-color:#fff}input:focus,textarea:focus{outline:1px solid #4a90e2}.container{max-width:1200px;margin:0 auto;padding:8px}.header{background-color:#4a90e2;padding:4px;margin-bottom:10px}.header-content{display:flex;align-items:center;gap:10px}.logo{font-weight:700;font-size:12pt}.logo,.nav-link{color:#fff;font-family:Special Elite,Courier New,Courier,monospace}.nav-link{font-size:10pt}.form-group{margin-bottom:10px}.form-label{display:block;margin-bottom:4px;font-weight:700}.error-message{color:red;font-size:9pt;margin-top:4px}.success-message{color:green;font-size:9pt;margin-top:4px}.crossword-square{width:50px;height:50px;border:1px solid #000;display:flex;align-items:center;justify-content:center;font-family:Courier New,Courier,monospace;font-size:18pt;font-weight:700;text-transform:uppercase;background-color:#fff;position:relative}.crossword-square.black{background-color:#000}.crossword-square.focused{background-color:#ff9}.crossword-square.highlighted{background-color:#ffc}.crossword-number{position:absolute;top:2px;left:2px;font-size:8pt;font-weight:400}.hints-container{font-size:10pt;font-weight:700}.hint-section{margin-bottom:15px}.hint-title{font-weight:700;margin-bottom:5px}.hint-item{margin-bottom:3px;padding-left:10px}.main-title{font-family:Special Elite,Courier New,Courier,monospace;font-size:48pt;font-weight:700;margin-bottom:10px;color:#000}.shakespeare-section{gap:10px;max-width:700px;margin:40px auto 20px}.quote-box,.shakespeare-section{display:flex;align-items:center;justify-content:center}.quote-box{flex:1 1;min-width:250px;padding:15px;text-align:left;background-color:#e8e8dc;border-radius:4px}.shakespeare-quote{font-style:italic;font-size:10pt;line-height:1.5;color:#333;margin:0}.shakespeare-image{flex-shrink:0;margin-left:10px}.shakespeare-image img{border-radius:4px;display:block}.puzzle-solve-container{margin-top:40px}.puzzle-title{font-size:14pt;margin-bottom:5px}.puzzle-author{font-size:9pt;color:#828282;margin-bottom:20px}.puzzle-content{display:flex;gap:40px;align-items:flex-start}.board-wrapper{flex-shrink:0}.submit-button-container{margin-top:20px}.submit-button{font-family:Courier New,Courier,monospace;font-size:10pt;font-weight:700;padding:8px 16px;border:1px solid #828282;background-color:#fff;cursor:pointer}.submit-button:hover{background-color:#f6f6ef}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:999}.popup-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;padding:20px;border:2px solid #828282;z-index:1000;max-width:90%;width:300px}.popup-message{margin-bottom:15px;text-align:center}.popup-button{width:100%;padding:8px}@media (max-width:768px){:root{--square-size:40px;--square-font-size:20px;--square-number-size:10px}.crossword-square-cell{transition:background-color .1s ease}.shakespeare-section{flex-direction:column;gap:15px}.shakespeare-image{margin-left:0}.quote-box{min-width:auto;width:100%}.puzzle-solve-container{margin-top:20px}.puzzle-content{flex-direction:column;gap:20px}.board-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:10px}.crossword-board{margin:0 auto}.hints-container{width:100%;max-width:100%}.hint-section{margin-bottom:20px}.hint-item{font-size:9pt;line-height:1.4;word-wrap:break-word}.submit-button-container{margin-top:15px;margin-bottom:20px}.submit-button{width:100%;padding:12px;font-size:11pt}.popup-modal{width:85%;padding:15px}}@media (max-width:480px){:root{--square-size:35px;--square-font-size:18px;--square-number-size:9px}.container{padding:4px}.puzzle-title{font-size:12pt}.hint-item,.puzzle-author{font-size:8pt}.hint-item{padding-left:5px}.hint-title{font-size:10pt}.board-wrapper{padding-bottom:5px}}@media (max-width:360px){:root{--square-size:30px;--square-font-size:16px;--square-number-size:8px}.puzzle-title{font-size:11pt}.hint-item{font-size:7pt}}