dsh-arknights-theme 1.1.2 → 1.1.4

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.
package/assets/skin.css CHANGED
@@ -104,7 +104,7 @@ html[data-amiya-skin='1'] body[data-ds-dark-theme] {
104
104
  --dsw-alias-bg-overlay: var(--dsh-amiya-veil-overlay, rgb(13 17 23 / 90%));
105
105
  --dsw-alias-bg-mask-1: var(--dsh-amiya-veil-mask, rgb(3 5 8 / 62%));
106
106
  --dsw-alias-bg-module-platform: var(--dsh-amiya-veil-platform, rgb(9 12 17 / 78%));
107
- --dsw-specific-sidebar-fill: var(--dsh-amiya-veil-sidebar, rgb(10 13 18 / 86%));
107
+ --dsw-specific-sidebar-fill: var(--dsh-amiya-veil-sidebar, rgb(10 13 18 / 97%));
108
108
  --dsw-specific-tip: var(--dsh-amiya-veil-glass, rgb(9 12 17 / 80%));
109
109
  --dsw-specific-input-major: var(--dsh-amiya-veil-glass, rgb(9 12 17 / 80%));
110
110
  --dsw-specific-bubble: var(--dsh-amiya-veil-glass, rgb(9 12 17 / 80%));
@@ -151,7 +151,7 @@ html[data-amiya-skin='1'] body:not([data-ds-dark-theme]) {
151
151
  --dsw-alias-bg-overlay: var(--dsh-amiya-veil-overlay-l, rgb(250 251 252 / 94%));
152
152
  --dsw-alias-bg-mask-1: var(--dsh-amiya-veil-mask-l, rgb(24 26 30 / 34%));
153
153
  --dsw-alias-bg-module-platform: var(--dsh-amiya-veil-platform-l, rgb(247 248 250 / 80%));
154
- --dsw-specific-sidebar-fill: var(--dsh-amiya-veil-sidebar-l, rgb(247 248 250 / 88%));
154
+ --dsw-specific-sidebar-fill: var(--dsh-amiya-veil-sidebar-l, rgb(248 249 251 / 97%));
155
155
  --dsw-specific-tip: var(--dsh-amiya-veil-glass-l, rgb(247 248 250 / 86%));
156
156
  --dsw-specific-input-major: var(--dsh-amiya-veil-glass-l, rgb(247 248 250 / 86%));
157
157
  --dsw-specific-bubble: var(--dsh-amiya-veil-glass-l, rgb(247 248 250 / 86%));
@@ -214,14 +214,16 @@ html[data-amiya-skin='1'] [class*='_sidebarCol']:not(:has([role='dialog'], [role
214
214
  inset -1px 0 0 rgb(255 255 255 / 6%),
215
215
  28px 0 60px -20px rgb(0 0 0 / 55%);
216
216
  }
217
+ /* The frost is gone with the transparency. At 0.97 the layer behind it is invisible, so the blur was
218
+ a full-column `backdrop-filter` — the most expensive thing in the skin — drawing an effect nobody
219
+ could see. Removed rather than left "just in case": a filter on a column also makes it the
220
+ containing block for fixed descendants, and section 2's comment is about exactly that trap. */
217
221
  html[data-amiya-skin='1'] [class*='_sidebarCol']:not(:has([role='dialog'], [role='alertdialog']))::before {
218
222
  content: '';
219
223
  position: absolute;
220
224
  inset: 0;
221
225
  z-index: -1;
222
226
  pointer-events: none;
223
- -webkit-backdrop-filter: blur(32px) saturate(190%) brightness(1.04);
224
- backdrop-filter: blur(32px) saturate(190%) brightness(1.04);
225
227
  }
226
228
  html[data-amiya-skin='1'] [class*='_sidebarCol']:not(:has([role='dialog'], [role='alertdialog'])):hover {
227
229
  border-right-color: rgb(242 181 68 / 34%) !important;
@@ -408,7 +410,7 @@ html[data-amiya-skin='1'] [class*='_sidebarCol']:not(:has([role='dialog'], [role
408
410
  html[data-amiya-skin='1'] [class*='_sidebarCol']:not(:has([role='dialog'], [role='alertdialog'])) [class$='_chevron'],
409
411
  html[data-amiya-skin='1'] [class*='_sidebarCol']:not(:has([role='dialog'], [role='alertdialog'])) [class$='_arrow'],
410
412
  html[data-amiya-skin='1'] [class*='_sidebarCol']:not(:has([role='dialog'], [role='alertdialog'])) [class$='_arrowOpen'] {
411
- color: var(--dsh-amiya-ink-2, rgb(200 212 226 / 92%));
413
+ color: var(--dsw-alias-label-secondary, rgb(200 212 226 / 92%));
412
414
  }
413
415
  html[data-amiya-skin='1']
414
416
  [class*='_sidebarCol']:not(:has([role='dialog'], [role='alertdialog']))
@@ -1932,18 +1934,26 @@ html[data-amiya-skin='1'] [data-testid='todo-panel'] {
1932
1934
  -webkit-backdrop-filter: none;
1933
1935
  }
1934
1936
  html[data-amiya-skin='1'] body:not([data-ds-dark-theme]) [data-testid='todo-panel'] {
1935
- background: rgb(252 253 254 / var(--dsh-amiya-ledger-alpha));
1937
+ /* Off-white rather than near-white: a 252/253/254 plate over a bright wallpaper reads as glare,
1938
+ and the panel is the one surface here with no picture behind it to justify the brightness. */
1939
+ background: rgb(248 249 251 / var(--dsh-amiya-ledger-alpha));
1936
1940
  border-color: rgb(146 100 12 / 30%);
1937
1941
  box-shadow: var(--dsh-elevation-panel), inset 0 1px 0 rgb(255 255 255 / 60%);
1938
1942
  }
1939
- /* The header is the only control on the panel — clicking it collapses the list — and it was drawn
1940
- in tertiary grey like a caption. Give it the primary label, and let the hover read as a target. */
1943
+ /* Text on this panel goes through the `--dsw-alias-label-*` tokens, never through a raw
1944
+ `--dsh-amiya-ink*` name. The ink lives in two sets — `--dsh-amiya-ink…` for the dark palette and
1945
+ `--dsh-amiya-ink…-l` for the light one — and a rule that names the dark set directly resolves, in
1946
+ the light palette, to the *dark palette's* near-white; on this near-white plate that is invisible
1947
+ text. That is exactly what shipped in 1.1.1: the counts (an explicit dark amber) were readable and
1948
+ every row label was not, which is the "3 已完成, rest blank" screenshot. The tokens below are
1949
+ remapped per palette in the two palette blocks, so one declaration is correct in both.
1950
+ `check-ink-pairs.mjs` now fails the build on a raw ink reference outside those blocks. */
1941
1951
  html[data-amiya-skin='1'] [data-testid='todo-panel'] [class$='_header'] {
1942
- color: var(--dsh-amiya-ink, rgb(249 250 251));
1952
+ color: var(--dsw-alias-label-primary, rgb(249 250 251));
1943
1953
  }
1944
1954
  html[data-amiya-skin='1'] [data-testid='todo-panel'] [class$='_title'] {
1945
1955
  letter-spacing: 0.06em;
1946
- color: var(--dsh-amiya-ink, rgb(249 250 251));
1956
+ color: var(--dsw-alias-label-primary, rgb(249 250 251));
1947
1957
  }
1948
1958
  /* The count line carries the actual state ("… 2 待处理"), so it gets the amber accent rather than the
1949
1959
  host's tertiary grey. */
@@ -1984,15 +1994,15 @@ html[data-amiya-skin='1'] [data-testid='todo-panel'] [class$='_header'][aria-exp
1984
1994
  }
1985
1995
  /* The rows themselves: the host paints every one in secondary/tertiary grey. Status is the thing a
1986
1996
  reader scans for here, so each row's dot keeps the host's state colour while the text rises to the
1987
- skin's own ink, and a finished item dims rather than being struck through invisibly. */
1997
+ skin's own ink tiers, and a finished item dims rather than being struck through invisibly. */
1988
1998
  html[data-amiya-skin='1'] [data-testid='todo-panel'] [class$='_item'] {
1989
- color: var(--dsh-amiya-ink-2, rgb(195 201 210));
1999
+ color: var(--dsw-alias-label-secondary, rgb(195 201 210));
1990
2000
  }
1991
2001
  html[data-amiya-skin='1'] [data-testid='todo-panel'] [class$='_item'][data-status='completed'] {
1992
- color: var(--dsh-amiya-ink-4, rgb(148 156 166));
2002
+ color: var(--dsw-alias-label-dimmed, rgb(148 156 166));
1993
2003
  }
1994
2004
  html[data-amiya-skin='1'] [data-testid='todo-panel'] [class$='_item'][data-status='in_progress'] {
1995
- color: var(--dsh-amiya-ink, rgb(249 250 251));
2005
+ color: var(--dsw-alias-label-primary, rgb(249 250 251));
1996
2006
  }
1997
2007
  /* The lead checklist glyph sat in the same tertiary grey as the counts; make it the panel's mark. */
1998
2008
  html[data-amiya-skin='1'] [data-testid='todo-panel'] [class$='_lead'] {
@@ -2066,8 +2076,69 @@ html[data-amiya-skin='1'] [class*='_sidebarCol']:not(:has([role='dialog'], [role
2066
2076
  html[data-amiya-skin='1'] .amiya-picker__import-btn,
2067
2077
  html[data-amiya-skin='1'] .amiya-picker__remove,
2068
2078
  html[data-amiya-skin='1'] [data-testid='todo-panel'] [class$='_chevron'],
2069
- html[data-amiya-skin='1'] .amiya-step {
2079
+ html[data-amiya-skin='1'] .amiya-step,
2080
+ html[data-amiya-skin='1'] .amiya-star {
2070
2081
  transition-duration: 0.01ms;
2071
2082
  }
2072
2083
  }
2073
2084
 
2085
+ /* --- 25. The star ask ------------------------------------------------------ */
2086
+ /* At the sidebar foot, beside this plugin's own 壁纸 button: the one place in the interface that is
2087
+ always visible, never covered by a dialog, and already where the hand goes at the end of a session.
2088
+ A pill rather than a bare star, because an unlabelled glyph in a row of icons reads as another
2089
+ control — the words 「点个星」 are what make it a request instead of a feature.
2090
+ The glyph is a text star, not a mask: the icon set is Arknights' own artwork, and spending a
2091
+ limited slot on a generic star would be dressing up a link as game art. */
2092
+ html[data-amiya-skin='1'] .amiya-star {
2093
+ display: inline-flex;
2094
+ align-items: center;
2095
+ gap: 6px;
2096
+ padding: 3px 10px 3px 8px;
2097
+ font-size: 11px;
2098
+ font-weight: 600;
2099
+ letter-spacing: 0.1em;
2100
+ line-height: 1.6;
2101
+ color: rgb(255 214 140 / 96%);
2102
+ text-decoration: none;
2103
+ background: rgb(242 181 68 / 14%);
2104
+ border: 1px solid rgb(242 181 68 / 42%);
2105
+ border-radius: 999px;
2106
+ cursor: pointer;
2107
+ transition:
2108
+ background 140ms ease,
2109
+ border-color 140ms ease,
2110
+ box-shadow 140ms ease,
2111
+ transform 140ms ease;
2112
+ }
2113
+ html[data-amiya-skin='1'] .amiya-star:hover {
2114
+ color: rgb(255 232 178);
2115
+ background: rgb(242 181 68 / 26%);
2116
+ border-color: rgb(242 181 68 / 78%);
2117
+ box-shadow: 0 0 14px rgb(242 181 68 / 42%);
2118
+ transform: translateY(-1px);
2119
+ }
2120
+ html[data-amiya-skin='1'] body:not([data-ds-dark-theme]) .amiya-star {
2121
+ color: rgb(122 82 8 / 96%);
2122
+ background: rgb(146 100 12 / 12%);
2123
+ border-color: rgb(146 100 12 / 38%);
2124
+ }
2125
+ html[data-amiya-skin='1'] body:not([data-ds-dark-theme]) .amiya-star:hover {
2126
+ color: rgb(78 52 4);
2127
+ background: rgb(146 100 12 / 22%);
2128
+ border-color: rgb(146 100 12 / 64%);
2129
+ box-shadow: 0 0 12px rgb(146 100 12 / 30%);
2130
+ }
2131
+ html[data-amiya-skin='1'] .amiya-star__glyph {
2132
+ font-size: 12px;
2133
+ line-height: 1;
2134
+ filter: drop-shadow(0 0 4px rgb(242 181 68 / 70%));
2135
+ }
2136
+ html[data-amiya-skin='1'] .amiya-star__text {
2137
+ white-space: nowrap;
2138
+ }
2139
+ /* A keyboard reader gets the same target a mouse does, and it is a real focusable link. */
2140
+ html[data-amiya-skin='1'] .amiya-star:focus-visible {
2141
+ outline: 2px solid rgb(255 206 98);
2142
+ outline-offset: 2px;
2143
+ }
2144
+