connect_events();
 </script>
 <style>
-html { scroll-padding-top: 5em; } /* so anchor jumps pad off sticky header */
 body { background-color: {{background_color}}; }
 table { width: 100%; }
 td, th { vertical-align: top; text-align: left; margin: 0; padding: 0; }
 <button id="btn_play" class="btn_if_can_play" onclick="player_command('play')">play</button>
 · <span id="player_state" /></span> <a id="a_playing"></a> <span id="playing_tags"></span>
 <hr />
-</div>
 {% block body %}
 {% endblock %}
 </body>
 
 
 
 {% block body %}
+</div>
+
 <table>
 
 <tr>
 
 needed tags: <select id="tags_select" onchange="select_tag()"></select><br />
 <span id="tags"></span>
 <hr />
+</div>
 <p>
 known files (shown: <span id="files_count">?</span>):
 <button onclick="inject_all();">inject all</button>
 
 
 
 {% block css %}
+html { scroll-padding-top: 7.5em; } /* so anchor jumps pad off sticky header */
 td.entry_control { width: 6em; }
 {% endblock %}
 
 <button onclick="player_command('rebuild')">rebuild</button>
 <button onclick="player_command('empty')">empty</button>
 <hr />
+</div>
 <table id="playlist_rows">
 </table>
 {% endblock %}
 
 
 
 {% block body %}
+</div>
+
 <table id="sortable_table">
 <tr>
 <th><button class="sorter" onclick="sort_by(this, 'name'); ">name</button></th>
 
 <form action="/{{page_names.yt_queries}}" method="POST" />
 <input name="query" />
 </form>
+</div>
+
 <table>
 <tr>
 <th>retrieved at</th>
 
 
 {% block body %}
 <p>query: {{query}}</p>
+<hr />
+</div>
 <table>
 {% for video in videos %}
 <tr>