613
613
background: var(--blood-hover);
614
614
}
615
615
616
-
Removed:
/* The logbook is one real table at every width. The columns are date, workout
617
-
Removed:
name, duration, and the row menu. They are few and narrow enough to share a
618
-
Removed:
single table layout, so there is no mobile card reflow. The name column
619
-
Removed:
absorbs the spare width and truncates when space is tight. */
620
-
Removed:
.logbook-table {
621
-
Removed:
width: 100%;
616
+
Added:
/* The logbook is an accordion: one collapsible entry per workout under the
617
+
Added:
month calendar. A summary shows the monospace date and the workout title; the
618
+
Added:
open panel lists the exercises performed and, for a native workout, the Edit
619
+
Added:
and Delete actions. */
620
+
Added:
.logbook-entries {
621
+
Added:
display: grid;
622
+
Added:
gap: 0.4rem;
622
623
margin-top: 1.5rem;
623
-
Removed:
border-collapse: collapse;
624
-
Removed:
table-layout: fixed;
625
624
}
626
-
Removed:
.logbook-table th,
627
-
Removed:
.logbook-table td {
628
-
Removed:
padding: 0.55rem 0.6rem;
625
+
Added:
.logbook-entry {
629
626
border-bottom: 1px solid var(--rule);
630
-
Removed:
text-align: left;
631
-
Removed:
vertical-align: baseline;
632
627
}
633
-
Removed:
.logbook-table th {
628
+
Added:
.logbook-entry-summary {
629
+
Added:
display: flex;
630
+
Added:
align-items: baseline;
631
+
Added:
gap: 0.75rem;
632
+
Added:
padding: 0.6rem 0.2rem;
633
+
Added:
cursor: pointer;
634
+
Added:
list-style: none;
635
+
Added:
}
636
+
Added:
.logbook-entry-summary::-webkit-details-marker {
637
+
Added:
display: none;
638
+
Added:
}
639
+
Added:
/* A rotating caret marks the open state, drawn before the date. */
640
+
Added:
.logbook-entry-summary::before {
641
+
Added:
content: "›";
642
+
Added:
flex: 0 0 auto;
634
643
color: var(--muted-ink);
635
-
Removed:
font: 700 var(--font-size-small)/1 var(--sans);
636
-
Removed:
letter-spacing: 0.04em;
637
-
Removed:
text-transform: uppercase;
644
+
Added:
font-size: 1.1rem;
645
+
Added:
line-height: 1;
646
+
Added:
transition: transform 220ms ease;
638
647
}
639
-
Removed:
/* The treatment for each column: a monospaced date, a sans workout name that
640
-
Removed:
absorbs the spare width and truncates, a monospaced duration, and the
641
-
Removed:
three-dot menu. */
642
-
Removed:
.logbook-table td:nth-child(1) {
648
+
Added:
.logbook-entry[open] > .logbook-entry-summary::before {
649
+
Added:
transform: rotate(90deg);
650
+
Added:
}
651
+
Added:
/* Unfold and collapse, matching the workout-logging slot accordion.
652
+
Added:
::details-content is the box the browser toggles for a <details>. Drive a
653
+
Added:
grid row from 0fr to 1fr off the [open] attribute so both opening and closing
654
+
Added:
ease. [visibility] keeps a closed panel out of the tab order and the
655
+
Added:
accessibility tree. Browsers without ::details-content, and reduced-motion
656
+
Added:
users, simply snap. */
657
+
Added:
.logbook-entry::details-content {
658
+
Added:
content-visibility: visible;
659
+
Added:
display: grid;
660
+
Added:
grid-template-rows: 0fr;
661
+
Added:
visibility: hidden;
662
+
Added:
transition:
663
+
Added:
grid-template-rows 220ms ease,
664
+
Added:
visibility 220ms;
665
+
Added:
}
666
+
Added:
.logbook-entry[open]::details-content {
667
+
Added:
grid-template-rows: 1fr;
668
+
Added:
visibility: visible;
669
+
Added:
}
670
+
Added:
.logbook-entry-date {
671
+
Added:
flex: 0 0 auto;
643
672
font-family: var(--mono);
673
+
Added:
color: var(--muted-ink);
644
674
white-space: nowrap;
645
675
}
646
-
Removed:
.logbook-table td:nth-child(2) {
647
-
Removed:
width: 100%;
648
-
Removed:
max-width: 0;
676
+
Added:
.logbook-entry-title {
677
+
Added:
flex: 1 1 auto;
649
678
font-family: var(--sans);
679
+
Added:
font-weight: 700;
650
680
overflow: hidden;
651
681
text-overflow: ellipsis;
652
682
white-space: nowrap;
653
683
}
654
-
Removed:
.logbook-table td:nth-child(3) {
655
-
Removed:
font-family: var(--mono);
656
-
Removed:
color: var(--muted-ink);
657
-
Removed:
white-space: nowrap;
684
+
Added:
.logbook-entry-panel {
685
+
Added:
min-height: 0;
686
+
Added:
overflow: clip;
687
+
Added:
padding: 0.25rem 0.2rem 1rem 1.6rem;
658
688
}
659
-
Removed:
660
-
Removed:
@media (max-width: 30rem) {
661
-
Removed:
.logbook-table th,
662
-
Removed:
.logbook-table td {
663
-
Removed:
padding-inline: 0.25rem;
664
-
Removed:
}
665
-
Removed:
666
-
Removed:
.logbook-actions-heading,
667
-
Removed:
.logbook-actions {
668
-
Removed:
width: 2.5rem;
669
-
Removed:
}
670
-
Removed:
671
-
Removed:
.logbook-row-menu > summary {
672
-
Removed:
width: 2.5rem;
673
-
Removed:
}
689
+
Added:
/* The Edit and Delete affordances sit inside the open panel, after the exercise
690
+
Added:
list. Delete is an outline danger button; Edit a secondary. */
691
+
Added:
.logbook-entry-actions {
692
+
Added:
display: flex;
693
+
Added:
gap: 0.75rem;
694
+
Added:
margin-top: 1rem;
674
695
}
675
-
Removed:
.logbook-duration {
676
-
Removed:
white-space: nowrap;
677
-
Removed:
font-family: var(--mono);
678
-
Removed:
}
679
696
.logbook-no-progress { color: var(--muted-ink); }
680
-
Removed:
681
-
Removed:
/* One native <details> action menu per row. The dots keep the ledger compact.
682
-
Removed:
The drawer holds the destructive actions outside the evidence fields. */
683
-
Removed:
.logbook-actions-heading,
684
-
Removed:
.logbook-actions {
685
-
Removed:
width: 2.75rem;
686
-
Removed:
text-align: right;
697
+
Added:
@media (prefers-reduced-motion: reduce) {
698
+
Added:
.logbook-entry::details-content { transition: none; }
687
699
}
688
-
Removed:
.logbook-row-menu {
689
-
Removed:
position: relative;
690
-
Removed:
display: inline-block;
691
-
Removed:
}
692
-
Removed:
.logbook-row-menu > summary {
693
-
Removed:
display: grid;
694
-
Removed:
place-items: center;
695
-
Removed:
width: 2.75rem;
696
-
Removed:
height: 2.75rem;
697
-
Removed:
border-radius: 50%;
698
-
Removed:
color: var(--ink);
699
-
Removed:
cursor: pointer;
700
-
Removed:
list-style: none;
701
-
Removed:
font-size: 1.35rem;
702
-
Removed:
line-height: 1;
703
-
Removed:
}
704
-
Removed:
.logbook-row-menu > summary:hover,
705
-
Removed:
.logbook-row-menu[open] > summary { background: var(--brass-wash); }
706
-
Removed:
.logbook-row-menu-drawer {
707
-
Removed:
position: absolute;
708
-
Removed:
right: 0;
709
-
Removed:
z-index: 5;
710
-
Removed:
display: flex;
711
-
Removed:
flex-direction: column;
712
-
Removed:
min-width: 8rem;
713
-
Removed:
padding: 0.3rem;
714
-
Removed:
border: 1px solid var(--rule-strong);
715
-
Removed:
border-radius: var(--radius);
716
-
Removed:
background: var(--paper-raised);
717
-
Removed:
box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.18);
718
-
Removed:
}
719
-
Removed:
.logbook-row-menu[open] > .logbook-row-menu-drawer {
720
-
Removed:
animation: profile-menu-open 150ms ease both;
721
-
Removed:
}
722
-
Removed:
.logbook-row-menu-drawer a {
723
-
Removed:
min-height: 2.5rem;
724
-
Removed:
padding: 0.5rem 0.7rem;
725
-
Removed:
border-radius: var(--radius);
726
-
Removed:
color: var(--ink);
727
-
Removed:
font: inherit;
728
-
Removed:
font-weight: 700;
729
-
Removed:
text-decoration: none;
730
-
Removed:
}
731
-
Removed:
.logbook-row-menu-drawer a:hover { background: var(--hover-surface); }
732
-
Removed:
.logbook-row-menu-drawer a.danger { color: var(--blood-dark); }
733
-
Removed:
.logbook-row-menu-drawer a.danger:hover {
734
-
Removed:
color: var(--on-primary);
735
-
Removed:
background: var(--blood);
736
-
Removed:
}
737
700
738
-
Removed:
/* The imported workout's menu drawer holds an exercise and progress list
739
-
Removed:
instead of action links. The drawer is therefore wider, and a reader reads
740
-
Removed:
its items instead of clicking them. */
741
-
Removed:
.logbook-import-drawer {
742
-
Removed:
min-width: 15rem;
743
-
Removed:
max-width: min(22rem, 80vw);
744
-
Removed:
padding: 0.6rem 0.8rem;
745
-
Removed:
text-align: left;
746
-
Removed:
}
747
-
Removed:
748
-
Removed:
/* A blood outline "Imported" pill marks an import. The pill sits at the
749
-
Removed:
top of the three-dot menu drawer, not beside the title. */
750
-
Removed:
.logbook-import-pill-row {
751
-
Removed:
margin: 0 0 0.5rem;
752
-
Removed:
}
701
+
Added:
/* A blood outline "Imported" pill marks an import, shown in the entry summary
702
+
Added:
beside the title. */
753
703
.logbook-import-pill {
754
704
display: inline-block;
755
705
padding: 0.05rem 0.5rem;