:root{--canvas:#F1F1F2;--surface:#FFFFFF;--ink:#1A1A1A;--ink-muted:#4D4D4F;--accent:#FFC713;--accent-pressed:#D4952B;--ground-dark:#111111;--ink-on-dark:#FFFFFF;--ink-on-dark-muted:rgba(255,255,250,.66);--ink-on-accent:#1A1A1A;--hairline:rgba(26,26,26,.1);--hairline-strong:rgba(26,26,26,.22);--font-display:"Open Sans", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-body:"Open Sans", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--display-weight:800;--display-weight-xl:400;--body-weight:400;--radius-field:6px;--radius-card:10px;--radius-pill:50px}@font-face{font-family:Open Sans;src:url(https://fonts.gstatic.com/s/opensans/v40/memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVc.woff2) format("woff2");font-weight:400 800;font-display:swap}*{box-sizing:border-box;margin:0}html,body{height:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--font-body);font-weight:var(--body-weight);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100%;display:flex;flex-direction:column}.topbar{background:var(--ground-dark);padding:14px 16px calc(14px + env(safe-area-inset-top,0px));display:flex;align-items:center;justify-content:space-between}.topbar img{height:26px;display:block}.topbar .who{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-on-dark-muted)}.shell{max-width:560px;width:100%;margin:0 auto;padding:20px 16px 96px;flex:1}h1{font-family:var(--font-display);font-weight:var(--display-weight);font-size:28px;letter-spacing:-.02em;margin-bottom:6px}h3{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.01em}.dim{color:var(--ink-muted)}.err{color:#b00020;margin-top:10px}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:16px;margin-top:12px}.chip{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-pill);background:var(--accent);color:var(--ink-on-accent)}.chip.ok,.chip.warn{background:var(--accent);color:var(--ink-on-accent)}.chip.quiet{background:var(--canvas);color:var(--ink-muted);border:1px solid var(--hairline)}label{display:block;margin-top:14px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted)}input,textarea{width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--hairline-strong);border-radius:var(--radius-field);padding:14px;font-size:17px;font-family:var(--font-body);margin-top:6px;outline:none}input:focus,textarea:focus{border-color:var(--ink)}input.code{letter-spacing:.4em;text-align:center;font-size:26px}button{width:100%;margin-top:14px;padding:15px;font-size:15px;font-family:var(--font-body);font-weight:700;letter-spacing:.07em;text-transform:uppercase;border:0;border-radius:var(--radius-pill);background:var(--accent);color:var(--ink-on-accent);cursor:pointer}button:disabled{background:var(--hairline);color:var(--ink-muted);cursor:default}button.secondary{background:var(--ink);color:var(--ink-on-dark)}button.ghost{background:transparent;color:var(--ink-muted);font-weight:400;letter-spacing:normal;text-transform:none;font-size:14px;padding:10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.tile{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:14px;min-height:88px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:var(--ink)}.tile b{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.01em}.tile small{color:var(--ink-muted);font-size:14px}.fab{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);width:auto;padding:11px 20px;font-size:12px;letter-spacing:.07em;border-radius:var(--radius-pill);background:var(--ink);color:var(--ink-on-dark);border:0}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#1111118c;display:flex;align-items:flex-end}.sheet .inner{background:var(--surface);width:100%;max-width:560px;margin:0 auto;border-radius:var(--radius-card) var(--radius-card) 0 0;padding:18px 16px calc(28px + env(safe-area-inset-bottom,0px))}.tabs{display:flex;gap:8px;margin:12px 0}.tabs button{margin:0;padding:11px;background:var(--canvas);color:var(--ink-muted)}.tabs button.on{background:var(--accent);color:var(--ink-on-accent)}.sigpad{width:100%;height:160px;margin-top:8px;background:var(--surface);border:1px dashed var(--hairline-strong);border-radius:var(--radius-field);touch-action:none}.filebtn{display:block;margin-top:14px;padding:15px;text-align:center;border:1px dashed var(--hairline-strong);border-radius:var(--radius-field);color:var(--ink);font-size:15px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.steps{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 4px}.steps button{width:auto;margin:0;padding:8px 13px;font-size:12px;background:var(--surface);color:var(--ink-muted);border:1px solid var(--hairline)}.steps button.on{background:var(--accent);color:var(--ink-on-accent);border-color:var(--accent)}
