*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}:root{--accent: #111827;--accent-ink: #ffffff;--canvas-seed: #f6f6f7;--ink-seed: #0b0b0c;--radius: 14px;--canvas: var(--canvas-seed);--surface: #ffffff;--surface-sunken: color-mix(in oklab, var(--canvas) 92%, var(--ink-seed));--ink: var(--ink-seed);--ink-muted: color-mix(in oklab, var(--ink-seed) 55%, var(--canvas));--ink-faint: color-mix(in oklab, var(--ink-seed) 35%, var(--canvas));--line: color-mix(in oklab, var(--ink-seed) 12%, var(--canvas));--line-strong: color-mix(in oklab, var(--ink-seed) 22%, var(--canvas));--positive: #15803d;--negative: #b91c1c;--warning: #b45309;--radius-sm: calc(var(--radius) * .6);--radius-lg: calc(var(--radius) * 1.4);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", system-ui, sans-serif;--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-display: var(--font-sans);--shadow-card: 0 1px 2px color-mix(in oklab, var(--ink-seed) 8%, transparent);--shadow-raised: 0 8px 24px -12px color-mix(in oklab, var(--ink-seed) 40%, transparent);--bar-height: 76px;--safe-bottom: env(safe-area-inset-bottom, 0px)}:root[data-display=serif]{--font-display: var(--font-serif)}:root[data-scheme=dark]{--canvas: color-mix(in oklab, var(--ink-seed) 92%, #ffffff);--surface: color-mix(in oklab, var(--ink-seed) 86%, #ffffff);--surface-sunken: color-mix(in oklab, var(--ink-seed) 95%, #ffffff);--ink: color-mix(in oklab, var(--canvas-seed) 92%, #ffffff);--ink-muted: color-mix(in oklab, var(--canvas-seed) 60%, var(--ink-seed));--ink-faint: color-mix(in oklab, var(--canvas-seed) 40%, var(--ink-seed));--line: color-mix(in oklab, var(--canvas-seed) 16%, var(--ink-seed));--line-strong: color-mix(in oklab, var(--canvas-seed) 28%, var(--ink-seed));--shadow-card: none;--shadow-raised: 0 8px 24px -12px #000000}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.45}.app{display:flex;flex-direction:column;min-height:100%;max-width:560px;margin:0 auto}.page{flex:1;padding:var(--space-4);padding-bottom:calc(var(--bar-height) + var(--safe-bottom) + var(--space-5))}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.row{display:flex;align-items:center;gap:var(--space-2)}.spread{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.h1{font-family:var(--font-display);font-size:26px;line-height:1.15;letter-spacing:-.02em;font-weight:650}.h2{font-family:var(--font-display);font-size:19px;line-height:1.2;letter-spacing:-.01em;font-weight:620}.h3{font-size:15px;font-weight:600}.muted{color:var(--ink-muted)}.faint{color:var(--ink-faint);font-size:13px}.tabular{font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);border-radius:var(--radius);font-weight:600;font-size:15px;transition:transform .12s ease,opacity .12s ease,background .12s ease}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-ink);width:100%}.btn--ghost{background:var(--surface-sunken);color:var(--ink)}.btn--quiet{min-height:36px;padding:0 var(--space-3);background:transparent;color:var(--ink-muted);font-size:13px;font-weight:500}.btn--link{min-height:0;padding:0;color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}.chips{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:var(--space-1);margin:0 calc(var(--space-4) * -1);padding-inline:var(--space-4)}.chips::-webkit-scrollbar{display:none}.chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--space-3);border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);font-size:14px;font-weight:500;white-space:nowrap}.chip[aria-pressed=true],.chip[data-active=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:600;color:var(--ink-muted)}.input,.textarea{width:100%;min-height:48px;padding:12px var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;transition:border-color .12s ease}.textarea{min-height:84px;resize:vertical}.input:focus,.textarea:focus{border-color:var(--accent)}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.art{display:grid;place-items:center;aspect-ratio:1;border-radius:var(--radius);font-size:40px;background:linear-gradient(150deg,color-mix(in oklab,var(--art) 22%,var(--surface)),color-mix(in oklab,var(--art) 6%,var(--surface)));border:1px solid color-mix(in oklab,var(--art) 18%,var(--line))}.art--lg{aspect-ratio:4 / 3;font-size:76px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.grid--list{grid-template-columns:minmax(0,1fr)}.bar{position:fixed;inset:auto 0 0;z-index:20;max-width:560px;margin:0 auto;padding:var(--space-3) var(--space-4) calc(var(--space-3) + var(--safe-bottom));background:color-mix(in oklab,var(--canvas) 82%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:color-mix(in oklab,#000 45%,transparent);animation:fade .16s ease}.sheet{position:fixed;inset:auto 0 0;z-index:41;max-width:560px;margin:0 auto;max-height:88vh;overflow-y:auto;background:var(--canvas);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-4);padding-bottom:calc(var(--space-5) + var(--safe-bottom));animation:rise .22s cubic-bezier(.22,1,.36,1)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(24px);opacity:0}}.status{display:grid;place-items:center;gap:var(--space-3);text-align:center;padding:var(--space-7) var(--space-4)}.status__mark{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;font-size:32px}.status__mark--pending{background:color-mix(in oklab,var(--accent) 14%,var(--surface))}.status__mark--success{background:color-mix(in oklab,var(--positive) 16%,var(--surface))}.status__mark--failed{background:color-mix(in oklab,var(--negative) 14%,var(--surface))}.status__mark--expired{background:var(--surface-sunken)}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in oklab,var(--accent) 25%,transparent);border-top-color:var(--accent);animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-sunken) 25%,color-mix(in oklab,var(--surface-sunken) 60%,var(--surface)) 50%,var(--surface-sunken) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
