@kjun-ui/native 0.4.0 → 0.4.1

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.
Files changed (2) hide show
  1. package/dist/styles.css +171 -126
  2. package/package.json +3 -3
package/dist/styles.css CHANGED
@@ -1828,7 +1828,7 @@
1828
1828
  }
1829
1829
  /* KJUN-owned field geometry and interaction styles. */
1830
1830
  /* 입력의 표면·상태는 한 곳에서 관리한다. 모든 크기는 같은 size의 버튼 높이와 정렬한다. */
1831
- .kjun-scope .ds-field--sm {
1831
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--sm, .kjun-scope .ds-field--sm:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1832
1832
  --field-height: var(--_kjun-geometry-input-sm-height);
1833
1833
  --field-font-size: var(--_kjun-geometry-input-sm-font-size);
1834
1834
  --field-placeholder-size: var(--_kjun-geometry-input-sm-placeholder-size);
@@ -1841,7 +1841,7 @@
1841
1841
  --field-textarea-padding-y: var(--_kjun-geometry-input-sm-textarea-padding-y);
1842
1842
  }
1843
1843
 
1844
- .kjun-scope .ds-field--md {
1844
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--md, .kjun-scope .ds-field--md:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1845
1845
  --field-height: var(--_kjun-geometry-input-md-height);
1846
1846
  --field-font-size: var(--_kjun-geometry-input-md-font-size);
1847
1847
  --field-placeholder-size: var(--_kjun-geometry-input-md-placeholder-size);
@@ -1854,7 +1854,7 @@
1854
1854
  --field-textarea-padding-y: var(--_kjun-geometry-input-md-textarea-padding-y);
1855
1855
  }
1856
1856
 
1857
- .kjun-scope .ds-field--lg {
1857
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--lg, .kjun-scope .ds-field--lg:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1858
1858
  --field-height: var(--_kjun-geometry-input-lg-height);
1859
1859
  --field-font-size: var(--_kjun-geometry-input-lg-font-size);
1860
1860
  --field-placeholder-size: var(--_kjun-geometry-input-lg-placeholder-size);
@@ -1867,7 +1867,7 @@
1867
1867
  --field-textarea-padding-y: var(--_kjun-geometry-input-lg-textarea-padding-y);
1868
1868
  }
1869
1869
 
1870
- .kjun-scope .ds-field {
1870
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field, .kjun-scope .ds-field:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1871
1871
  display: block;
1872
1872
  width: 100%;
1873
1873
  min-width: 0;
@@ -1884,48 +1884,52 @@
1884
1884
  transition: background-color var(--motion-control) var(--ease-out), border-color var(--motion-control) var(--ease-out);
1885
1885
  }
1886
1886
 
1887
- .kjun-scope .ds-field::placeholder { color: var(--input-placeholder); font-size: var(--field-placeholder-size); opacity: 1; }
1888
- .kjun-scope .ds-field-placeholder { color: var(--input-placeholder); font-size: var(--field-placeholder-size); }
1889
- .kjun-scope .ds-field:hover:not(:disabled):not(:focus):not([readonly]):not([aria-expanded="true"]):not(.ds-field--open):not(.ds-field--error) { background: var(--bg-hover); }
1890
- .kjun-scope .ds-field:focus, .kjun-scope .ds-field--open, .kjun-scope .ds-field[aria-expanded="true"] {
1887
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field::placeholder, .kjun-scope .ds-field:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"])::placeholder { color: var(--input-placeholder); font-size: var(--field-placeholder-size); opacity: 1; }
1888
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-placeholder, .kjun-scope .ds-field-placeholder:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { color: var(--input-placeholder); font-size: var(--field-placeholder-size); }
1889
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field:hover:not(:disabled):not(:focus):not([readonly]):not([aria-expanded="true"]):not(.ds-field--open):not(.ds-field--error), .kjun-scope .ds-field:hover:not(:disabled):not(:focus):not([readonly]):not([aria-expanded="true"]):not(.ds-field--open):not(.ds-field--error):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { background: var(--bg-hover); }
1890
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field:focus, .kjun-scope .ds-field:focus:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--open, .kjun-scope .ds-field--open:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field[aria-expanded="true"], .kjun-scope .ds-field[aria-expanded="true"]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1891
1891
  outline: none;
1892
1892
  border-color: var(--input-border-focus);
1893
1893
  background: var(--input-bg);
1894
1894
  }
1895
- .kjun-scope .ds-field--error, .kjun-scope .ds-field--error:focus, .kjun-scope .ds-field--error.ds-field--open, .kjun-scope .ds-field--error[aria-expanded="true"] {
1895
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--error, .kjun-scope .ds-field--error:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--error:focus, .kjun-scope .ds-field--error:focus:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--error.ds-field--open, .kjun-scope .ds-field--error.ds-field--open:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--error[aria-expanded="true"], .kjun-scope .ds-field--error[aria-expanded="true"]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1896
1896
  border-color: var(--danger);
1897
1897
  background: var(--input-bg);
1898
1898
  }
1899
- .kjun-scope .ds-field[readonly] { color: var(--text-secondary); }
1899
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field[readonly], .kjun-scope .ds-field[readonly]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { color: var(--text-secondary); }
1900
1900
  /* The ring covers the control border so keyboard focus reads as one outline. */
1901
- .kjun-scope .ds-field:focus-visible:not(:disabled) {
1901
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field:focus-visible:not(:disabled), .kjun-scope .ds-field:focus-visible:not(:disabled):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1902
1902
  outline: var(--_kjun-state-focus-width) solid var(--focus-ring);
1903
1903
  outline-offset: var(--_kjun-state-focus-inset-offset);
1904
1904
  }
1905
- .kjun-scope .ds-field--error:focus-visible:not(:disabled),
1906
- .kjun-scope .ds-field[aria-invalid="true"]:focus-visible:not(:disabled) {
1905
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--error:focus-visible:not(:disabled),
1906
+ .kjun-scope .ds-field--error:focus-visible:not(:disabled):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]),
1907
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field[aria-invalid="true"]:focus-visible:not(:disabled),
1908
+ .kjun-scope .ds-field[aria-invalid="true"]:focus-visible:not(:disabled):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1907
1909
  outline-offset: var(--_kjun-state-focus-offset);
1908
1910
  }
1909
- .kjun-scope .ds-field-shell[data-disabled="true"] :is(.ds-field-prefix, .ds-field-suffix), .kjun-scope .ds-field-shell:has(> :disabled) :is(.ds-field-prefix, .ds-field-suffix, .ds-select-indicator) { color: var(--text-disabled); }
1910
- .kjun-scope .ds-field-shell[data-disabled="true"] .ds-field-suffix .ds-icon,
1911
- .kjun-scope .ds-field-shell .ds-field-clear:disabled { color: var(--text-disabled); }
1912
- .kjun-scope .ds-field-shell .ds-field-clear:disabled { opacity: 1; }
1913
- .kjun-scope .ds-field:disabled .ds-field-placeholder { color: var(--text-disabled); }
1914
- .kjun-scope .ds-field:disabled {
1911
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-shell[data-disabled="true"] :is(.ds-field-prefix, .ds-field-suffix), .kjun-scope .ds-field-shell[data-disabled="true"]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :is(.ds-field-prefix, .ds-field-suffix), .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-shell:has(> :disabled) :is(.ds-field-prefix, .ds-field-suffix, .ds-select-indicator), .kjun-scope .ds-field-shell:has(> :disabled):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :is(.ds-field-prefix, .ds-field-suffix, .ds-select-indicator) { color: var(--text-disabled); }
1912
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-shell[data-disabled="true"] .ds-field-suffix .ds-icon,
1913
+ .kjun-scope .ds-field-shell[data-disabled="true"]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-suffix .ds-icon,
1914
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-shell .ds-field-clear:disabled,
1915
+ .kjun-scope .ds-field-shell:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-clear:disabled { color: var(--text-disabled); }
1916
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-shell .ds-field-clear:disabled, .kjun-scope .ds-field-shell:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-clear:disabled { opacity: 1; }
1917
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field:disabled .ds-field-placeholder, .kjun-scope .ds-field:disabled:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-placeholder { color: var(--text-disabled); }
1918
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field:disabled, .kjun-scope .ds-field:disabled:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1915
1919
  cursor: not-allowed;
1916
1920
  color: var(--text-disabled);
1917
1921
  background: var(--input-bg);
1918
1922
  }
1919
- .kjun-scope .ds-field:disabled::placeholder { color: var(--text-disabled); }
1920
- .kjun-scope .ds-field--prefix { padding-left: calc(var(--field-padding) + var(--field-icon-size) + var(--field-affix-gap) - var(--_kjun-border-control-width)); }
1921
- .kjun-scope .ds-field--suffix { padding-right: calc(var(--field-padding) + var(--field-clear-size) + var(--field-affix-gap) - var(--_kjun-border-control-width)); }
1922
- .kjun-scope .ds-input-native.ds-field--prefix { padding-left: calc(var(--field-padding) + var(--input-prefix-width) + var(--field-affix-gap) - var(--_kjun-border-control-width)); }
1923
- .kjun-scope .ds-input-native.ds-field--suffix { padding-right: calc(var(--field-padding) + var(--input-suffix-width) + var(--field-affix-gap) - var(--_kjun-border-control-width)); }
1924
- .kjun-scope .ds-field--clearable > .truncate { padding-right: calc(var(--field-clear-size) + var(--field-affix-gap)); }
1925
- .kjun-scope .ds-field--select { display: flex; align-items: center; justify-content: space-between; text-align: left; gap: var(--_kjun-geometry-dimension-value8); }
1926
- .kjun-scope .ds-field--textarea { height: auto; padding-top: var(--field-textarea-padding-y); padding-bottom: var(--field-textarea-padding-y); }
1927
- .kjun-scope .ds-field-shell { position: relative; min-width: 0; --input-prefix-width: 0px; --input-suffix-width: 0px; }
1928
- .kjun-scope .ds-field-prefix, .kjun-scope .ds-field-suffix {
1923
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field:disabled::placeholder, .kjun-scope .ds-field:disabled:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"])::placeholder { color: var(--text-disabled); }
1924
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--prefix, .kjun-scope .ds-field--prefix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { padding-left: calc(var(--field-padding) + var(--field-icon-size) + var(--field-affix-gap) - var(--_kjun-border-control-width)); }
1925
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--suffix, .kjun-scope .ds-field--suffix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { padding-right: calc(var(--field-padding) + var(--field-clear-size) + var(--field-affix-gap) - var(--_kjun-border-control-width)); }
1926
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-input-native.ds-field--prefix, .kjun-scope .ds-input-native.ds-field--prefix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { padding-left: calc(var(--field-padding) + var(--input-prefix-width) + var(--field-affix-gap) - var(--_kjun-border-control-width)); }
1927
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-input-native.ds-field--suffix, .kjun-scope .ds-input-native.ds-field--suffix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { padding-right: calc(var(--field-padding) + var(--input-suffix-width) + var(--field-affix-gap) - var(--_kjun-border-control-width)); }
1928
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--clearable > .truncate, .kjun-scope .ds-field--clearable:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) > .truncate { padding-right: calc(var(--field-clear-size) + var(--field-affix-gap)); }
1929
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--select, .kjun-scope .ds-field--select:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { display: flex; align-items: center; justify-content: space-between; text-align: left; gap: var(--_kjun-geometry-dimension-value8); }
1930
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field--textarea, .kjun-scope .ds-field--textarea:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { height: auto; padding-top: var(--field-textarea-padding-y); padding-bottom: var(--field-textarea-padding-y); }
1931
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-shell, .kjun-scope .ds-field-shell:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { position: relative; min-width: 0; --input-prefix-width: 0px; --input-suffix-width: 0px; }
1932
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-prefix, .kjun-scope .ds-field-prefix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-suffix, .kjun-scope .ds-field-suffix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1929
1933
  position: absolute;
1930
1934
  top: 50%;
1931
1935
  transform: translateY(-50%);
@@ -1935,25 +1939,25 @@
1935
1939
  color: var(--text-tertiary);
1936
1940
  font-size: var(--field-icon-size);
1937
1941
  }
1938
- .kjun-scope .ds-field-prefix { left: var(--field-padding); pointer-events: none; }
1939
- .kjun-scope .ds-field-suffix { right: var(--field-padding); }
1942
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-prefix, .kjun-scope .ds-field-prefix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { left: var(--field-padding); pointer-events: none; }
1943
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-suffix, .kjun-scope .ds-field-suffix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { right: var(--field-padding); }
1940
1944
  /* Override the shared Button's inline geometry only inside a field. */
1941
- .kjun-scope .ds-field-shell .ds-field-clear { padding: 0 !important; width: var(--field-clear-size) !important; height: var(--field-clear-size) !important; min-height: var(--field-clear-size) !important; border-radius: 50% !important; flex-shrink: 0; }
1942
- .kjun-scope .ds-field-clear .ds-icon, .kjun-scope .ds-select-indicator { width: var(--field-icon-size); height: var(--field-icon-size); }
1943
- .kjun-scope .ds-field-error { margin-top: var(--extension-form-message-gap); font-size: var(--_kjun-type-caption-size); color: var(--danger); line-height: var(--_kjun-type-caption-line); font-weight: var(--_kjun-type-caption-weight); letter-spacing: var(--_kjun-type-caption-tracking); }
1944
- .kjun-scope .ds-form-group { margin-bottom: var(--extension-form-item-gap); min-width: 0; }
1945
- .kjun-scope .ds-form-group:last-child { margin-bottom: 0; }
1945
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-shell .ds-field-clear, .kjun-scope .ds-field-shell:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-clear { padding: 0 !important; width: var(--field-clear-size) !important; height: var(--field-clear-size) !important; min-height: var(--field-clear-size) !important; border-radius: 50% !important; flex-shrink: 0; }
1946
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-clear .ds-icon, .kjun-scope .ds-field-clear:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-icon, .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-select-indicator, .kjun-scope .ds-select-indicator:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { width: var(--field-icon-size); height: var(--field-icon-size); }
1947
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-error, .kjun-scope .ds-field-error:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { margin-top: var(--extension-form-message-gap); font-size: var(--_kjun-type-caption-size); color: var(--danger); line-height: var(--_kjun-type-caption-line); font-weight: var(--_kjun-type-caption-weight); letter-spacing: var(--_kjun-type-caption-tracking); }
1948
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-form-group, .kjun-scope .ds-form-group:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { margin-bottom: var(--extension-form-item-gap); min-width: 0; }
1949
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-form-group:last-child, .kjun-scope .ds-form-group:last-child:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { margin-bottom: 0; }
1946
1950
  /* 그리드·툴바는 부모 gap을 사용하고, 일반 문서 흐름의 기존 폼만 기본 간격을 유지한다. */
1947
- .kjun-scope :where(.flex, .inline-flex, .grid, .inline-grid, .kj-flex, .kj-inline-flex, .kj-grid, .kj-inline-grid, .ds-form-layout) > .ds-form-group { margin-bottom: 0; }
1948
- .kjun-scope .ds-field-menu {
1951
+ .kjun-scope :where(.flex, .inline-flex, .grid, .inline-grid, .kj-flex, .kj-inline-flex, .kj-grid, .kj-inline-grid, .ds-form-layout) > .ds-form-group:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { margin-bottom: 0; }
1952
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-menu, .kjun-scope .ds-field-menu:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1949
1953
  padding: var(--extension-menu-padding);
1950
1954
  border: var(--_kjun-border-default-width) solid var(--border-primary);
1951
1955
  border-radius: var(--_kjun-geometry-radius-radius12);
1952
1956
  background: var(--card-bg);
1953
1957
  box-shadow: var(--_kjun-menu-elevation);
1954
1958
  }
1955
- .kjun-scope .ds-field-menu[role="menu"] { border-radius: var(--extension-menu-radius); }
1956
- .kjun-scope .ds-field-option {
1959
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-menu[role="menu"], .kjun-scope .ds-field-menu[role="menu"]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { border-radius: var(--extension-menu-radius); }
1960
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-option, .kjun-scope .ds-field-option:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1957
1961
  display: flex;
1958
1962
  align-items: center;
1959
1963
  justify-content: space-between;
@@ -1966,11 +1970,11 @@
1966
1970
  color: var(--text-primary);
1967
1971
  cursor: pointer;
1968
1972
  }
1969
- .kjun-scope .ds-field-option:hover:not([aria-disabled="true"]), .kjun-scope .ds-field-option--highlighted:not([aria-disabled="true"]) { background: var(--bg-hover); }
1970
- .kjun-scope .ds-field-option[aria-selected="true"] { background: var(--selected-bg); }
1971
- .kjun-scope .ds-field-option:focus-visible { outline: var(--_kjun-state-focus-width) solid var(--focus-ring); outline-offset: var(--_kjun-state-focus-inset-offset); }
1972
- .kjun-scope .ds-field-option[aria-disabled="true"] { opacity: var(--_kjun-state-opacity-disabled); cursor: not-allowed; }
1973
- .kjun-scope .ds-dropdown-item {
1973
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-option:hover:not([aria-disabled="true"]), .kjun-scope .ds-field-option:hover:not([aria-disabled="true"]):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-option--highlighted:not([aria-disabled="true"]), .kjun-scope .ds-field-option--highlighted:not([aria-disabled="true"]):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { background: var(--bg-hover); }
1974
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-option[aria-selected="true"], .kjun-scope .ds-field-option[aria-selected="true"]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { background: var(--selected-bg); }
1975
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-option:focus-visible, .kjun-scope .ds-field-option:focus-visible:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { outline: var(--_kjun-state-focus-width) solid var(--focus-ring); outline-offset: var(--_kjun-state-focus-inset-offset); }
1976
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field-option[aria-disabled="true"], .kjun-scope .ds-field-option[aria-disabled="true"]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { opacity: var(--_kjun-state-opacity-disabled); cursor: not-allowed; }
1977
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-item, .kjun-scope .ds-dropdown-item:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1974
1978
  gap: var(--_kjun-geometry-dimension-value8);
1975
1979
  min-height: var(--extension-menu-option-height);
1976
1980
  padding: var(--extension-menu-option-padding-y) var(--extension-menu-option-padding-x);
@@ -1980,26 +1984,26 @@
1980
1984
  letter-spacing: var(--_kjun-type-body-tracking);
1981
1985
  line-height: var(--extension-menu-option-line-height);
1982
1986
  }
1983
- .kjun-scope .ds-dropdown-label { flex: 1; min-width: 0; overflow-wrap: anywhere; }
1987
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-label, .kjun-scope .ds-dropdown-label:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { flex: 1; min-width: 0; overflow-wrap: anywhere; }
1984
1988
  /* Same border role and inset as the React and Native menu dividers. */
1985
- .kjun-scope .ds-dropdown-divider { height: var(--extension-menu-divider-height); margin: var(--_kjun-geometry-dimension-value4) 0; background: var(--border-primary); }
1989
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-divider, .kjun-scope .ds-dropdown-divider:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { height: var(--extension-menu-divider-height); margin: var(--_kjun-geometry-dimension-value4) 0; background: var(--border-primary); }
1986
1990
  /* Pointer hover moves focus (DropdownItem), so only the focused item paints as current. */
1987
- .kjun-scope .ds-dropdown-item:focus:not(:disabled):not([aria-checked="true"]) { background: var(--bg-hover); }
1988
- .kjun-scope .ds-dropdown-item[data-variant="danger"]:focus:not(:disabled):not([aria-checked="true"]) { background: var(--danger-bg); }
1989
- .kjun-scope .ds-dropdown-item[aria-checked="true"] { background: var(--selected-bg); }
1990
- .kjun-scope .ds-dropdown-item:not([data-variant="danger"]) .ds-dropdown-icon { color: var(--text-secondary); }
1991
- .kjun-scope [role="menu"]:has(.ds-dropdown-icon) .ds-dropdown-item:not(:has(.ds-dropdown-icon)) {
1991
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-item:focus:not(:disabled):not([aria-checked="true"]), .kjun-scope .ds-dropdown-item:focus:not(:disabled):not([aria-checked="true"]):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { background: var(--bg-hover); }
1992
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-item[data-variant="danger"]:focus:not(:disabled):not([aria-checked="true"]), .kjun-scope .ds-dropdown-item[data-variant="danger"]:focus:not(:disabled):not([aria-checked="true"]):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { background: var(--danger-bg); }
1993
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-item[aria-checked="true"], .kjun-scope .ds-dropdown-item[aria-checked="true"]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { background: var(--selected-bg); }
1994
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-item:not([data-variant="danger"]) .ds-dropdown-icon, .kjun-scope .ds-dropdown-item:not([data-variant="danger"]):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-icon { color: var(--text-secondary); }
1995
+ .kjun-scope [role="menu"]:has(.ds-dropdown-icon) :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-item:not(:has(.ds-dropdown-icon)), .kjun-scope [role="menu"]:has(.ds-dropdown-icon) .ds-dropdown-item:not(:has(.ds-dropdown-icon)):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1992
1996
  padding-left: calc(var(--extension-menu-option-padding-x) + var(--extension-menu-icon-size) + var(--_kjun-geometry-dimension-value8));
1993
1997
  }
1994
- .kjun-scope .ds-dropdown-item:focus-visible:not(:disabled) {
1998
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-dropdown-item:focus-visible:not(:disabled), .kjun-scope .ds-dropdown-item:focus-visible:not(:disabled):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
1995
1999
  outline: var(--_kjun-state-focus-width) solid var(--focus-ring);
1996
2000
  outline-offset: var(--_kjun-state-focus-inset-offset);
1997
2001
  }
1998
2002
 
1999
- .kjun-scope .ds-choice { position: relative; display: inline-flex; align-items: center; min-height: var(--extension-choice-minimum-height); cursor: pointer; vertical-align: middle; }
2000
- .kjun-scope .ds-choice--disabled { opacity: var(--_kjun-state-opacity-disabled); cursor: not-allowed; }
2001
- .kjun-scope .ds-choice-label { margin-left: var(--extension-checkbox-label-gap); font-size: var(--_kjun-type-label-size); color: var(--text-primary); line-height: var(--_kjun-type-label-line); font-weight: var(--_kjun-type-label-weight); letter-spacing: var(--_kjun-type-label-tracking); }
2002
- .kjun-scope .ds-choice-control {
2003
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice, .kjun-scope .ds-choice:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { position: relative; display: inline-flex; align-items: center; min-height: var(--extension-choice-minimum-height); cursor: pointer; vertical-align: middle; }
2004
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice--disabled, .kjun-scope .ds-choice--disabled:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { opacity: var(--_kjun-state-opacity-disabled); cursor: not-allowed; }
2005
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice-label, .kjun-scope .ds-choice-label:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { margin-left: var(--extension-checkbox-label-gap); font-size: var(--_kjun-type-label-size); color: var(--text-primary); line-height: var(--_kjun-type-label-line); font-weight: var(--_kjun-type-label-weight); letter-spacing: var(--_kjun-type-label-tracking); }
2006
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice-control, .kjun-scope .ds-choice-control:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
2003
2007
  display: flex;
2004
2008
  flex-shrink: 0;
2005
2009
  align-items: center;
@@ -2011,34 +2015,36 @@
2011
2015
  background: var(--card-bg);
2012
2016
  transition: border-color var(--motion-control) var(--ease-out), background-color var(--motion-control) var(--ease-out);
2013
2017
  }
2014
- .kjun-scope .ds-checkbox { border-radius: var(--extension-checkbox-radii-md); }
2015
- .kjun-scope .ds-checkbox--sm { width: var(--extension-checkbox-sizes-sm); height: var(--extension-checkbox-sizes-sm); border-radius: var(--extension-checkbox-radii-sm); }
2016
- .kjun-scope .ds-checkbox--lg { width: var(--extension-checkbox-sizes-lg); height: var(--extension-checkbox-sizes-lg); border-radius: var(--extension-checkbox-radii-lg); }
2017
- .kjun-scope .ds-checkbox--checked { background: var(--brand); border-color: var(--brand); color: var(--on-brand); }
2018
- .kjun-scope .ds-radio {
2018
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-checkbox, .kjun-scope .ds-checkbox:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { border-radius: var(--extension-checkbox-radii-md); }
2019
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-checkbox--sm, .kjun-scope .ds-checkbox--sm:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { width: var(--extension-checkbox-sizes-sm); height: var(--extension-checkbox-sizes-sm); border-radius: var(--extension-checkbox-radii-sm); }
2020
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-checkbox--lg, .kjun-scope .ds-checkbox--lg:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { width: var(--extension-checkbox-sizes-lg); height: var(--extension-checkbox-sizes-lg); border-radius: var(--extension-checkbox-radii-lg); }
2021
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-checkbox--checked, .kjun-scope .ds-checkbox--checked:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { background: var(--brand); border-color: var(--brand); color: var(--on-brand); }
2022
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-radio, .kjun-scope .ds-radio:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
2019
2023
  width: var(--extension-radio-size);
2020
2024
  height: var(--extension-radio-size);
2021
2025
  border-width: var(--extension-radio-border-width);
2022
2026
  border-radius: 50%;
2023
2027
  border-color: var(--border-strong);
2024
2028
  }
2025
- .kjun-scope .ds-radio--checked { border-color: var(--brand); }
2026
- .kjun-scope .ds-radio-dot { width: var(--extension-radio-dot); height: var(--extension-radio-dot); border-radius: 50%; background: var(--brand); }
2027
- .kjun-scope .ds-radio + .ds-choice-label { margin-left: var(--extension-radio-label-gap); }
2028
- .kjun-scope .ds-choice--disabled :is(.ds-radio:not(.ds-radio--checked), .ds-checkbox:not(.ds-checkbox--checked)) { border-color: var(--border-secondary); }
2029
- .kjun-scope .ds-choice--disabled .ds-switch:not(.ds-switch--on) { box-shadow: inset 0 0 0 var(--_kjun-border-control-width) var(--border-secondary); }
2030
- .kjun-scope .ds-choice--disabled .ds-switch:not(.ds-switch--on) .ds-switch-thumb { background: var(--border-secondary); }
2031
- .kjun-scope .ds-choice input:focus-visible + .ds-choice-control, .kjun-scope .ds-switch:focus-visible {
2029
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-radio--checked, .kjun-scope .ds-radio--checked:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { border-color: var(--brand); }
2030
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-radio-dot, .kjun-scope .ds-radio-dot:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { width: var(--extension-radio-dot); height: var(--extension-radio-dot); border-radius: 50%; background: var(--brand); }
2031
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-radio + .ds-choice-label, .kjun-scope .ds-radio:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) + .ds-choice-label { margin-left: var(--extension-radio-label-gap); }
2032
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice--disabled :is(.ds-radio:not(.ds-radio--checked), .ds-checkbox:not(.ds-checkbox--checked)), .kjun-scope .ds-choice--disabled:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) :is(.ds-radio:not(.ds-radio--checked), .ds-checkbox:not(.ds-checkbox--checked)) { border-color: var(--border-secondary); }
2033
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice--disabled .ds-switch:not(.ds-switch--on), .kjun-scope .ds-choice--disabled:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch:not(.ds-switch--on) { box-shadow: inset 0 0 0 var(--_kjun-border-control-width) var(--border-secondary); }
2034
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice--disabled .ds-switch:not(.ds-switch--on) .ds-switch-thumb, .kjun-scope .ds-choice--disabled:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch:not(.ds-switch--on) .ds-switch-thumb { background: var(--border-secondary); }
2035
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice input:focus-visible + .ds-choice-control, .kjun-scope .ds-choice:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) input:focus-visible + .ds-choice-control, .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch:focus-visible, .kjun-scope .ds-switch:focus-visible:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
2032
2036
  outline: var(--_kjun-state-focus-width) solid var(--focus-ring);
2033
2037
  outline-offset: var(--_kjun-state-focus-choice-offset);
2034
2038
  }
2035
- .kjun-scope .ds-choice:not(.ds-choice--disabled):hover .ds-choice-control { border-color: var(--brand); }
2036
- .kjun-scope .ds-choice:not(.ds-choice--disabled):hover .ds-radio { border-color: var(--brand-hover); }
2037
- .kjun-scope .ds-choice:not(.ds-choice--disabled):hover .ds-switch:not(.ds-switch--on) { box-shadow: inset 0 0 0 var(--_kjun-border-control-width) var(--brand); }
2038
- .kjun-scope .ds-choice:not(.ds-choice--disabled):active .ds-radio,
2039
- .kjun-scope .ds-choice:not(.ds-choice--disabled) input:active + .ds-radio { border-color: var(--brand-active); }
2040
- .kjun-scope .ds-switch + .ds-choice-label { margin-left: var(--extension-switch-label-gap); }
2041
- .kjun-scope .ds-switch {
2039
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice:not(.ds-choice--disabled):hover .ds-choice-control, .kjun-scope .ds-choice:not(.ds-choice--disabled):hover:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice-control { border-color: var(--brand); }
2040
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice:not(.ds-choice--disabled):hover .ds-radio, .kjun-scope .ds-choice:not(.ds-choice--disabled):hover:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-radio { border-color: var(--brand-hover); }
2041
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice:not(.ds-choice--disabled):hover .ds-switch:not(.ds-switch--on), .kjun-scope .ds-choice:not(.ds-choice--disabled):hover:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch:not(.ds-switch--on) { box-shadow: inset 0 0 0 var(--_kjun-border-control-width) var(--brand); }
2042
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice:not(.ds-choice--disabled):active .ds-radio,
2043
+ .kjun-scope .ds-choice:not(.ds-choice--disabled):active:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-radio,
2044
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice:not(.ds-choice--disabled) input:active + .ds-radio,
2045
+ .kjun-scope .ds-choice:not(.ds-choice--disabled):where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) input:active + .ds-radio { border-color: var(--brand-active); }
2046
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch + .ds-choice-label, .kjun-scope .ds-switch:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) + .ds-choice-label { margin-left: var(--extension-switch-label-gap); }
2047
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch, .kjun-scope .ds-switch:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
2042
2048
  position: relative;
2043
2049
  flex-shrink: 0;
2044
2050
  --_kjun-switch-width: var(--extension-switch-widths-md);
@@ -2052,12 +2058,12 @@
2052
2058
  box-shadow: inset 0 0 0 var(--_kjun-border-control-width) var(--border-strong);
2053
2059
  transition: background-color var(--motion-control) var(--ease-out), box-shadow var(--motion-control) var(--ease-out);
2054
2060
  }
2055
- .kjun-scope .ds-switch--sm { --_kjun-switch-width: var(--extension-switch-widths-sm); --_kjun-switch-height: var(--extension-switch-heights-sm); }
2056
- .kjun-scope .ds-switch--lg { --_kjun-switch-width: var(--extension-switch-widths-lg); --_kjun-switch-height: var(--extension-switch-heights-lg); }
2057
- .kjun-scope .ds-switch--on { background: var(--brand); box-shadow: none; }
2061
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch--sm, .kjun-scope .ds-switch--sm:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { --_kjun-switch-width: var(--extension-switch-widths-sm); --_kjun-switch-height: var(--extension-switch-heights-sm); }
2062
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch--lg, .kjun-scope .ds-switch--lg:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { --_kjun-switch-width: var(--extension-switch-widths-lg); --_kjun-switch-height: var(--extension-switch-heights-lg); }
2063
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch--on, .kjun-scope .ds-switch--on:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { background: var(--brand); box-shadow: none; }
2058
2064
  /* The off boundary sits inside the padding, so the off thumb also clears the border width:
2059
2065
  both states keep the same gap between thumb and edge, and the thumb grows as it turns on. */
2060
- .kjun-scope .ds-switch-thumb {
2066
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch-thumb, .kjun-scope .ds-switch-thumb:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
2061
2067
  --_kjun-switch-thumb-inset: calc(var(--extension-switch-padding) + var(--_kjun-border-control-width));
2062
2068
  display: block;
2063
2069
  width: calc(var(--_kjun-switch-height) - 2 * var(--_kjun-switch-thumb-inset));
@@ -2069,7 +2075,7 @@
2069
2075
  transition: transform var(--motion-control) var(--ease-out), background-color var(--motion-control) var(--ease-out),
2070
2076
  width var(--motion-control) var(--ease-out), height var(--motion-control) var(--ease-out), margin var(--motion-control) var(--ease-out);
2071
2077
  }
2072
- .kjun-scope .ds-switch--on .ds-switch-thumb {
2078
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch--on .ds-switch-thumb, .kjun-scope .ds-switch--on:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch-thumb {
2073
2079
  --_kjun-switch-thumb-inset: var(--extension-switch-padding);
2074
2080
  margin: 0;
2075
2081
  background: var(--on-brand);
@@ -2077,11 +2083,11 @@
2077
2083
  }
2078
2084
 
2079
2085
  @media (pointer: coarse) {
2080
- .kjun-scope .ds-choice { min-height: var(--_kjun-geometry-native-minimum-touch-target); }
2086
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice, .kjun-scope .ds-choice:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { min-height: var(--_kjun-geometry-native-minimum-touch-target); }
2081
2087
  }
2082
2088
 
2083
2089
  @media (prefers-reduced-motion: reduce) {
2084
- .kjun-scope .ds-field { transition: none; }
2090
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field, .kjun-scope .ds-field:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { transition: none; }
2085
2091
  }
2086
2092
 
2087
2093
 
@@ -4030,7 +4036,7 @@
4030
4036
  .kjun-scope .price-flash-down-bg-pop { animation: price-flash-down-bg-pop var(--motion-price-background) var(--ease-out); }
4031
4037
 
4032
4038
 
4033
- .kjun-scope .ds-price-cell, .kjun-scope .kjun-price-cell {
4039
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-price-cell, .kjun-scope .ds-price-cell:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]), .kjun-scope .kjun-price-cell {
4034
4040
  display: inline-block;
4035
4041
  padding: var(--_kjun-geometry-dimension-value2) var(--_kjun-geometry-dimension-value8);
4036
4042
  border-radius: var(--_kjun-geometry-radius-radius9999);
@@ -4151,7 +4157,8 @@
4151
4157
  vertical-align: middle;
4152
4158
  }
4153
4159
  .kjun-spin,
4154
- .ds-icon-spin {
4160
+ :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-icon-spin,
4161
+ .ds-icon-spin:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
4155
4162
  animation: kjun-spin var(--motion-spin) linear infinite;
4156
4163
  }
4157
4164
  @keyframes kjun-spin {
@@ -4422,7 +4429,8 @@
4422
4429
  transition-duration: 0.01ms !important;
4423
4430
  }
4424
4431
  .kjun-scope .kjun-input,
4425
- .kjun-scope .ds-field { transition: none !important; }
4432
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-field,
4433
+ .kjun-scope .ds-field:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { transition: none !important; }
4426
4434
  }
4427
4435
 
4428
4436
  .kjun-skeleton {
@@ -4838,12 +4846,14 @@
4838
4846
  white-space: nowrap;
4839
4847
  border: 0;
4840
4848
  }
4841
- .kjun-scope .ds-choice[data-focus-visible] .ds-choice-control,
4842
- .kjun-scope .ds-choice[data-focus-visible] .ds-switch {
4849
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice[data-focus-visible] .ds-choice-control,
4850
+ .kjun-scope .ds-choice[data-focus-visible]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice-control,
4851
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-choice[data-focus-visible] .ds-switch,
4852
+ .kjun-scope .ds-choice[data-focus-visible]:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch {
4843
4853
  outline: var(--_kjun-state-focus-width) solid var(--_kjun-color-focus-ring);
4844
4854
  outline-offset: var(--_kjun-state-focus-choice-offset);
4845
4855
  }
4846
- .kjun-scope .ds-switch {
4856
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-switch, .kjun-scope .ds-switch:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
4847
4857
  border: 0;
4848
4858
  }
4849
4859
  .kjun-textarea {
@@ -5422,7 +5432,8 @@
5422
5432
  }
5423
5433
  /* Underlined as well as recolored: with a near-text brand color, hover would otherwise look like the current page. */
5424
5434
  .kjun-breadcrumb a:hover,
5425
- .ds-breadcrumb-link:hover {
5435
+ :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-breadcrumb-link:hover,
5436
+ .ds-breadcrumb-link:hover:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
5426
5437
  color: var(--_kjun-color-brand);
5427
5438
  text-decoration: underline;
5428
5439
  text-underline-offset: var(--_kjun-geometry-dimension-value2);
@@ -5750,11 +5761,16 @@
5750
5761
  .kjun-state-actions .kjun-button > .kjun-button-label { min-width: 0; }
5751
5762
 
5752
5763
  .kjun-animated-number,
5753
- .ds-signed-value,
5754
- .ds-deviation,
5755
- .ds-deviation-badge .ds-badge,
5756
- .ds-heatmap-cell,
5757
- .ds-progress-cell-label,
5764
+ :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-signed-value,
5765
+ .ds-signed-value:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]),
5766
+ :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-deviation,
5767
+ .ds-deviation:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]),
5768
+ :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-deviation-badge .ds-badge,
5769
+ .ds-deviation-badge:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-badge,
5770
+ :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-heatmap-cell,
5771
+ .ds-heatmap-cell:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]),
5772
+ :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-progress-cell-label,
5773
+ .ds-progress-cell-label:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]),
5758
5774
  .kjun-signed-value,
5759
5775
  .kjun-deviation,
5760
5776
  .kjun-deviation-badge .kjun-badge,
@@ -5819,7 +5835,7 @@
5819
5835
  outline: none;
5820
5836
  }
5821
5837
  /* Vue's tooltip wrapper is inline-block; as a flex box it centres the target instead of seating it on the baseline. */
5822
- .ds-deviation-badge > .ds-tooltip-wrapper {
5838
+ :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-deviation-badge > .ds-tooltip-wrapper, .ds-deviation-badge:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) > .ds-tooltip-wrapper {
5823
5839
  display: flex;
5824
5840
  }
5825
5841
  /* Freshness badges are tooltip targets: focusable, with the system ring around the badge. */
@@ -6544,7 +6560,7 @@
6544
6560
  letter-spacing: var(--_kjun-type-body-tracking);
6545
6561
  }
6546
6562
  /* Vue's signed value carries text-xs; inherit the change line like Web .kjun-market-change .kjun-signed-value. */
6547
- .mobile-simple-list .mobile-simple-list__change .ds-signed-value {
6563
+ .mobile-simple-list .mobile-simple-list__change :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-signed-value, .mobile-simple-list .mobile-simple-list__change .ds-signed-value:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) {
6548
6564
  font-size: inherit;
6549
6565
  line-height: inherit;
6550
6566
  font-weight: var(--_kjun-type-label-weight);
@@ -7590,67 +7606,95 @@
7590
7606
 
7591
7607
  /* Shared financial typography. Geometry remains in the component styles. */
7592
7608
  .kjun-scope .kjun-kpi-hero__label,
7593
- .kjun-scope .ds-kpi-hero__label { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7609
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__label,
7610
+ .kjun-scope .ds-kpi-hero__label:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7594
7611
  .kjun-scope .kjun-kpi-hero__sec-label,
7595
- .kjun-scope .ds-kpi-hero__sec-label { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7612
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__sec-label,
7613
+ .kjun-scope .ds-kpi-hero__sec-label:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7596
7614
  .kjun-scope .kjun-kpi-hero__sec-desc,
7597
- .kjun-scope .ds-kpi-hero__sec-desc { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7615
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__sec-desc,
7616
+ .kjun-scope .ds-kpi-hero__sec-desc:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7598
7617
  .kjun-scope .kjun-kpi-hero__delta-desc,
7599
- .kjun-scope .ds-kpi-hero__delta-desc { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7618
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__delta-desc,
7619
+ .kjun-scope .ds-kpi-hero__delta-desc:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7600
7620
  .kjun-scope .kjun-kpi-hero__value,
7601
- .kjun-scope .ds-kpi-hero__value { font-size:var(--_kjun-type-display-lg-size); line-height:var(--_kjun-type-display-lg-line); font-weight:var(--_kjun-type-display-lg-weight); letter-spacing:var(--_kjun-type-display-lg-tracking); }
7621
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__value,
7622
+ .kjun-scope .ds-kpi-hero__value:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-display-lg-size); line-height:var(--_kjun-type-display-lg-line); font-weight:var(--_kjun-type-display-lg-weight); letter-spacing:var(--_kjun-type-display-lg-tracking); }
7602
7623
  .kjun-scope .kjun-kpi-hero__affix,
7603
- .kjun-scope .ds-kpi-hero__affix { font-size:var(--_kjun-type-number-lg-size); line-height:var(--_kjun-type-number-lg-line); font-weight:var(--_kjun-type-number-lg-weight); letter-spacing:var(--_kjun-type-number-lg-tracking); }
7624
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__affix,
7625
+ .kjun-scope .ds-kpi-hero__affix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-number-lg-size); line-height:var(--_kjun-type-number-lg-line); font-weight:var(--_kjun-type-number-lg-weight); letter-spacing:var(--_kjun-type-number-lg-tracking); }
7604
7626
  .kjun-scope .kjun-kpi-hero__sec-value,
7605
- .kjun-scope .ds-kpi-hero__sec-value { font-size:var(--_kjun-type-number-md-size); line-height:var(--_kjun-type-number-md-line); font-weight:var(--_kjun-type-number-md-weight); letter-spacing:var(--_kjun-type-number-md-tracking); }
7627
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__sec-value,
7628
+ .kjun-scope .ds-kpi-hero__sec-value:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-number-md-size); line-height:var(--_kjun-type-number-md-line); font-weight:var(--_kjun-type-number-md-weight); letter-spacing:var(--_kjun-type-number-md-tracking); }
7606
7629
  .kjun-scope .kjun-kpi-hero__delta-abs,
7607
- .kjun-scope .ds-kpi-hero__delta-abs { font-size:var(--_kjun-type-number-md-size); line-height:var(--_kjun-type-number-md-line); font-weight:var(--_kjun-type-number-md-weight); letter-spacing:var(--_kjun-type-number-md-tracking); }
7630
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__delta-abs,
7631
+ .kjun-scope .ds-kpi-hero__delta-abs:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-number-md-size); line-height:var(--_kjun-type-number-md-line); font-weight:var(--_kjun-type-number-md-weight); letter-spacing:var(--_kjun-type-number-md-tracking); }
7608
7632
  .kjun-scope .kjun-kpi-hero__sec-value .kjun-number-affix,
7609
7633
  .kjun-scope .ds-kpi-hero__sec-value .kjun-number-affix { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7610
7634
  .kjun-scope .kjun-kpi-hero__delta-pct,
7611
- .kjun-scope .ds-kpi-hero__delta-pct { font-size:var(--_kjun-type-number-md-size); line-height:var(--_kjun-type-number-md-line); font-weight:var(--_kjun-type-number-md-weight); letter-spacing:var(--_kjun-type-number-md-tracking); }
7635
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__delta-pct,
7636
+ .kjun-scope .ds-kpi-hero__delta-pct:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-number-md-size); line-height:var(--_kjun-type-number-md-line); font-weight:var(--_kjun-type-number-md-weight); letter-spacing:var(--_kjun-type-number-md-tracking); }
7612
7637
  .kjun-scope .kjun-kpi-row__label,
7613
- .kjun-scope .ds-kpi-row__label { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7638
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__label,
7639
+ .kjun-scope .ds-kpi-row__label:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7614
7640
  .kjun-scope .kjun-kpi-row__desc,
7615
- .kjun-scope .ds-kpi-row__desc { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7641
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__desc,
7642
+ .kjun-scope .ds-kpi-row__desc:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7616
7643
  .kjun-scope .kjun-kpi-row__segment-label,
7617
- .kjun-scope .ds-kpi-row__segment-label { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7644
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__segment-label,
7645
+ .kjun-scope .ds-kpi-row__segment-label:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7618
7646
  .kjun-scope .kjun-kpi-row__badge,
7619
- .kjun-scope .ds-kpi-row__badge { font-size:var(--_kjun-type-control-small-size); line-height:var(--_kjun-type-control-small-line); font-weight:var(--_kjun-type-control-small-weight); letter-spacing:var(--_kjun-type-control-small-tracking); }
7647
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__badge,
7648
+ .kjun-scope .ds-kpi-row__badge:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-control-small-size); line-height:var(--_kjun-type-control-small-line); font-weight:var(--_kjun-type-control-small-weight); letter-spacing:var(--_kjun-type-control-small-tracking); }
7620
7649
  .kjun-scope .kjun-kpi-row__value,
7621
- .kjun-scope .ds-kpi-row__value { font-size:var(--_kjun-type-display-sm-size); line-height:var(--_kjun-type-display-sm-line); font-weight:var(--_kjun-type-display-sm-weight); letter-spacing:var(--_kjun-type-display-sm-tracking); }
7650
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__value,
7651
+ .kjun-scope .ds-kpi-row__value:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-display-sm-size); line-height:var(--_kjun-type-display-sm-line); font-weight:var(--_kjun-type-display-sm-weight); letter-spacing:var(--_kjun-type-display-sm-tracking); }
7622
7652
  .kjun-scope .kjun-kpi-row__affix,
7623
- .kjun-scope .ds-kpi-row__affix { font-size:var(--_kjun-type-number-sm-size); line-height:var(--_kjun-type-number-sm-line); font-weight:var(--_kjun-type-number-sm-weight); letter-spacing:var(--_kjun-type-number-sm-tracking); }
7653
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__affix,
7654
+ .kjun-scope .ds-kpi-row__affix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-number-sm-size); line-height:var(--_kjun-type-number-sm-line); font-weight:var(--_kjun-type-number-sm-weight); letter-spacing:var(--_kjun-type-number-sm-tracking); }
7624
7655
  @media (width <= 768px) {
7625
7656
  .kjun-scope .kjun-kpi-row__value,
7626
- .kjun-scope .ds-kpi-row__value { font-size:var(--_kjun-type-number-lg-size); line-height:var(--_kjun-type-number-lg-line); font-weight:var(--_kjun-type-number-lg-weight); letter-spacing:var(--_kjun-type-number-lg-tracking); }
7657
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__value,
7658
+ .kjun-scope .ds-kpi-row__value:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-number-lg-size); line-height:var(--_kjun-type-number-lg-line); font-weight:var(--_kjun-type-number-lg-weight); letter-spacing:var(--_kjun-type-number-lg-tracking); }
7627
7659
  .kjun-scope .kjun-kpi-row__affix,
7628
- .kjun-scope .ds-kpi-row__affix { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7660
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__affix,
7661
+ .kjun-scope .ds-kpi-row__affix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7629
7662
  .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__value,
7630
- .kjun-scope .ds-kpi-row--mobile-summary .ds-kpi-row__value { font-size:var(--_kjun-type-display-sm-size); line-height:var(--_kjun-type-display-sm-line); font-weight:var(--_kjun-type-display-sm-weight); letter-spacing:var(--_kjun-type-display-sm-tracking); }
7663
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row--mobile-summary .ds-kpi-row__value,
7664
+ .kjun-scope .ds-kpi-row--mobile-summary:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__value { font-size:var(--_kjun-type-display-sm-size); line-height:var(--_kjun-type-display-sm-line); font-weight:var(--_kjun-type-display-sm-weight); letter-spacing:var(--_kjun-type-display-sm-tracking); }
7631
7665
  .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__affix,
7632
- .kjun-scope .ds-kpi-row--mobile-summary .ds-kpi-row__affix { font-size:var(--_kjun-type-number-sm-size); line-height:var(--_kjun-type-number-sm-line); font-weight:var(--_kjun-type-number-sm-weight); letter-spacing:var(--_kjun-type-number-sm-tracking); }
7666
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row--mobile-summary .ds-kpi-row__affix,
7667
+ .kjun-scope .ds-kpi-row--mobile-summary:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__affix { font-size:var(--_kjun-type-number-sm-size); line-height:var(--_kjun-type-number-sm-line); font-weight:var(--_kjun-type-number-sm-weight); letter-spacing:var(--_kjun-type-number-sm-tracking); }
7633
7668
  .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__affix,
7634
- .kjun-scope .ds-kpi-row--mobile-summary .ds-kpi-row__item--secondary .ds-kpi-row__affix { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7669
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row--mobile-summary .ds-kpi-row__item--secondary .ds-kpi-row__affix,
7670
+ .kjun-scope .ds-kpi-row--mobile-summary:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__item--secondary .ds-kpi-row__affix { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7635
7671
  .kjun-scope .kjun-kpi-row--mobile-summary .kjun-kpi-row__item--secondary .kjun-kpi-row__value,
7636
- .kjun-scope .ds-kpi-row--mobile-summary .ds-kpi-row__item--secondary .ds-kpi-row__value { font-size:var(--_kjun-type-number-sm-size); line-height:var(--_kjun-type-number-sm-line); font-weight:var(--_kjun-type-number-sm-weight); letter-spacing:var(--_kjun-type-number-sm-tracking); }
7672
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row--mobile-summary .ds-kpi-row__item--secondary .ds-kpi-row__value,
7673
+ .kjun-scope .ds-kpi-row--mobile-summary:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__item--secondary .ds-kpi-row__value { font-size:var(--_kjun-type-number-sm-size); line-height:var(--_kjun-type-number-sm-line); font-weight:var(--_kjun-type-number-sm-weight); letter-spacing:var(--_kjun-type-number-sm-tracking); }
7637
7674
  }
7638
7675
  @media (width <= 640px) {
7639
7676
  .kjun-scope .kjun-kpi-hero__value,
7640
- .kjun-scope .ds-kpi-hero__value { font-size:var(--_kjun-type-display-md-size); line-height:var(--_kjun-type-display-md-line); font-weight:var(--_kjun-type-display-md-weight); letter-spacing:var(--_kjun-type-display-md-tracking); }
7677
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__value,
7678
+ .kjun-scope .ds-kpi-hero__value:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-display-md-size); line-height:var(--_kjun-type-display-md-line); font-weight:var(--_kjun-type-display-md-weight); letter-spacing:var(--_kjun-type-display-md-tracking); }
7641
7679
  .kjun-scope .kjun-kpi-hero__affix,
7642
- .kjun-scope .ds-kpi-hero__affix { font-size:var(--_kjun-type-number-md-size); line-height:var(--_kjun-type-number-md-line); font-weight:var(--_kjun-type-number-md-weight); letter-spacing:var(--_kjun-type-number-md-tracking); }
7680
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__affix,
7681
+ .kjun-scope .ds-kpi-hero__affix:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) { font-size:var(--_kjun-type-number-md-size); line-height:var(--_kjun-type-number-md-line); font-weight:var(--_kjun-type-number-md-weight); letter-spacing:var(--_kjun-type-number-md-tracking); }
7643
7682
  }
7644
7683
  .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__value,
7645
- .kjun-scope .ds-kpi-hero--sm .ds-kpi-hero__value { font-size:var(--_kjun-type-display-sm-size); line-height:var(--_kjun-type-display-sm-line); font-weight:var(--_kjun-type-display-sm-weight); letter-spacing:var(--_kjun-type-display-sm-tracking); }
7684
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero--sm .ds-kpi-hero__value,
7685
+ .kjun-scope .ds-kpi-hero--sm:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__value { font-size:var(--_kjun-type-display-sm-size); line-height:var(--_kjun-type-display-sm-line); font-weight:var(--_kjun-type-display-sm-weight); letter-spacing:var(--_kjun-type-display-sm-tracking); }
7646
7686
  .kjun-scope .kjun-kpi-hero--sm .kjun-kpi-hero__affix,
7647
- .kjun-scope .ds-kpi-hero--sm .ds-kpi-hero__affix { font-size:var(--_kjun-type-number-sm-size); line-height:var(--_kjun-type-number-sm-line); font-weight:var(--_kjun-type-number-sm-weight); letter-spacing:var(--_kjun-type-number-sm-tracking); }
7687
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero--sm .ds-kpi-hero__affix,
7688
+ .kjun-scope .ds-kpi-hero--sm:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-hero__affix { font-size:var(--_kjun-type-number-sm-size); line-height:var(--_kjun-type-number-sm-line); font-weight:var(--_kjun-type-number-sm-weight); letter-spacing:var(--_kjun-type-number-sm-tracking); }
7648
7689
  .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__value,
7649
- .kjun-scope .ds-kpi-row--sm .ds-kpi-row__value { font-size:var(--_kjun-type-number-lg-size); line-height:var(--_kjun-type-number-lg-line); font-weight:var(--_kjun-type-number-lg-weight); letter-spacing:var(--_kjun-type-number-lg-tracking); }
7690
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row--sm .ds-kpi-row__value,
7691
+ .kjun-scope .ds-kpi-row--sm:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__value { font-size:var(--_kjun-type-number-lg-size); line-height:var(--_kjun-type-number-lg-line); font-weight:var(--_kjun-type-number-lg-weight); letter-spacing:var(--_kjun-type-number-lg-tracking); }
7650
7692
  .kjun-scope .kjun-kpi-row--sm .kjun-kpi-row__affix,
7651
- .kjun-scope .ds-kpi-row--sm .ds-kpi-row__affix { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7693
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row--sm .ds-kpi-row__affix,
7694
+ .kjun-scope .ds-kpi-row--sm:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__affix { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7652
7695
  .kjun-scope .kjun-kpi-row .kjun-kpi-row__item .kjun-kpi-row__value--text,
7653
- .kjun-scope .ds-kpi-row .ds-kpi-row__item .ds-kpi-row__value--text { font-size:var(--_kjun-type-body-size); line-height:var(--_kjun-type-body-line); font-weight:var(--_kjun-type-body-weight); letter-spacing:var(--_kjun-type-body-tracking); }
7696
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row .ds-kpi-row__item .ds-kpi-row__value--text,
7697
+ .kjun-scope .ds-kpi-row:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__item .ds-kpi-row__value--text { font-size:var(--_kjun-type-body-size); line-height:var(--_kjun-type-body-line); font-weight:var(--_kjun-type-body-weight); letter-spacing:var(--_kjun-type-body-tracking); }
7654
7698
  .kjun-scope :is(.kjun-kpi-row__badge,.ds-kpi-row__badge,.kjun-kpi-hero__sec-label,.ds-kpi-hero__sec-label) { white-space:normal; overflow-wrap:anywhere; }
7655
7699
 
7656
7700
  .kjun-scope :is(.kjun-kpi-hero__sec-affix,.ds-kpi-hero__sec-affix,.kjun-number-affix,.ds-animated-number__affix) { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); }
@@ -7664,7 +7708,8 @@
7664
7708
  .kjun-scope .ds-kpi-hero__delta-line .kjun-number-affix { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7665
7709
 
7666
7710
  .kjun-scope .kjun-kpi-row .kjun-kpi-row__value--text .kjun-kpi-row__affix,
7667
- .kjun-scope .ds-kpi-row .ds-kpi-row__value--text .ds-kpi-row__affix { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7711
+ .kjun-scope :where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row .ds-kpi-row__value--text .ds-kpi-row__affix,
7712
+ .kjun-scope .ds-kpi-row:where([class*="kjun-"]:not(.kjun-scope), .kjun-scope[class*=" kjun-"]) .ds-kpi-row__value--text .ds-kpi-row__affix { font-size:var(--_kjun-type-caption-size); line-height:var(--_kjun-type-caption-line); font-weight:var(--_kjun-type-caption-weight); letter-spacing:var(--_kjun-type-caption-tracking); }
7668
7713
  .kjun-scope :is(.kjun-kpi-row__value--text, .ds-kpi-row__value--text) :is(.kjun-animated-number, .ds-animated-number) {
7669
7714
  font-family: var(--kjun-font);
7670
7715
  font-variant-numeric: normal;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kjun-ui/native",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "license": "MIT",
5
5
  "homepage": "https://ui.kjun.dev",
6
6
  "repository": {
@@ -47,8 +47,8 @@
47
47
  "./package.json": "./package.json"
48
48
  },
49
49
  "dependencies": {
50
- "@kjun-ui/tokens": "0.4.0",
51
- "@kjun-ui/icons": "0.4.0"
50
+ "@kjun-ui/tokens": "0.4.1",
51
+ "@kjun-ui/icons": "0.4.1"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "react": "^19.2.3",