:root{--paper:#fff;--ink:#0b0b0b;--wash:#f2f3f5;--line:#dcdfe4;--muted:#555b63;--signal:#ffd21f;--signal-ink:#0b0b0b;--on-ink:#fff;--focus:#0b0b0b;--ok:#1668a8;--late:#b42318;--done:#5c6b7a;--row-past:#8a9099;--overlay:#0b0b0b8c;--tag-text:#fff;--font-sans:"IBM Plex Sans", "IBM Plex Sans Thai Looped", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--size-xs:12.5px;--size-s:14px;--size-m:16px;--size-l:18px;--size-xl:22px;--size-2xl:28px;--size-3xl:40px;--size-4xl:64px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-none:0;--radius-s:4px;--radius-m:8px;--shadow-lift:0 1px 0 #00000014;--shadow-sheet:0 12px 32px #00000038;--motion-fast:.12s;--motion-base:.2s;--motion-slow:.48s;--motion-flip:.36s;--motion-ease:cubic-bezier(.2,.7,.2,1);--touch-min:44px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0b0b0b;--ink:#f4f4f2;--wash:#17181b;--line:#2c2f34;--muted:#a6acb4;--signal:#ffd21f;--signal-ink:#0b0b0b;--on-ink:#0b0b0b;--focus:#ffd21f;--ok:#1668a8;--late:#b42318;--done:#5c6b7a;--row-past:#6b7079;--overlay:#000000b3;--tag-text:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#0b0b0b;--ink:#f4f4f2;--wash:#17181b;--line:#2c2f34;--muted:#a6acb4;--signal:#ffd21f;--signal-ink:#0b0b0b;--on-ink:#0b0b0b;--focus:#ffd21f;--ok:#1668a8;--late:#b42318;--done:#5c6b7a;--row-past:#6b7079;--overlay:#000000b3;--tag-text:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:400 var(--size-m)/1.55 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}a{color:inherit;text-underline-offset:3px}h1,h2,h3{text-wrap:balance;margin:0;line-height:1.15}h1{font-size:var(--size-2xl)}h2{font-size:var(--size-xl)}p{margin:0}.top{padding:12px max(16px,env(safe-area-inset-left,0px));border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.logo{background:var(--signal);color:var(--signal-ink);font:700 18px/1 var(--font-mono);padding:8px 10px;text-decoration:none}.langs{border:1.5px solid var(--ink);display:flex}.langs a{min-width:44px;min-height:40px;font:600 var(--size-xs)/1 var(--font-sans);place-items:center;padding:0 6px;text-decoration:none;display:grid}.langs a[aria-current=true]{background:var(--ink);color:var(--paper)}main{max-width:640px;padding:32px max(16px,env(safe-area-inset-right,0px)) 64px max(16px,env(safe-area-inset-left,0px));gap:24px;margin:0 auto;display:grid}form{gap:14px;display:grid}.field{gap:4px;display:grid}.field label{font-size:var(--size-xs);font-weight:600}.field small{font-size:var(--size-xs);color:var(--muted)}input,select{min-height:var(--touch-min);border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);font:400 var(--size-m)/1.2 var(--font-sans);width:100%;padding:0 10px}.btn{min-height:var(--touch-min);border:2px solid var(--ink);background:var(--ink);color:var(--paper);font:600 var(--size-m)/1 var(--font-sans);cursor:pointer;justify-content:center;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.btn.sig{background:var(--signal);color:var(--signal-ink);border-color:var(--signal)}.btn.ghost{color:var(--ink);background:0 0}.note{font-size:var(--size-s);color:var(--muted)}.box{border:1.5px solid var(--ink);gap:10px;padding:14px;display:grid}.err{border:2px solid var(--late);font-size:var(--size-s);padding:10px 12px}.ok{background:var(--ok);color:var(--tag-text);font-size:var(--size-s);padding:10px 12px}.rows{border-top:2px solid var(--ink)}.row{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 0;display:flex}.row .mono,.mono{font-family:var(--font-mono);font-size:var(--size-s)}.tag{font:600 var(--size-xs)/1 var(--font-sans);background:var(--wash);align-items:center;padding:5px 8px;display:inline-flex}.copy{font-family:var(--font-mono);font-size:var(--size-s);word-break:break-all;background:var(--wash);padding:10px}
