/* The crossword is the main visual focus, directly over the scenery. */
:root{--word-accent:#087ba9;--word-accent-dark:#07516c}
.game{background:transparent;border:0;box-shadow:none;padding:8px 0 16px}
.scene-shade{background:linear-gradient(180deg,#071f3b66,transparent 32%,#071f3226 62%,#071f3266)}
.levelhead{text-shadow:0 2px 7px #092a3b;position:relative}
.levelhead h2{font-family:'DM Sans',sans-serif;font-size:21px;font-weight:600;margin:5px 0 8px}
.levelhead .eyebrow{color:#fff}.levelhead small{color:#fff}
.board{gap:4px;min-height:200px;margin:18px auto;filter:drop-shadow(0 3px 5px #132f3340)}
.cell{font-size:var(--cell-font,34px);font-weight:700;border-radius:7px;background:#ffffffc9;border:1px solid #ffffffe0;box-shadow:0 3px 0 #23394860;color:#163f50}
.cell.found{background:var(--word-accent);color:#fff;border-color:#ffffff70;box-shadow:0 3px 0 var(--word-accent-dark)}
.cell.hinted{background:#ffefb9;color:#163f50;box-shadow:0 0 0 2px #fff7a2,0 0 14px #ffee7590}
.wordline{display:flex;align-items:center;justify-content:center;min-height:46px;height:auto;max-width:100%;width:fit-content;min-width:180px;margin:10px auto 12px;padding:8px 16px;color:#fff;font-size:13px;font-weight:600;text-shadow:0 2px 5px #082333;background:#153a455c;border-radius:28px}
.wordline.selected{font-size:32px;line-height:1.1;letter-spacing:3px;padding:7px 20px;background:var(--word-accent);color:#fff;border:2px solid #fffad1;box-shadow:0 0 0 2px #ffe578,0 0 18px #fff19ab8;text-shadow:none}
.wheel{background:#ffffffe0;box-shadow:0 4px 18px #163e3650;width:270px;height:270px}
.letter{font-size:48px;width:66px;height:66px;color:#142b32;font-weight:700}
.letter.active{background:var(--word-accent);color:#fff;box-shadow:0 2px 5px #06456166}
.wheel polyline{stroke:var(--word-accent);stroke-width:10}
.shuffle{color:#486873}
.entry button{text-shadow:0 2px 4px #102d36;font-size:13px;color:#fff}
.actions{justify-content:center}.actions button{max-width:170px;background:#153a4578;border:1px solid #ffffffbd;color:white}
.game-foot{display:none}.coins,.textbutton{background:#10394778;border-radius:22px;color:#fff}.coins{font-size:14px}
@media(min-width:721px){main{grid-template-columns:1fr 440px .6fr}.game{padding:12px 14px}.levelhead{margin:12px 0}}
@media(min-width:721px) and (max-width:1100px){main{grid-template-columns:1fr 420px;padding:10px 24px 24px}}
@media(max-width:720px){
 header{padding:8px 12px}.brand{font-size:21px}.brandmark{font-size:27px}.scene-button{min-height:40px}
 main{padding:0 12px 10px;max-width:460px}.game{padding:0 0 8px}.game-top{padding:0 4px}
 .levelhead{margin:8px 0 6px}.levelhead h2{font-size:19px;margin:3px 0 6px}.levelhead small{font-size:11px}.progress{display:none}
 .board{margin:14px auto;min-height:180px}.wheel{width:min(270px,calc(100vw - 76px));height:auto;aspect-ratio:1}
 .letter{font-size:48px;width:66px;height:66px}.entry{margin:0 0 5px}.entry button{min-height:38px}
 .actions button{min-height:44px;padding:8px}.game-foot{display:none}.photo-credit{margin:0 0 8px}
}
@media(max-height:760px) and (max-width:720px){.wheel{width:min(248px,calc(100vw - 76px))}.letter{font-size:44px;width:60px;height:60px}.board{margin:10px auto}.wordline{margin:6px auto 10px}}
@media(max-width:360px){.letter{font-size:42px;width:60px;height:60px}.brand{font-size:19px}.header-actions{gap:6px}.scene-button{padding:8px}.wordline.selected{font-size:28px}}
.actions .action-label{font-size:12px;color:white;margin:0 5px}
@media(max-width:720px){
 .levelhead{display:flex;justify-content:space-between;align-items:center;margin:8px 4px 4px;min-height:24px}
 .levelhead h2{display:none}.levelhead .eyebrow{font-size:10px;letter-spacing:1.2px}.levelhead small{font-size:10px}
 .board{margin:10px auto}.wordline{margin:8px auto 10px}
 .interaction-zone{position:relative;padding-bottom:0}.wheel{width:min(244px,calc(100vw - 112px))}
 .letter{font-size:44px;width:60px;height:60px}
 .actions{position:absolute;top:84px;left:0;right:0;justify-content:space-between;pointer-events:none}
 .actions button{pointer-events:auto;flex:none;width:52px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:28px;padding:4px;background:#183a4b99}
 .actions button>span:first-child{font-size:24px;line-height:26px;margin:0;color:white}
 .actions .action-label{font-size:10px;line-height:12px;margin:0}.actions b,.actions small{font-size:10px;line-height:12px;margin:0;color:white}
 .entry button{background:#10394766;padding:6px 12px;min-height:32px}.entry{margin:6px 0 0;gap:16px}
}
@media(max-width:360px){.wheel{width:224px}.letter{font-size:40px;width:54px;height:54px}.actions button{width:42px;height:70px}.actions{top:76px}}
