
:root { --bg: #faf8f4; --raised: #ffffff; --ink: #1c1a16; --soft: #5b5648; --border: #ddd6c8; --accent: #2A6496; --warn: #9a3412; }
@media (prefers-color-scheme: dark) { :root { --bg: #161512; --raised: #201e1a; --ink: #f1ede4; --soft: #b8b1a1; --border: #3a362c; --accent: #6fb2e0; --warn: #fdba74; } }
* { box-sizing: border-box; }
html { color-scheme: light dark; }
body { margin: 0; padding: 0 16px 48px; background: var(--bg); color: var(--ink); font: 16px/1.5 ui-sans-serif, system-ui, -apple-system, 'Helvetica Neue', Arial, sans-serif; }
.si { max-width: 28rem; margin: 0 auto; padding-top: 48px; }
.si h1 { font-size: 1.75rem; margin: 0 0 8px; letter-spacing: -0.01em; }
.si h2 { font-size: 1.1rem; margin: 0 0 12px; }
.si-lead { color: var(--soft); margin: 0 0 24px; }
.si-panel { background: var(--raised); border: 1px solid var(--border); border-radius: 12px; padding: 16px; margin: 0 0 16px; display: grid; gap: 12px; }
.si-panel[hidden] { display: none; }
button { font: inherit; border-radius: 10px; padding: 12px 14px; border: 1px solid var(--accent); cursor: pointer; }
.si-primary { background: var(--accent); color: #fff; }
.si-secondary { background: transparent; color: var(--accent); }
button:disabled { opacity: .6; cursor: default; }
label { font-size: .9rem; color: var(--soft); }
input { font: inherit; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); color: var(--ink); max-width: 100%; }
.si-code { font: 600 2.25rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .18em; text-align: center; margin: 4px 0; word-break: break-all; }
.si-expiry, .si-note { color: var(--soft); font-size: .9rem; margin: 0; text-align: center; }
.si-warning { color: var(--warn); font-size: .9rem; margin: 0; }
.si-status { min-height: 1.5em; }
.si-error { color: var(--warn); }
a { color: var(--accent); }
