settings-stack.css

13.5 KB · raw

1/* Settings Stack — layered category deck for the full settings surface. */23.stk-shell {4  flex: 1;5  min-height: 0;6  position: relative;7  overflow: hidden;8  padding: 10px 12px 28px;9}1011.stk-mast {12  display: flex;13  align-items: center;14  justify-content: space-between;15  gap: 10px;16  padding: 0 0 8px;17}1819.stk-back {20  width: 28px;21  height: 28px;22  display: inline-flex;23  align-items: center;24  justify-content: center;25  flex: 0 0 auto;26  border: 1px solid var(--peach-border);27  border-radius: 999px;28  background: color-mix(in srgb, var(--peach-t0) 4%, transparent);29  color: var(--peach-t1);30  cursor: pointer;31}3233.stk-back:hover {34  color: var(--peach-t0);35  border-color: color-mix(in srgb, var(--peach-accent) 34%, transparent);36  background: color-mix(in srgb, var(--peach-accent) 10%, transparent);37}3839.stk-mast-title {40  flex: 1;41  font-family: var(--font-display);42  font-style: italic;43  font-weight: 400;44  font-size: 22px;45  line-height: 1;46  color: var(--peach-t0);47}4849.stk-mast-meta {50  display: flex;51  align-items: baseline;52  gap: 6px;53  font-family: var(--font-mono);54  font-size: 9px;55  letter-spacing: 0.22em;56  text-transform: uppercase;57  color: var(--peach-t2);58}5960.stk-version-corner {61  position: absolute;62  bottom: 7px;63  left: 50%;64  transform: translateX(-50%);65  font-family: var(--font-mono);66  font-size: 7px;67  letter-spacing: 0.06em;68  color: color-mix(in srgb, var(--peach-t2) 50%, transparent);69  pointer-events: none;70  white-space: nowrap;71  z-index: 1;72}7374.stk-deck {75  position: relative;76  height: min(462px, calc(100% - 36px));77  min-height: 462px;78  margin-top: 0;79}8081.stk-card {82  position: absolute;83  left: 0;84  right: 0;85  border-radius: var(--stack-card-radius);86  padding: 18px 18px 16px;87  overflow: hidden;88  cursor: pointer;89  transition:90    transform 380ms var(--stack-spring),91    height 380ms var(--stack-spring),92    box-shadow 280ms ease,93    opacity 220ms ease;94  box-shadow:95    0 1px 0 color-mix(in srgb, var(--peach-t0) 5%, transparent) inset,96    0 8px 20px rgba(0, 0, 0, 0.25);97  border: 1px solid color-mix(in srgb, var(--peach-t0) 6%, transparent);98  will-change: transform;99}100101.stk-card::after {102  content: "";103  position: absolute;104  inset: 0;105  border-radius: inherit;106  pointer-events: none;107  background:108    radial-gradient(109      120% 80% at 0% 0%,110      color-mix(in srgb, #fff 12%, transparent),111      transparent 50%112    );113}114115.stk-card.is-active {116  box-shadow:117    0 1px 0 color-mix(in srgb, var(--peach-t0) 8%, transparent) inset,118    0 18px 36px rgba(0, 0, 0, 0.42);119  cursor: default;120  padding-top: 28px;121}122123.stk-card.is-focused {124  cursor: default;125}126127.stk-card.is-tab:hover {128  transform: translateY(calc(var(--stk-card-top) - 7px));129  box-shadow:130    0 1px 0 color-mix(in srgb, #fff 9%, transparent) inset,131    0 16px 32px rgba(0, 0, 0, 0.36),132    0 0 0 1px color-mix(in srgb, #fff 10%, transparent);133  transition:134    transform 90ms ease-out,135    box-shadow 90ms ease-out;136}137138.stk-card.is-concealed {139  opacity: 0;140  pointer-events: none;141}142143.stk-card-top {144  display: flex;145  justify-content: space-between;146  align-items: center;147  margin-bottom: 12px;148  position: relative;149  z-index: 1;150}151152.stk-card-num {153  font-family: var(--font-mono);154  font-size: 8.5px;155  letter-spacing: 0.26em;156  text-transform: uppercase;157  opacity: 0.7;158}159160.stk-card-icon {161  opacity: 0.85;162}163164.stk-card-title {165  position: relative;166  z-index: 1;167  margin: 6px 0 0;168  font-family: var(--font-display);169  font-style: italic;170  font-weight: 400;171  font-size: 26px;172  line-height: 1.2;173}174175.stk-card-lede {176  position: relative;177  z-index: 1;178  margin: 4px 0 0;179  font-family: var(--font-display);180  font-style: italic;181  font-size: 12.5px;182  line-height: 1.4;183  opacity: 0.72;184}185186.stk-card-body {187  position: relative;188  z-index: 1;189  height: calc(100% - 76px);190  margin-top: 14px;191  overflow-y: auto;192  overflow-x: hidden;193  padding-bottom: 16px;194  opacity: 0;195  scrollbar-width: thin;196  scrollbar-color: color-mix(in srgb, currentColor 28%, transparent) transparent;197  transition: opacity 200ms 100ms ease;198}199200.stk-card.is-active .stk-card-body {201  opacity: 1;202}203204.stk-card.is-tab .stk-card-top {205  display: none;206}207208.stk-card.is-tab {209  padding: 10px 16px 8px;210}211212.stk-card.is-tab .stk-card-title {213  font-size: 19px;214  line-height: 1;215  white-space: nowrap;216  overflow: hidden;217  text-overflow: ellipsis;218}219220.stk-card.is-tab .stk-card-lede,221.stk-card.is-tab .stk-card-body {222  display: none;223}224225.stk-card *:focus-visible {226  outline: 1px solid currentColor;227  outline-offset: 2px;228}229230.stk-row {231  display: flex;232  align-items: center;233  justify-content: space-between;234  gap: 12px;235  padding: 10px 0;236  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);237}238239.stk-row:last-child {240  border-bottom: none;241}242243.stk-row-name {244  font-size: 13px;245}246247.stk-row-sub {248  margin-top: 2px;249  font-family: var(--font-display);250  font-style: italic;251  font-size: 11px;252  opacity: 0.7;253}254255.stk-pill {256  display: inline-flex;257  align-items: center;258  justify-content: center;259  min-height: 24px;260  padding: 3px 10px;261  font-family: var(--font-mono);262  font-size: 10px;263  letter-spacing: 0.08em;264  text-transform: lowercase;265  background: transparent;266  color: currentColor;267  border: 1px solid color-mix(in srgb, currentColor 35%, transparent);268  border-radius: 999px;269  cursor: pointer;270  transition: background 140ms ease, border-color 140ms ease;271}272273.stk-pill:hover,274.stk-pill.is-accent {275  background: color-mix(in srgb, currentColor 18%, transparent);276  border-color: color-mix(in srgb, currentColor 55%, transparent);277}278279.stk-pip {280  display: inline-block;281  width: 18px;282  height: 18px;283  border-radius: 50%;284  background: rgba(0, 0, 0, 0.18);285  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);286}287288.stk-pip.is-on {289  background: var(--peach-health-ok);290  box-shadow: 0 0 6px color-mix(in srgb, var(--peach-health-ok) 55%, transparent);291}292293.stk-sync-actions,294.stk-fb-chips,295.stk-inline-actions {296  display: flex;297  flex-wrap: wrap;298  gap: 6px;299}300301.stk-key {302  font-family: var(--font-mono);303  font-size: 10px;304  letter-spacing: 0.06em;305  padding: 2px 7px;306  border: 1px solid color-mix(in srgb, currentColor 32%, transparent);307  border-radius: 4px;308  background: color-mix(in srgb, currentColor 6%, transparent);309}310311.stk-pro-headline {312  padding: 6px 0 14px;313  border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);314}315316.stk-pro-title,317.stk-pro-price {318  font-family: var(--font-display);319  font-style: italic;320  line-height: 1;321}322323.stk-pro-title {324  font-size: 22px;325}326327.stk-pro-price {328  font-size: 28px;329}330331.stk-pro-meta {332  margin-top: 4px;333  font-family: var(--font-mono);334  font-size: 9.5px;335  letter-spacing: 0.18em;336  text-transform: uppercase;337  opacity: 0.7;338}339340.stk-card .peach-settings-body {341  display: block;342  flex: none;343  min-height: 0;344  overflow: visible;345  padding: 0;346  background: transparent;347}348349.stk-card .peach-settings-group {350  margin: 0;351  padding: 0;352  border: 0;353  border-radius: 0;354  background: transparent;355  box-shadow: none;356  backdrop-filter: none;357  -webkit-backdrop-filter: none;358}359360.stk-card .peach-settings-group + .peach-settings-group {361  margin-top: 0;362}363364.stk-card .peach-settings-sub-label,365.stk-card .peach-settings-label {366  margin: 12px 0 4px;367  color: color-mix(in srgb, currentColor 58%, transparent);368}369370.stk-card .peach-settings-sub-label:first-child,371.stk-card .peach-settings-label:first-child {372  margin-top: 0;373}374375.stk-card .peach-settings-row,376.stk-card .peach-shortcut-row,377.stk-card .peach-history-row {378  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);379  color: currentColor;380}381382.stk-card .peach-settings-row--meta,383.stk-card .peach-settings-value,384.stk-card .peach-hint,385.stk-card .peach-settings-hint,386.stk-card .peach-feedback-meta,387.stk-card .peach-feedback-anon,388.stk-card .peach-feedback-intro,389.stk-card .peach-history-sub,390.stk-card .peach-history-footer,391.stk-card .peach-danger-card-copy {392  color: color-mix(in srgb, currentColor 70%, transparent);393}394395.stk-card .peach-toggle {396  --peach-accent: currentColor;397  border-color: color-mix(in srgb, currentColor 32%, transparent);398  background: color-mix(in srgb, currentColor 8%, transparent);399}400401.stk-card .peach-toggle.is-on {402  background: color-mix(in srgb, currentColor 28%, transparent);403  border-color: color-mix(in srgb, currentColor 50%, transparent);404}405406.stk-card .peach-toggle-knob {407  background: color-mix(in srgb, currentColor 58%, transparent);408}409410.stk-card .peach-toggle.is-on .peach-toggle-knob {411  background: currentColor;412}413414.stk-card .peach-btn--subtle,415.stk-card .peach-btn--ghost,416.stk-card .peach-btn--accent,417.stk-card .peach-shortcut-chip,418.stk-card .peach-shortcut-reset,419.stk-card .peach-feedback-chip,420.stk-card .peach-settings-license-copy,421.stk-card .peach-settings-license-toggle {422  color: currentColor;423  border-color: color-mix(in srgb, currentColor 28%, transparent);424  background: color-mix(in srgb, currentColor 8%, transparent);425}426427.stk-card .peach-btn--subtle:hover,428.stk-card .peach-btn--ghost:hover,429.stk-card .peach-btn--accent:hover,430.stk-card .peach-shortcut-chip:hover,431.stk-card .peach-feedback-chip:hover,432.stk-card .peach-feedback-chip.is-active {433  background: color-mix(in srgb, currentColor 16%, transparent);434}435436.stk-card .peach-feedback-chip.is-active {437  color: #18121a;438  border-color: color-mix(in srgb, currentColor 92%, white 8%);439  background: color-mix(in srgb, currentColor 86%, white 14%);440  box-shadow:441    0 0 0 1px color-mix(in srgb, currentColor 56%, transparent),442    0 0 16px color-mix(in srgb, currentColor 28%, transparent);443  font-weight: 700;444}445446.stk-card .peach-feedback-thanks {447  color: currentColor;448  border-color: color-mix(in srgb, currentColor 32%, transparent);449  background:450    linear-gradient(180deg, color-mix(in srgb, currentColor 12%, transparent), transparent),451    rgba(0, 0, 0, 0.18);452}453454.stk-card .peach-feedback-thanks-title {455  color: currentColor;456}457458.stk-card .peach-settings-input,459.stk-card .peach-settings-select,460.stk-card .peach-pro-key-inline-input,461.stk-card .peach-feedback-textarea {462  color: currentColor;463  border-color: color-mix(in srgb, currentColor 22%, transparent);464  background: rgba(0, 0, 0, 0.18);465}466467.stk-card .peach-settings-input::placeholder,468.stk-card .peach-pro-key-inline-input::placeholder,469.stk-card .peach-feedback-textarea::placeholder {470  color: color-mix(in srgb, currentColor 42%, transparent);471}472473.stk-card .peach-accent-picker {474  justify-content: flex-end;475  max-width: 160px;476}477478.stk-card .peach-accent-swatch {479  width: 20px;480  height: 20px;481}482483.stk-card .peach-accent-swatch.is-active {484  border-color: currentColor;485}486487.stk-card .peach-history-list {488  border-color: color-mix(in srgb, currentColor 18%, transparent);489}490491.stk-card .peach-danger-card {492  background: rgba(0, 0, 0, 0.18);493  border-color: color-mix(in srgb, currentColor 20%, transparent);494}495496.stk-card .peach-pro-upgrade,497.stk-card .peach-pro-active,498.stk-card .peach-pro-active-hero,499.stk-card .peach-pro-grid-item {500  background: transparent;501  border-color: color-mix(in srgb, currentColor 14%, transparent);502  box-shadow: none;503}504505.stk-card .peach-pro-grid {506  gap: 6px;507}508509.stk-card .peach-pro-grid-item {510  padding: 7px 0;511}512513.stk-card .peach-pro-headline,514.stk-card .peach-pro-active-title {515  color: currentColor;516}517518.stk-card .peach-feedback-textarea {519  min-height: 116px;520}521522.peach-settings-overlay {523  --bg: #0C0A06;524  --s1: #131109;525  --s2: #1A1710;526  --s3: #221F14;527  --t0: #F0E8D8;528  --t1: rgba(240, 232, 216, 0.50);529  --t2: rgba(240, 232, 216, 0.20);530  --t3: rgba(240, 232, 216, 0.07);531  --t4: rgba(240, 232, 216, 0.04);532  --surface-card: rgba(240, 232, 216, 0.02);533  --surface-elevated: rgba(19, 17, 9, 0.88);534  --shell-accent-a: color-mix(in srgb, var(--peach-accent) 8%, transparent);535  --shell-accent-b: color-mix(in srgb, var(--peach-accent) 6%, transparent);536  --peach-bg: var(--bg);537  --peach-s1: var(--s1);538  --peach-s2: var(--s2);539  --peach-s3: var(--s3);540  --peach-t0: var(--t0);541  --peach-t1: var(--t1);542  --peach-t2: var(--t2);543  --peach-t3: var(--t3);544  --peach-t4: var(--t4);545  --peach-bg-card: var(--surface-card);546  --peach-border: var(--peach-t3);547  --peach-text-dim: var(--peach-t1);548  background: var(--peach-bg);549  color: var(--peach-t0);550}551552/* Force html/body backgrounds dark when Settings is mounted so the popup553   frame chrome doesn't go white in light theme. */554html:has(.peach-settings-overlay),555html:has(.peach-settings-overlay) body {556  background: #0C0A06;557}558559/* Beat the .light .peach-btn--ghost rule in popup.css which would otherwise560   paint Settings buttons with the light-theme surface color. */561.peach-settings-overlay .stk-card .peach-btn--ghost:not(.peach-icon-btn) {562  background: color-mix(in srgb, var(--peach-t0) 8%, transparent);563  border-color: color-mix(in srgb, var(--peach-t0) 22%, transparent);564  color: var(--peach-t0);565}566.peach-settings-overlay .stk-card .peach-btn--ghost:not(.peach-icon-btn):hover {567  background: color-mix(in srgb, var(--peach-t0) 16%, transparent);568}569570.peach-settings-overlay .stk-shell {571  background: var(--peach-bg);572}573574.peach-settings-overlay .stk-card {575  box-shadow:576    0 1px 0 color-mix(in srgb, var(--peach-t0) 5%, transparent) inset,577    0 8px 20px rgba(0, 0, 0, 0.25);578}579580.peach-settings-overlay .stk-card.is-active {581  box-shadow:582    0 1px 0 color-mix(in srgb, var(--peach-t0) 8%, transparent) inset,583    0 18px 36px rgba(0, 0, 0, 0.42);584}585586:root[data-native="true"] {587  --stack-tab-h: 64px;588  --stack-tab-overlap: 16px;589}590591:root[data-native="true"] .stk-deck {592  height: calc(100dvh - 126px);593  min-height: 520px;594}595596[data-motion="reduce"] .stk-card,597[data-motion="reduce"] .stk-card-body {598  transition: none !important;599}