@layer base,components;:root{--warm-50: oklch(.985 .001 99);--warm-100: oklch(.965 .001 99);--warm-200: oklch(.925 .002 97);--warm-300: oklch(.865 .002 95);--warm-400: oklch(.735 .003 93);--warm-500: oklch(.615 .003 91);--warm-600: oklch(.505 .003 89);--warm-700: oklch(.405 .003 87);--warm-800: oklch(.305 .002 85);--warm-900: oklch(.225 .002 83);--warm-950: oklch(.165 .002 81);--accent-50: oklch(.965 .016 49);--accent-100: oklch(.925 .036 48);--accent-200: oklch(.86 .067 47);--accent-300: oklch(.78 .103 46);--accent-400: oklch(.7 .14 45);--accent-500: oklch(.63 .155 44);--accent-600: oklch(.56 .15 43);--accent-700: oklch(.48 .129 42);--accent-800: oklch(.4 .103 41);--accent-900: oklch(.33 .081 40);--font-size--1: clamp(.8rem, .77rem + .15vw, .89rem);--font-size-0: clamp(1rem, .95rem + .25vw, 1.13rem);--font-size-1: clamp(1.25rem, 1.16rem + .44vw, 1.41rem);--font-size-2: clamp(1.56rem, 1.42rem + .71vw, 1.76rem);--font-size-3: clamp(1.95rem, 1.73rem + 1.1vw, 2.2rem);--font-size-4: clamp(2.44rem, 2.1rem + 1.68vw, 2.75rem);--font-size-5: clamp(3.05rem, 2.55rem + 2.53vw, 3.43rem);--leading-tight: 1.15;--leading-snug: 1.35;--leading-normal: 1.6;--font-serif: ui-serif, Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, "Times New Roman", serif;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--measure: 68ch;--measure-wide: 90ch;--shadow-sm: 0 1px 2px oklch(.2 .01 60 / .08);--shadow-md: 0 4px 12px oklch(.2 .01 60 / .1);--shadow-lg: 0 12px 32px oklch(.2 .01 60 / .12);--color-bg: var(--warm-50);--color-surface: oklch(1 0 0);--color-surface-sunk: var(--warm-100);--color-border: var(--warm-200);--color-border-strong: var(--warm-300);--color-text: var(--warm-900);--color-text-muted: var(--warm-600);--color-text-subtle: var(--warm-500);--color-text-on-accent: var(--warm-50);--color-action: var(--accent-600);--color-action-hover: var(--accent-700);--color-action-subtle: var(--accent-100);--color-focus-ring: var(--accent-500);--color-link: var(--accent-700);--color-link-hover: var(--accent-800)}:root[data-theme=dark]{--color-bg: var(--warm-950);--color-surface: var(--warm-900);--color-surface-sunk: oklch(.135 .006 52);--color-border: var(--warm-800);--color-border-strong: var(--warm-700);--color-text: var(--warm-100);--color-text-muted: var(--warm-300);--color-text-subtle: var(--warm-400);--color-text-on-accent: var(--warm-950);--color-action: var(--accent-500);--color-action-hover: var(--accent-400);--color-action-subtle: oklch(.33 .078 36);--color-focus-ring: var(--accent-400);--color-link: var(--accent-400);--color-link-hover: var(--accent-300)}@layer base{*,*:before,*:after{box-sizing:border-box}*{margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-0);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}::selection{background:var(--color-action-subtle)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}}@layer components{.prose{max-width:var(--measure)}.prose>*+*{margin-top:var(--space-4)}.prose :where(h1,h2,h3,h4){font-family:var(--font-serif);font-weight:var(--weight-semibold);line-height:var(--leading-tight);text-wrap:balance}.prose :where(h1){font-size:var(--font-size-4)}.prose :where(h2){font-size:var(--font-size-3)}.prose :where(h3){font-size:var(--font-size-2)}.prose :where(h4){font-size:var(--font-size-1)}.prose>:where(h2,h3,h4):not(:first-child){margin-top:var(--space-10)}.prose :where(a){color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:.2em}.prose :where(a):hover{color:var(--color-link-hover)}.prose :where(blockquote){border-left:3px solid var(--color-action);padding-left:var(--space-5);color:var(--color-text-muted);font-family:var(--font-serif);font-size:var(--font-size-1);line-height:var(--leading-snug)}.prose :where(code,kbd){font-family:var(--font-mono);font-size:.875em;background:var(--color-surface-sunk);border-radius:var(--radius-sm);padding:.125em .375em}.prose :where(pre){background:var(--color-surface-sunk);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);overflow-x:auto;line-height:var(--leading-snug)}.prose :where(pre) code{background:none;border-radius:0;padding:0}.prose :where(ul,ol){padding-left:var(--space-6)}.prose :where(li+li){margin-top:var(--space-2)}.prose :where(hr){border:0;border-top:1px solid var(--color-border);margin-block:var(--space-10)}.prose :where(figcaption){font-size:var(--font-size--1);color:var(--color-text-subtle);margin-top:var(--space-2)}.prose :where(strong){font-weight:var(--weight-semibold)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--weight-medium) var(--font-size-0) / 1 var(--font-sans);padding:var(--space-3) var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-action);color:var(--color-text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-action-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--color-text-subtle)}.btn-ghost{background:transparent;color:var(--color-action)}.btn-ghost:hover:not(:disabled){background:var(--color-action-subtle)}.btn-sm{font-size:var(--font-size--1);padding:var(--space-2) var(--space-4)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6)}.card-title{font-family:var(--font-serif);font-size:var(--font-size-1);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.card-meta{font-size:var(--font-size--1);color:var(--color-text-subtle);margin-top:var(--space-1)}.site-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);padding-block:var(--space-6);border-bottom:1px solid var(--color-border)}.site-title{font-family:var(--font-serif);font-size:var(--font-size-1);font-weight:var(--weight-bold);color:var(--color-text);text-decoration:none}.nav{display:flex;gap:var(--space-5)}.nav-link{font-size:var(--font-size--1);color:var(--color-text-muted);text-decoration:none}.nav-link:hover{color:var(--color-text)}.nav-link[aria-current=page]{color:var(--color-action);font-weight:var(--weight-medium)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field+.field{margin-top:var(--space-5)}.label{font-size:var(--font-size--1);font-weight:var(--weight-medium)}.input{font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%}.input::placeholder{color:var(--color-text-subtle)}.hint{font-size:var(--font-size--1);color:var(--color-text-subtle)}.field-error .input{border-color:var(--color-action-hover)}.field-error .hint{color:var(--color-action-hover)}.table{width:100%;border-collapse:collapse;font-size:var(--font-size--1)}.table :where(th){text-align:left;font-weight:var(--weight-semibold);border-bottom:1px solid var(--color-border-strong)}.table :where(th,td){padding:var(--space-3) var(--space-4)}.table :where(td){border-bottom:1px solid var(--color-border)}.table-striped :where(tbody tr:nth-child(odd)){background:var(--color-surface-sunk)}.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;font:var(--weight-medium) var(--font-size--1) / 1 var(--font-sans);background:var(--color-action-subtle);color:var(--color-link);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3)}.kpi-label{font-size:var(--font-size--1);color:var(--color-text-muted)}.kpi-value{font-family:var(--font-serif);font-size:var(--font-size-3);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin-top:var(--space-2)}.kpi-delta{font-size:var(--font-size--1);color:var(--color-action-hover);margin-top:var(--space-2)}}html{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body{min-height:100dvh}#app{width:min(40rem,100% - 2 * var(--space-6));margin-inline:auto;padding-block:var(--space-6) var(--space-16)}.lede{margin-top:var(--space-6);margin-bottom:var(--space-8);color:var(--color-text-muted);max-width:var(--measure);line-height:var(--leading-snug)}.stack{display:grid;gap:var(--space-5)}.settings-fields{display:grid;gap:var(--space-5);margin-top:var(--space-5)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}.grid-2>.field{min-width:0}.grid-2>.field+.field{margin-top:0}.settings-fields>.field+.field{margin-top:0}@media(max-width:36rem){.grid-2{grid-template-columns:1fr}}.field-row{display:flex;gap:var(--space-2);align-items:stretch}.field-row .input{flex:1 1 0;width:auto;min-width:0}.field-row .btn{flex:0 0 auto;white-space:nowrap}.input.mono,.mono{font-family:var(--font-mono);letter-spacing:.04em}.hint.warning{color:var(--color-action-hover)}.clipboard-note{max-width:36ch;text-align:center}.btn-icon{padding:var(--space-2);line-height:0}.btn-icon svg{width:1.15rem;height:1.15rem;max-width:none;flex-shrink:0}:root:not([data-theme=dark]) .icon-light-mode{display:none}:root[data-theme=dark] .icon-dark-mode{display:none}.token-panel{text-align:center;display:grid;gap:var(--space-5);justify-items:center}.token{font-family:var(--font-mono);font-size:var(--font-size-4);font-weight:var(--weight-bold);letter-spacing:.16em;line-height:var(--leading-tight);color:var(--color-text);margin:0;font-variant-numeric:tabular-nums}.token.is-invalid{color:var(--color-action-hover);letter-spacing:.04em;font-size:var(--font-size-1);font-weight:var(--weight-medium)}.countdown{display:grid;gap:var(--space-2);width:min(100%,18rem)}.countdown-meta{display:flex;justify-content:space-between;font-size:var(--font-size--1);color:var(--color-text-muted)}progress{width:100%;height:.5rem;border:none;border-radius:var(--radius-full);overflow:hidden;background:var(--color-surface-sunk);appearance:none}progress::-webkit-progress-bar{background:var(--color-surface-sunk)}progress::-webkit-progress-value{background:var(--color-action);transition:width .25s linear}progress::-moz-progress-bar{background:var(--color-action)}.actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.error{font-size:var(--font-size--1);color:var(--color-action-hover);margin:0}.qr-panel{display:grid;gap:var(--space-5);justify-items:center;text-align:center}.qr-frame{background:#fff;border-radius:var(--radius-md);padding:var(--space-3);border:1px solid var(--color-border);line-height:0}.qr-frame svg{width:min(15rem,70vw);height:auto;display:block}.uri{width:100%;font-family:var(--font-mono);font-size:var(--font-size--1);color:var(--color-text-subtle);word-break:break-all;text-align:left;background:var(--color-surface-sunk);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border)}.site-footer{margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--color-border);color:var(--color-text-subtle);font-size:var(--font-size--1);text-align:center}.site-footer a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:.2em}.site-footer a:hover{color:var(--color-link-hover)}
