:root {
  --app-background: #F6F5EC;
  --app-surface: #FDFCF6;
  --app-ink: #292F24;
  --app-muted: #626B56;
  --app-focus: #526C43;
  --app-error: #9C4F39;
  --app-border: #DDDCD0;
  --quiet-orbit-ink: #354326;
  color-scheme: light;
}
:root[data-theme="dark"] {
  --app-background: #191B18;
  --app-surface: #242720;
  --app-ink: #F2F2E9;
  --app-muted: #ACB3A2;
  --app-focus: #D6E66B;
  --app-error: #E4B6A2;
  --app-border: #343A2D;
  --quiet-orbit-ink: #F2F2E9;
  color-scheme: dark;
}
@font-face { font-family: "PublicSans-Regular"; src: url("/fonts/PublicSans-Regular.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "PublicSans-Medium"; src: url("/fonts/PublicSans-Medium.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "PublicSans-SemiBold"; src: url("/fonts/PublicSans-SemiBold.woff2") format("woff2"); font-display: swap; }
@font-face { font-family: "PublicSans-Bold"; src: url("/fonts/PublicSans-Bold.woff2") format("woff2"); font-display: swap; }
html, body, #root { width: 100%; min-height: 100%; }
html { height: 100%; background: var(--app-background); -webkit-text-size-adjust: 100%; }
body { height: 100%; margin: 0; overflow: hidden; overscroll-behavior: none; font-family: "PublicSans-Regular", sans-serif; color: var(--app-ink); background: var(--app-background); }
#root { height: 100%; display: flex; flex: 1; overflow: hidden; }
button, input, select, textarea { font: inherit; caret-color: var(--app-focus); }
:focus-visible { outline: 2px solid var(--app-focus); outline-offset: 3px; }
:where(input:not([type="checkbox"]):not([type="radio"]), textarea):focus { outline: 2px solid var(--app-focus); outline-offset: 0; }
:where(input, textarea)[aria-invalid="true"]:focus { outline-color: var(--app-error); }
@supports selector(:has(*)) {
  [data-input-frame]:has(input:focus, textarea:focus) { border-color: var(--app-focus); outline: 2px solid var(--app-focus); outline-offset: 0; }
  [data-input-frame] :is(input, textarea):focus { outline: none; }
}
[data-amount-entry]:focus { outline: none; }
[data-amount-entry]:focus:not([aria-invalid="true"]) { border-bottom-color: var(--app-focus); }
@media (forced-colors: active) {
  [data-amount-entry]:focus-visible { outline: 2px solid Highlight; outline-offset: 2px; }
}
::selection { background: #D6E66B; color: #242C14; }
a { text-underline-offset: .18em; }
* { scrollbar-width: thin; scrollbar-color: var(--app-border) transparent; }
noscript { display: block; padding: 24px; color: var(--app-ink); background: var(--app-background); }
#app-boot { position: fixed; inset: 0; z-index: 200; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; background: var(--app-background); }
#app-boot .boot-mark { width: 88px; height: 100px; }
#app-boot .sw-quiet-orbit { width: 24px; height: 24px; color: var(--quiet-orbit-ink); }
#app-boot .boot-top { fill: var(--app-ink); animation: step-top 520ms cubic-bezier(.16,1,.3,1) both; }
#app-boot .boot-bottom { fill: #D6E66B; animation: step-bottom 520ms cubic-bezier(.16,1,.3,1) both; }
#app-boot strong { font-family: "PublicSans-SemiBold", sans-serif; font-size: 28px; font-weight: 400; letter-spacing: -.8px; }
#app-boot span { color: var(--app-muted); font-size: 14px; }
@keyframes step-top { from { transform: translateY(-6px); } to { transform: translateY(0); } }
@keyframes step-bottom { from { transform: translateY(6px); } to { transform: translateY(0); } }
/* Quiet orbit: the supplied track remains stationary; only its arc rotates. */
.sw-quiet-orbit{display:inline-block;flex-shrink:0;vertical-align:middle;overflow:visible}
.sw-quiet-orbit__turn{transform-origin:32px 32px;animation:sw-quiet-orbit-turn 1200ms linear infinite}
@keyframes sw-quiet-orbit-turn{to{transform:rotate(360deg)}}
.sw-quiet-orbit--static .sw-quiet-orbit__turn,[data-sw-quiet-orbit-motion="static"] .sw-quiet-orbit__turn{animation:none!important;transform:none!important}
[data-sw-quiet-orbit-paused="true"] .sw-quiet-orbit__turn{animation-play-state:paused!important}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
  #app-boot .boot-top, #app-boot .boot-bottom { animation: none; }
  .sw-quiet-orbit__turn{animation:none!important;transform:none!important}
}
