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}121122.stk-card.is-focused {123  cursor: default;124}125126.stk-card.is-tab:hover {127  transform: translateY(calc(var(--stk-card-top) - 7px));128  box-shadow:129    0 1px 0 color-mix(in srgb, #fff 9%, transparent) inset,130    0 16px 32px rgba(0, 0, 0, 0.36),131    0 0 0 1px color-mix(in srgb, #fff 10%, transparent);132  transition:133    transform 90ms ease-out,134    box-shadow 90ms ease-out;135}136137.stk-card.is-concealed {138  opacity: 0;139  pointer-events: none;140}141142.stk-card-top {143  display: flex;144  justify-content: space-between;145  align-items: center;146  margin-bottom: 12px;147  position: relative;148  z-index: 1;149}150151.stk-card-num {152  font-family: var(--font-mono);153  font-size: 8.5px;154  letter-spacing: 0.26em;155  text-transform: uppercase;156  opacity: 0.7;157}158159.stk-card-icon {160  opacity: 0.85;161}162163.stk-card-title {164  position: relative;165  z-index: 1;166  margin: 6px 0 0;167  font-family: var(--font-display);168  font-style: italic;169  font-weight: 400;170  font-size: 26px;171  line-height: 1.2;172}173174.stk-card-lede {175  position: relative;176  z-index: 1;177  margin: 4px 0 0;178  font-family: var(--font-display);179  font-style: italic;180  font-size: 12.5px;181  line-height: 1.4;182  opacity: 0.72;183}184185.stk-card-body {186  position: relative;187  z-index: 1;188  height: calc(100% - 76px);189  margin-top: 14px;190  overflow-y: auto;191  overflow-x: hidden;192  padding-bottom: 16px;193  opacity: 0;194  scrollbar-width: thin;195  scrollbar-color: color-mix(in srgb, currentColor 28%, transparent) transparent;196  transition: opacity 200ms 100ms ease;197}198199.stk-card.is-active .stk-card-body {200  opacity: 1;201}202203.stk-card.is-tab .stk-card-top {204  display: none;205}206207.stk-card.is-tab {208  padding: 10px 16px 8px;209}210211.stk-card.is-tab .stk-card-title {212  font-size: 19px;213  line-height: 1;214  white-space: nowrap;215  overflow: hidden;216  text-overflow: ellipsis;217}218219.stk-card.is-tab .stk-card-lede,220.stk-card.is-tab .stk-card-body {221  display: none;222}223224.stk-card *:focus-visible {225  outline: 1px solid currentColor;226  outline-offset: 2px;227}228229.stk-row {230  display: flex;231  align-items: center;232  justify-content: space-between;233  gap: 12px;234  padding: 10px 0;235  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);236}237238.stk-row:last-child {239  border-bottom: none;240}241242.stk-row-name {243  font-size: 13px;244}245246.stk-row-sub {247  margin-top: 2px;248  font-family: var(--font-display);249  font-style: italic;250  font-size: 11px;251  opacity: 0.7;252}253254.stk-pill {255  display: inline-flex;256  align-items: center;257  justify-content: center;258  min-height: 24px;259  padding: 3px 10px;260  font-family: var(--font-mono);261  font-size: 10px;262  letter-spacing: 0.08em;263  text-transform: lowercase;264  background: transparent;265  color: currentColor;266  border: 1px solid color-mix(in srgb, currentColor 35%, transparent);267  border-radius: 999px;268  cursor: pointer;269  transition: background 140ms ease, border-color 140ms ease;270}271272.stk-pill:hover,273.stk-pill.is-accent {274  background: color-mix(in srgb, currentColor 18%, transparent);275  border-color: color-mix(in srgb, currentColor 55%, transparent);276}277278.stk-pip {279  display: inline-block;280  width: 18px;281  height: 18px;282  border-radius: 50%;283  background: rgba(0, 0, 0, 0.18);284  border: 1px solid color-mix(in srgb, currentColor 24%, transparent);285}286287.stk-pip.is-on {288  background: var(--peach-health-ok);289  box-shadow: 0 0 6px color-mix(in srgb, var(--peach-health-ok) 55%, transparent);290}291292.stk-sync-actions,293.stk-fb-chips,294.stk-inline-actions {295  display: flex;296  flex-wrap: wrap;297  gap: 6px;298}299300.stk-key {301  font-family: var(--font-mono);302  font-size: 10px;303  letter-spacing: 0.06em;304  padding: 2px 7px;305  border: 1px solid color-mix(in srgb, currentColor 32%, transparent);306  border-radius: 4px;307  background: color-mix(in srgb, currentColor 6%, transparent);308}309310.stk-pro-headline {311  padding: 6px 0 14px;312  border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent);313}314315.stk-pro-title,316.stk-pro-price {317  font-family: var(--font-display);318  font-style: italic;319  line-height: 1;320}321322.stk-pro-title {323  font-size: 22px;324}325326.stk-pro-price {327  font-size: 28px;328}329330.stk-pro-meta {331  margin-top: 4px;332  font-family: var(--font-mono);333  font-size: 9.5px;334  letter-spacing: 0.18em;335  text-transform: uppercase;336  opacity: 0.7;337}338339.stk-card .peach-settings-body {340  display: block;341  flex: none;342  min-height: 0;343  overflow: visible;344  padding: 0;345  background: transparent;346}347348.stk-card .peach-settings-group {349  margin: 0;350  padding: 0;351  border: 0;352  border-radius: 0;353  background: transparent;354  box-shadow: none;355  backdrop-filter: none;356  -webkit-backdrop-filter: none;357}358359.stk-card .peach-settings-group + .peach-settings-group {360  margin-top: 0;361}362363.stk-card .peach-settings-sub-label,364.stk-card .peach-settings-label {365  margin: 12px 0 4px;366  color: color-mix(in srgb, currentColor 58%, transparent);367}368369.stk-card .peach-settings-sub-label:first-child,370.stk-card .peach-settings-label:first-child {371  margin-top: 0;372}373374.stk-card .peach-settings-row,375.stk-card .peach-shortcut-row,376.stk-card .peach-history-row {377  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);378  color: currentColor;379}380381.stk-card .peach-settings-row--meta,382.stk-card .peach-settings-value,383.stk-card .peach-hint,384.stk-card .peach-settings-hint,385.stk-card .peach-feedback-meta,386.stk-card .peach-feedback-anon,387.stk-card .peach-feedback-intro,388.stk-card .peach-history-sub,389.stk-card .peach-history-footer,390.stk-card .peach-danger-card-copy {391  color: color-mix(in srgb, currentColor 70%, transparent);392}393394.stk-card .peach-toggle {395  --peach-accent: currentColor;396  border-color: color-mix(in srgb, currentColor 32%, transparent);397  background: color-mix(in srgb, currentColor 8%, transparent);398}399400.stk-card .peach-toggle.is-on {401  background: color-mix(in srgb, currentColor 28%, transparent);402  border-color: color-mix(in srgb, currentColor 50%, transparent);403}404405.stk-card .peach-toggle-knob {406  background: color-mix(in srgb, currentColor 58%, transparent);407}408409.stk-card .peach-toggle.is-on .peach-toggle-knob {410  background: currentColor;411}412413.stk-card .peach-btn--subtle,414.stk-card .peach-btn--ghost,415.stk-card .peach-btn--accent,416.stk-card .peach-shortcut-chip,417.stk-card .peach-shortcut-reset,418.stk-card .peach-feedback-chip,419.stk-card .peach-settings-license-copy,420.stk-card .peach-settings-license-toggle {421  color: currentColor;422  border-color: color-mix(in srgb, currentColor 28%, transparent);423  background: color-mix(in srgb, currentColor 8%, transparent);424}425426.stk-card .peach-btn--subtle:hover,427.stk-card .peach-btn--ghost:hover,428.stk-card .peach-btn--accent:hover,429.stk-card .peach-shortcut-chip:hover,430.stk-card .peach-feedback-chip:hover,431.stk-card .peach-feedback-chip.is-active {432  background: color-mix(in srgb, currentColor 16%, transparent);433}434435.stk-card .peach-feedback-chip.is-active {436  color: #18121a;437  border-color: color-mix(in srgb, currentColor 92%, white 8%);438  background: color-mix(in srgb, currentColor 86%, white 14%);439  box-shadow:440    0 0 0 1px color-mix(in srgb, currentColor 56%, transparent),441    0 0 16px color-mix(in srgb, currentColor 28%, transparent);442  font-weight: 700;443}444445.stk-card .peach-feedback-thanks {446  color: currentColor;447  border-color: color-mix(in srgb, currentColor 32%, transparent);448  background:449    linear-gradient(180deg, color-mix(in srgb, currentColor 12%, transparent), transparent),450    rgba(0, 0, 0, 0.18);451}452453.stk-card .peach-feedback-thanks-title {454  color: currentColor;455}456457.stk-card .peach-settings-input,458.stk-card .peach-settings-select,459.stk-card .peach-pro-key-inline-input,460.stk-card .peach-feedback-textarea {461  color: currentColor;462  border-color: color-mix(in srgb, currentColor 22%, transparent);463  background: rgba(0, 0, 0, 0.18);464}465466.stk-card .peach-settings-input::placeholder,467.stk-card .peach-pro-key-inline-input::placeholder,468.stk-card .peach-feedback-textarea::placeholder {469  color: color-mix(in srgb, currentColor 42%, transparent);470}471472.stk-card .peach-accent-picker {473  justify-content: flex-end;474  max-width: 160px;475}476477.stk-card .peach-accent-swatch {478  width: 20px;479  height: 20px;480}481482.stk-card .peach-accent-swatch.is-active {483  border-color: currentColor;484}485486.stk-card .peach-history-list {487  border-color: color-mix(in srgb, currentColor 18%, transparent);488}489490.stk-card .peach-danger-card {491  background: rgba(0, 0, 0, 0.18);492  border-color: color-mix(in srgb, currentColor 20%, transparent);493}494495.stk-card .peach-pro-upgrade,496.stk-card .peach-pro-active,497.stk-card .peach-pro-active-hero,498.stk-card .peach-pro-grid-item {499  background: transparent;500  border-color: color-mix(in srgb, currentColor 14%, transparent);501  box-shadow: none;502}503504.stk-card .peach-pro-grid {505  gap: 6px;506}507508.stk-card .peach-pro-grid-item {509  padding: 7px 0;510}511512.stk-card .peach-pro-headline,513.stk-card .peach-pro-active-title {514  color: currentColor;515}516517.stk-card .peach-feedback-textarea {518  min-height: 116px;519}520521.peach-settings-overlay {522  --bg: #0C0A06;523  --s1: #131109;524  --s2: #1A1710;525  --s3: #221F14;526  --t0: #F0E8D8;527  --t1: rgba(240, 232, 216, 0.50);528  --t2: rgba(240, 232, 216, 0.20);529  --t3: rgba(240, 232, 216, 0.07);530  --t4: rgba(240, 232, 216, 0.04);531  --surface-card: rgba(240, 232, 216, 0.02);532  --surface-elevated: rgba(19, 17, 9, 0.88);533  --shell-accent-a: color-mix(in srgb, var(--peach-accent) 8%, transparent);534  --shell-accent-b: color-mix(in srgb, var(--peach-accent) 6%, transparent);535  --peach-bg: var(--bg);536  --peach-s1: var(--s1);537  --peach-s2: var(--s2);538  --peach-s3: var(--s3);539  --peach-t0: var(--t0);540  --peach-t1: var(--t1);541  --peach-t2: var(--t2);542  --peach-t3: var(--t3);543  --peach-t4: var(--t4);544  --peach-bg-card: var(--surface-card);545  --peach-border: var(--peach-t3);546  --peach-text-dim: var(--peach-t1);547  background: var(--peach-bg);548  color: var(--peach-t0);549}550551/* Force html/body backgrounds dark when Settings is mounted so the popup552   frame chrome doesn't go white in light theme. */553html:has(.peach-settings-overlay),554html:has(.peach-settings-overlay) body {555  background: #0C0A06;556}557558/* Beat the .light .peach-btn--ghost rule in popup.css which would otherwise559   paint Settings buttons with the light-theme surface color. */560.peach-settings-overlay .stk-card .peach-btn--ghost:not(.peach-icon-btn) {561  background: color-mix(in srgb, var(--peach-t0) 8%, transparent);562  border-color: color-mix(in srgb, var(--peach-t0) 22%, transparent);563  color: var(--peach-t0);564}565.peach-settings-overlay .stk-card .peach-btn--ghost:not(.peach-icon-btn):hover {566  background: color-mix(in srgb, var(--peach-t0) 16%, transparent);567}568569.peach-settings-overlay .stk-shell {570  background: var(--peach-bg);571}572573.peach-settings-overlay .stk-card {574  box-shadow:575    0 1px 0 color-mix(in srgb, var(--peach-t0) 5%, transparent) inset,576    0 8px 20px rgba(0, 0, 0, 0.25);577}578579.peach-settings-overlay .stk-card.is-active {580  box-shadow:581    0 1px 0 color-mix(in srgb, var(--peach-t0) 8%, transparent) inset,582    0 18px 36px rgba(0, 0, 0, 0.42);583}584585:root[data-native="true"] {586  --stack-tab-h: 64px;587  --stack-tab-overlap: 16px;588}589590:root[data-native="true"] .stk-deck {591  height: calc(100dvh - 126px);592  min-height: 520px;593}594595[data-motion="reduce"] .stk-card,596[data-motion="reduce"] .stk-card-body {597  transition: none !important;598}