diff --git a/web/src/app.css b/web/src/app.css
index 4b0182e..4d4c1ab 100644
--- a/web/src/app.css
+++ b/web/src/app.css
@@ -33,8 +33,8 @@ body {
gap: 0;
}
-/* Decorative cross-hatch divider between mini-cards on the player sheet,
- echoing the ✚✚✚ blue borders on a Tân Tân BAMBOORAFT card. */
+/* Decorative cross-hatch borders that frame and segment the player
+ sheet, echoing the ✚✚✚ blue borders on a Tân Tân BAMBOORAFT card. */
.section-divider {
height: 8px;
background-image: repeating-linear-gradient(
@@ -45,8 +45,19 @@ body {
);
background-color: rgb(227 242 253 / 0.7);
}
+.section-divider-vertical {
+ width: 8px;
+ background-image: repeating-linear-gradient(
+ 0deg,
+ transparent 0 6px,
+ #1e88e5 6px 8px,
+ transparent 8px 14px
+ );
+ background-color: rgb(227 242 253 / 0.7);
+}
@media (prefers-color-scheme: dark) {
- .section-divider {
+ .section-divider,
+ .section-divider-vertical {
background-color: rgb(13 71 161 / 0.4);
}
}
diff --git a/web/src/lib/PlayerBoard.svelte b/web/src/lib/PlayerBoard.svelte
index 93b235d..c03f8ad 100644
--- a/web/src/lib/PlayerBoard.svelte
+++ b/web/src/lib/PlayerBoard.svelte
@@ -162,50 +162,61 @@
- {#each SECTIONS as startRow, sectionIdx (sectionIdx)}
- {#if sectionIdx > 0}
-
- {/if}
-
{SECTION_LABELS[sectionIdx]}
-
- {#each grid.slice(startRow, startRow + 3).flat() as num, idx (idx)}
- {@const row = startRow + Math.floor(idx / 9)}
- {@const col = idx % 9}
- {@const hasNumber = num > 0}
- {@const isCrossed = hasNumber && !!crossed[row]?.[col]}
- {@const rowComplete = hasNumber && rowCompleteness[row]}
-
- {#if !hasNumber}
-
- {:else}
-
+
+
+
+
+
+
+ {#each SECTIONS as startRow, sectionIdx (sectionIdx)}
+ {#if sectionIdx > 0}
+
{/if}
+
{SECTION_LABELS[sectionIdx]}
+
+ {#each grid.slice(startRow, startRow + 3).flat() as num, idx (idx)}
+ {@const row = startRow + Math.floor(idx / 9)}
+ {@const col = idx % 9}
+ {@const hasNumber = num > 0}
+ {@const isCrossed = hasNumber && !!crossed[row]?.[col]}
+ {@const rowComplete = hasNumber && rowCompleteness[row]}
+
+ {#if !hasNumber}
+
+ {:else}
+
+ {/if}
+ {/each}
+
{/each}
- {/each}
+
+
+
+
+
{#if toast}