@bendyline/docblocks-react 2.7.2 → 2.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2341,21 +2341,6 @@ html:has(.db-shell--mobile) .squisq-toolbar-overflow-menu {
2341
2341
  gap: 6px 16px;
2342
2342
  }
2343
2343
 
2344
- .db-about-beta {
2345
- margin-bottom: 10px;
2346
- padding: 10px 12px;
2347
- border: 1px solid var(--db-accent);
2348
- border-radius: 6px;
2349
- background: var(--db-accent-soft-08);
2350
- color: var(--db-text-secondary);
2351
- font-size: 12px;
2352
- line-height: 1.5;
2353
- }
2354
-
2355
- .db-about-beta strong {
2356
- color: var(--db-accent-deep);
2357
- }
2358
-
2359
2344
  .db-about-version {
2360
2345
  display: flex;
2361
2346
  align-items: center;
@@ -5640,62 +5625,149 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
5640
5625
  already autosaved on every keystroke; this just confirms it
5641
5626
  so muscle-memory savers feel at ease. */
5642
5627
 
5643
- /* ── Welcome gateway ─────────────────────────────────────────── */
5644
- /* One-time first-run callout floated over the welcome doc's Play
5645
- view. Names the mode the user landed in and offers a one-click
5646
- path into the editor. Dismissed forever via localStorage. */
5628
+ /* ── Welcome screen ─────────────────────────────────────────── */
5629
+ /* First visit on a two-pane layout: covers the editor area -- the welcome
5630
+ document mounts, inert, beneath it -- with what DocBlocks is and two
5631
+ choices. Dismissed for good via localStorage. Phones keep their card in
5632
+ the file pane (`.db-mobile-first-run`). The class names predate this
5633
+ screen; they were a toast over a slideshow. */
5634
+
5635
+ .db-shell-editor-content {
5636
+ display: contents;
5637
+ }
5647
5638
 
5648
5639
  .db-welcome-gateway {
5649
5640
  position: absolute;
5650
- bottom: 56px;
5651
- left: 50%;
5652
- transform: translateX(-50%);
5641
+ inset: 0;
5653
5642
  z-index: 60;
5654
5643
  display: flex;
5655
5644
  align-items: center;
5656
- gap: 12px;
5657
- max-width: min(640px, calc(100% - 32px));
5658
- padding: 10px 10px 10px 16px;
5659
- background: var(--db-bg-raised);
5660
- border: 1px solid var(--db-border-strong);
5661
- border-radius: 10px;
5662
- box-shadow: 0 10px 32px var(--db-shadow);
5645
+ justify-content: center;
5646
+ overflow-y: auto;
5647
+ padding: calc(var(--db-safe-top) + 40px) 40px 40px;
5648
+ background:
5649
+ radial-gradient(circle at 88% 8%, var(--db-accent-soft-12), transparent 42%), var(--db-bg);
5663
5650
  color: var(--db-text);
5664
- font-size: 13px;
5665
- line-height: 1.45;
5666
- animation: db-welcome-gateway-in 0.4s ease-out;
5651
+ container-type: inline-size;
5667
5652
  }
5668
5653
 
5669
- .db-welcome-gateway-cta {
5670
- flex-shrink: 0;
5671
- padding: 6px 14px;
5672
- font-size: 13px;
5654
+ .db-welcome-gateway-body {
5655
+ display: grid;
5656
+ width: min(1040px, 100%);
5657
+ margin: auto 0;
5658
+ gap: 36px;
5659
+ align-items: center;
5660
+ }
5661
+
5662
+ @container (min-width: 980px) {
5663
+ .db-welcome-gateway-body {
5664
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
5665
+ gap: 56px;
5666
+ }
5667
+ }
5668
+
5669
+ .db-welcome-gateway-eyebrow {
5670
+ margin: 0 0 12px;
5671
+ color: var(--db-accent);
5672
+ font-size: 12px;
5673
+ font-weight: 700;
5674
+ letter-spacing: 0.1em;
5675
+ text-transform: uppercase;
5676
+ }
5677
+
5678
+ .db-welcome-gateway h1 {
5679
+ margin: 0;
5680
+ color: var(--db-text);
5681
+ font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
5682
+ font-size: clamp(30px, 4.4cqi, 46px);
5683
+ font-weight: 700;
5684
+ line-height: 1.1;
5685
+ letter-spacing: -0.01em;
5686
+ }
5687
+
5688
+ .db-welcome-gateway-copy > p:not(.db-welcome-gateway-eyebrow) {
5689
+ max-width: 34em;
5690
+ margin: 16px 0 0;
5691
+ color: var(--db-text-secondary);
5692
+ font-size: 16px;
5693
+ line-height: 1.6;
5694
+ }
5695
+
5696
+ .db-welcome-gateway-copy > .db-welcome-gateway-note {
5697
+ margin-top: 8px;
5698
+ color: var(--db-text-muted);
5699
+ font-size: 14px;
5700
+ }
5701
+
5702
+ .db-welcome-gateway-actions {
5703
+ display: flex;
5704
+ flex-wrap: wrap;
5705
+ gap: 10px;
5706
+ margin-top: 28px;
5707
+ }
5708
+
5709
+ .db-welcome-gateway-actions button,
5710
+ .db-welcome-gateway-actions a {
5711
+ min-height: 44px;
5712
+ padding: 10px 20px;
5713
+ border: 1px solid var(--db-border-strong);
5714
+ border-radius: 8px;
5715
+ background: var(--db-bg);
5716
+ color: var(--db-text);
5717
+ font: inherit;
5718
+ font-size: 15px;
5673
5719
  font-weight: 600;
5720
+ cursor: pointer;
5721
+ }
5722
+
5723
+ /* The apps link wears the button treatment; this centers its label the way a
5724
+ button's is and drops the underline. */
5725
+ .db-welcome-gateway-actions a {
5726
+ box-sizing: border-box;
5727
+ display: inline-flex;
5728
+ align-items: center;
5729
+ text-decoration: none;
5730
+ }
5731
+
5732
+ .db-welcome-gateway-actions button:hover,
5733
+ .db-welcome-gateway-actions a:hover {
5734
+ border-color: var(--db-accent);
5735
+ background: var(--db-bg-hover);
5736
+ }
5737
+
5738
+ .db-welcome-gateway-actions .db-welcome-gateway-primary {
5739
+ border-color: var(--db-accent);
5674
5740
  background: var(--db-accent);
5675
5741
  color: var(--db-text-on-accent);
5676
- border: none;
5677
- border-radius: 6px;
5678
- cursor: pointer;
5679
- white-space: nowrap;
5680
5742
  }
5681
5743
 
5682
- .db-welcome-gateway-cta:hover {
5744
+ .db-welcome-gateway-actions .db-welcome-gateway-primary:hover {
5745
+ border-color: var(--db-accent-hover);
5683
5746
  background: var(--db-accent-hover);
5684
5747
  }
5685
5748
 
5749
+ .db-welcome-gateway-actions button:focus-visible,
5750
+ .db-welcome-gateway-actions a:focus-visible,
5751
+ .db-welcome-gateway-dismiss:focus-visible {
5752
+ outline: 2px solid var(--db-focus);
5753
+ outline-offset: 2px;
5754
+ }
5755
+
5686
5756
  .db-welcome-gateway-dismiss {
5687
- flex-shrink: 0;
5757
+ position: absolute;
5758
+ top: calc(var(--db-safe-top) + 12px);
5759
+ right: 12px;
5688
5760
  display: inline-flex;
5689
5761
  align-items: center;
5690
5762
  justify-content: center;
5691
- width: 26px;
5692
- height: 26px;
5693
- font-size: 16px;
5694
- line-height: 1;
5763
+ width: 32px;
5764
+ height: 32px;
5765
+ border: none;
5766
+ border-radius: 8px;
5695
5767
  background: transparent;
5696
5768
  color: var(--db-text-muted);
5697
- border: none;
5698
- border-radius: 6px;
5769
+ font-size: 20px;
5770
+ line-height: 1;
5699
5771
  cursor: pointer;
5700
5772
  }
5701
5773
 
@@ -5704,12 +5776,239 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
5704
5776
  color: var(--db-text);
5705
5777
  }
5706
5778
 
5707
- @keyframes db-welcome-gateway-in {
5708
- from {
5709
- transform: translate(-50%, 8px);
5779
+ /* One Markdown file becoming a PDF page, a slide and a video frame on a 9 s
5780
+ loop. The frames share one stage and take turns; each label lights with
5781
+ its frame. The page and slide colors are fixed: they depict output, which
5782
+ looks the same whatever theme the app is in. */
5783
+ .db-welcome-loop {
5784
+ display: grid;
5785
+ grid-template-columns: minmax(0, 0.95fr) auto minmax(0, 1.1fr);
5786
+ align-items: center;
5787
+ gap: 14px 16px;
5788
+ }
5789
+
5790
+ .db-welcome-loop-source {
5791
+ padding: 14px 16px;
5792
+ border: 1px solid var(--db-border-strong);
5793
+ border-radius: 10px;
5794
+ background: var(--db-bg-subtle);
5795
+ box-shadow: 0 10px 28px var(--db-shadow);
5796
+ }
5797
+
5798
+ .db-welcome-loop-file {
5799
+ display: block;
5800
+ margin-bottom: 10px;
5801
+ color: var(--db-text-muted);
5802
+ font: 600 11px/1 var(--db-meta-font);
5803
+ letter-spacing: 0.04em;
5804
+ }
5805
+
5806
+ .db-welcome-loop-source code {
5807
+ display: block;
5808
+ overflow: hidden;
5809
+ color: var(--db-text-secondary);
5810
+ font: 12px/1.65 var(--db-meta-font);
5811
+ white-space: pre-wrap;
5812
+ overflow-wrap: anywhere;
5813
+ }
5814
+
5815
+ .db-welcome-loop-mark {
5816
+ color: var(--db-accent);
5817
+ }
5818
+
5819
+ .db-welcome-loop-arrow {
5820
+ color: var(--db-accent);
5821
+ font-size: 24px;
5822
+ animation: db-welcome-loop-nudge 3s ease-in-out infinite;
5823
+ }
5824
+
5825
+ .db-welcome-loop-stage {
5826
+ position: relative;
5827
+ aspect-ratio: 4 / 3;
5828
+ }
5829
+
5830
+ .db-welcome-loop-frame {
5831
+ position: absolute;
5832
+ inset: 0;
5833
+ display: flex;
5834
+ flex-direction: column;
5835
+ gap: 6px;
5836
+ margin: auto;
5837
+ padding: 18px;
5838
+ overflow: hidden;
5839
+ border-radius: 8px;
5840
+ box-shadow: 0 14px 34px var(--db-shadow);
5841
+ font-family: 'PT Serif', Georgia, 'Times New Roman', serif;
5842
+ opacity: 0;
5843
+ animation: db-welcome-loop-frame 9s ease-in-out infinite both;
5844
+ }
5845
+
5846
+ .db-welcome-loop-frame strong {
5847
+ font-size: 17px;
5848
+ line-height: 1.2;
5849
+ }
5850
+
5851
+ .db-welcome-loop-frame span {
5852
+ font-size: 11.5px;
5853
+ line-height: 1.4;
5854
+ }
5855
+
5856
+ .db-welcome-loop-frame em {
5857
+ margin-top: 4px;
5858
+ font-size: 13px;
5859
+ font-style: normal;
5860
+ font-weight: 700;
5861
+ }
5862
+
5863
+ .db-welcome-loop-frame--page {
5864
+ width: 74%;
5865
+ border: 1px solid #e3dccb;
5866
+ background: #fffdf8;
5867
+ color: #2b241c;
5868
+ }
5869
+
5870
+ .db-welcome-loop-frame--slide,
5871
+ .db-welcome-loop-frame--video {
5872
+ height: 75%;
5873
+ justify-content: center;
5874
+ background: radial-gradient(circle at 30% 20%, #5a3322, #24170f 72%);
5875
+ color: #f6ecdc;
5876
+ }
5877
+
5878
+ .db-welcome-loop-frame--slide {
5879
+ align-items: center;
5880
+ text-align: center;
5881
+ animation-delay: 3s;
5882
+ }
5883
+
5884
+ .db-welcome-loop-frame--slide strong {
5885
+ font-size: 21px;
5886
+ }
5887
+
5888
+ .db-welcome-loop-frame--video {
5889
+ justify-content: flex-start;
5890
+ animation-delay: 6s;
5891
+ }
5892
+
5893
+ .db-welcome-loop-play {
5894
+ position: absolute;
5895
+ bottom: 11px;
5896
+ left: 14px;
5897
+ font-size: 10px;
5898
+ font-style: normal;
5899
+ }
5900
+
5901
+ .db-welcome-loop-progress {
5902
+ position: absolute;
5903
+ right: 14px;
5904
+ bottom: 15px;
5905
+ left: 32px;
5906
+ height: 3px;
5907
+ border-radius: 2px;
5908
+ background: rgba(246, 236, 220, 0.25);
5909
+ }
5910
+
5911
+ .db-welcome-loop-progress::after {
5912
+ position: absolute;
5913
+ inset: 0;
5914
+ width: 0;
5915
+ border-radius: inherit;
5916
+ background: #e7a36d;
5917
+ content: '';
5918
+ animation: db-welcome-loop-progress 9s linear infinite both;
5919
+ animation-delay: 6s;
5920
+ }
5921
+
5922
+ .db-welcome-loop-labels {
5923
+ display: flex;
5924
+ grid-column: 3;
5925
+ justify-content: center;
5926
+ gap: 20px;
5927
+ margin: 0;
5928
+ padding: 0;
5929
+ color: var(--db-text-muted);
5930
+ font: 600 11px/1 var(--db-meta-font);
5931
+ letter-spacing: 0.08em;
5932
+ list-style: none;
5933
+ text-transform: uppercase;
5934
+ }
5935
+
5936
+ .db-welcome-loop-labels li {
5937
+ animation: db-welcome-loop-label 9s ease-in-out infinite both;
5938
+ }
5939
+
5940
+ .db-welcome-loop-labels li:nth-child(2) {
5941
+ animation-delay: 3s;
5942
+ }
5943
+
5944
+ .db-welcome-loop-labels li:nth-child(3) {
5945
+ animation-delay: 6s;
5946
+ }
5947
+
5948
+ @keyframes db-welcome-loop-frame {
5949
+ 0% {
5950
+ opacity: 0;
5951
+ transform: translateY(8px) scale(0.98);
5710
5952
  }
5711
- to {
5712
- transform: translate(-50%, 0);
5953
+ 4%,
5954
+ 28% {
5955
+ opacity: 1;
5956
+ transform: none;
5957
+ }
5958
+ 32%,
5959
+ 100% {
5960
+ opacity: 0;
5961
+ transform: translateY(-6px) scale(0.99);
5962
+ }
5963
+ }
5964
+
5965
+ @keyframes db-welcome-loop-label {
5966
+ 0%,
5967
+ 32%,
5968
+ 100% {
5969
+ color: var(--db-text-muted);
5970
+ }
5971
+ 4%,
5972
+ 28% {
5973
+ color: var(--db-accent);
5974
+ }
5975
+ }
5976
+
5977
+ @keyframes db-welcome-loop-progress {
5978
+ 0% {
5979
+ width: 0;
5980
+ }
5981
+ 33%,
5982
+ 100% {
5983
+ width: 100%;
5984
+ }
5985
+ }
5986
+
5987
+ @keyframes db-welcome-loop-nudge {
5988
+ 0%,
5989
+ 100% {
5990
+ transform: translateX(0);
5991
+ }
5992
+ 50% {
5993
+ transform: translateX(4px);
5994
+ }
5995
+ }
5996
+
5997
+ @media (prefers-reduced-motion: reduce) {
5998
+ /* Without motion, hold on the page: the labels still name all three. */
5999
+ .db-welcome-loop-arrow,
6000
+ .db-welcome-loop-labels li {
6001
+ animation: none;
6002
+ }
6003
+
6004
+ .db-welcome-loop-frame--page {
6005
+ opacity: 1;
6006
+ animation: none;
6007
+ }
6008
+
6009
+ .db-welcome-loop-frame--slide,
6010
+ .db-welcome-loop-frame--video {
6011
+ display: none;
5713
6012
  }
5714
6013
  }
5715
6014
 
@@ -6250,6 +6549,8 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
6250
6549
 
6251
6550
  .db-text-from-narration button:not(.db-dialog-close),
6252
6551
  .db-ai-draft-dialog .db-dialog-footer button,
6552
+ .db-ai-study-dialog .db-dialog-footer button,
6553
+ .db-ai-study-saved button,
6253
6554
  .db-ai-draft-start button,
6254
6555
  .db-ai-review-panel button {
6255
6556
  min-height: var(--db-target-min);
@@ -6264,6 +6565,7 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
6264
6565
 
6265
6566
  .db-text-from-narration .db-dialog-footer button:last-child,
6266
6567
  .db-ai-draft-dialog .db-dialog-footer button:last-child,
6568
+ .db-ai-study-dialog .db-dialog-footer button:last-child,
6267
6569
  .db-ai-draft-start button,
6268
6570
  .db-ai-review-finding-actions button:last-child,
6269
6571
  .db-ai-review-actions button {
@@ -6274,6 +6576,8 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
6274
6576
 
6275
6577
  .db-text-from-narration button:not(.db-dialog-close):hover:not(:disabled),
6276
6578
  .db-ai-draft-dialog .db-dialog-footer button:hover:not(:disabled),
6579
+ .db-ai-study-dialog .db-dialog-footer button:hover:not(:disabled),
6580
+ .db-ai-study-saved button:hover,
6277
6581
  .db-ai-draft-start button:hover,
6278
6582
  .db-ai-review-panel button:hover:not(:disabled) {
6279
6583
  border-color: var(--db-accent-hover);
@@ -6284,6 +6588,8 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
6284
6588
  .db-text-from-narration button:focus-visible,
6285
6589
  .db-text-from-narration textarea:focus-visible,
6286
6590
  .db-ai-draft-dialog .db-dialog-footer button:focus-visible,
6591
+ .db-ai-study-dialog .db-dialog-footer button:focus-visible,
6592
+ .db-ai-study-saved button:focus-visible,
6287
6593
  .db-ai-draft-start button:focus-visible,
6288
6594
  .db-ai-review-panel button:focus-visible {
6289
6595
  outline: 2px solid var(--db-focus);
@@ -6292,6 +6598,7 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
6292
6598
 
6293
6599
  .db-text-from-narration button:disabled,
6294
6600
  .db-ai-draft-dialog .db-dialog-footer button:disabled,
6601
+ .db-ai-study-dialog .db-dialog-footer button:disabled,
6295
6602
  .db-ai-review-panel button:disabled {
6296
6603
  opacity: 0.5;
6297
6604
  cursor: default;
@@ -6546,6 +6853,133 @@ html:has(.db-shell) :is(.squisq-view-menu-checkbox, .squisq-view-menu-radio) {
6546
6853
  cursor: pointer;
6547
6854
  }
6548
6855
 
6856
+ /* Report AI output: the flag beside each AI disclaimer and its dialog. */
6857
+ .db-ai-report-button {
6858
+ white-space: nowrap;
6859
+ }
6860
+
6861
+ .db-ai-report-intro {
6862
+ margin: 0 0 14px;
6863
+ color: var(--db-text-secondary);
6864
+ font-size: 13px;
6865
+ line-height: 1.5;
6866
+ }
6867
+
6868
+ .db-ai-report-dialog .db-settings-fieldset {
6869
+ margin-bottom: 14px;
6870
+ }
6871
+
6872
+ /* Study aids: Summarize document, Create quiz, Create flashcards. */
6873
+ .db-ai-study-dialog .db-dialog-header,
6874
+ .db-ai-study-dialog .db-dialog-footer {
6875
+ flex-shrink: 0;
6876
+ }
6877
+
6878
+ .db-ai-study-dialog .db-ai-study-footer {
6879
+ flex-direction: column;
6880
+ align-items: stretch;
6881
+ }
6882
+
6883
+ .db-ai-study-start,
6884
+ .db-ai-study-result,
6885
+ .db-ai-study-running {
6886
+ display: flex;
6887
+ flex-direction: column;
6888
+ gap: 10px;
6889
+ }
6890
+
6891
+ .db-ai-study-start p,
6892
+ .db-ai-study-result p,
6893
+ .db-ai-study-running p {
6894
+ margin: 0;
6895
+ }
6896
+
6897
+ /* In the full-height deck dialog the result fills the body, and the deck
6898
+ takes whatever the notes and disclaimer leave. */
6899
+ .db-ai-study-result {
6900
+ flex: 1 1 auto;
6901
+ min-height: 0;
6902
+ }
6903
+
6904
+ .db-ai-study-intro,
6905
+ .db-ai-study-stage,
6906
+ .db-ai-study-saved-title {
6907
+ color: var(--db-text);
6908
+ font-size: 13px;
6909
+ line-height: 1.5;
6910
+ }
6911
+
6912
+ .db-ai-study-stage,
6913
+ .db-ai-study-saved-title {
6914
+ font-weight: 600;
6915
+ }
6916
+
6917
+ .db-ai-study-saved {
6918
+ display: flex;
6919
+ flex-wrap: wrap;
6920
+ align-items: center;
6921
+ justify-content: space-between;
6922
+ gap: 10px 12px;
6923
+ padding: 10px 12px;
6924
+ border: 1px solid var(--db-border);
6925
+ border-radius: 6px;
6926
+ background: var(--db-bg-subtle);
6927
+ }
6928
+
6929
+ .db-ai-study-saved-text {
6930
+ display: grid;
6931
+ gap: 2px;
6932
+ min-width: 0;
6933
+ }
6934
+
6935
+ .db-ai-study-stale {
6936
+ color: var(--db-accent-deep);
6937
+ font-size: 12px;
6938
+ }
6939
+
6940
+ .db-ai-study-summary,
6941
+ .db-ai-study-deck {
6942
+ border: 1px solid var(--db-border);
6943
+ border-radius: 6px;
6944
+ background: var(--db-bg-subtle);
6945
+ }
6946
+
6947
+ .db-ai-study-summary {
6948
+ max-height: min(52dvh, 460px);
6949
+ overflow: auto;
6950
+ }
6951
+
6952
+ /* Squisq's compact deck fills the pane it is given and scrolls its own card,
6953
+ so the frame takes the height the dialog has left and hands all of it
6954
+ over. The minimum is what the deck's toolbar and a few card lines need;
6955
+ the body scrolls instead only when a short window cannot fit even that. */
6956
+ .db-ai-study-deck {
6957
+ display: flex;
6958
+ flex-direction: column;
6959
+ flex: 1 1 0;
6960
+ min-height: min(280px, 50dvh);
6961
+ overflow: hidden;
6962
+ }
6963
+
6964
+ .db-ai-study-deck > .squisq-flashcards {
6965
+ flex: 1 1 auto;
6966
+ height: auto;
6967
+ min-height: 0;
6968
+ }
6969
+
6970
+ /* The deck dialog spends its height on the deck. */
6971
+ .db-ai-study-dialog.db-dialog--full .db-ai-study-body {
6972
+ padding-block: 12px;
6973
+ }
6974
+
6975
+ .db-ai-study-meta {
6976
+ display: flex;
6977
+ flex-wrap: wrap;
6978
+ align-items: baseline;
6979
+ gap: 4px 12px;
6980
+ font-size: 12px;
6981
+ }
6982
+
6549
6983
  @media (prefers-reduced-motion: reduce) {
6550
6984
  .db-ai-spinner {
6551
6985
  animation: none;
@@ -7209,7 +7643,6 @@ button.db-git-file-row:hover {
7209
7643
  transition: none;
7210
7644
  }
7211
7645
 
7212
- .db-welcome-gateway,
7213
7646
  .db-save-toast {
7214
7647
  animation: none;
7215
7648
  }
@@ -7412,10 +7845,12 @@ button.db-git-file-row:hover {
7412
7845
  -webkit-app-region: no-drag;
7413
7846
  }
7414
7847
 
7415
- /* Folder and empty states do not render Squisq's toolbar. Preserve a top
7416
- drag strip in those states and keep folder content below it. */
7848
+ /* Folder and empty states do not render Squisq's toolbar, and the first-run
7849
+ welcome screen covers it. Preserve a top drag strip in those states and
7850
+ keep folder content below it. */
7417
7851
  .db-shell .db-shell-empty::before,
7418
- .db-shell .db-folder-view::before {
7852
+ .db-shell .db-folder-view::before,
7853
+ .db-shell .db-welcome-gateway::before {
7419
7854
  content: '';
7420
7855
  position: absolute;
7421
7856
  top: 0;
@@ -7430,6 +7865,11 @@ button.db-git-file-row:hover {
7430
7865
  box-sizing: border-box;
7431
7866
  padding-top: calc(24px + var(--db-wco-titlebar-height));
7432
7867
  }
7868
+
7869
+ /* Clear the caption buttons at the top right. */
7870
+ .db-shell .db-welcome-gateway-dismiss {
7871
+ top: calc(var(--db-wco-titlebar-height) + 8px);
7872
+ }
7433
7873
  }
7434
7874
 
7435
7875
  /* Transcript review shares the shell's dialog and theme tokens. */