:root{color-scheme:light;--ink:#183a35;--muted:#61766f;--green:#176d5a;--line:#dce7e1;--warn:#9e491f}*{box-sizing:border-box}body{margin:0;background:#eef4ef;color:var(--ink);font:16px/1.6 system-ui,-apple-system,sans-serif}main{max-width:760px;margin:auto;padding:20px 16px 52px}header{display:flex;justify-content:space-between;align-items:center;margin:6px 0 22px}h1{font-size:26px;line-height:1.25;margin:0}h2{font-size:19px;margin:0 0 12px}p{margin:8px 0}.eyebrow,.muted{color:var(--muted);font-size:14px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;margin:14px 0}.hero{background:#174f43;color:white;border:0}.hero .muted{color:#cbe1d5}.hero.alert{background:#903f22}.hero.offline{background:#565f5a}.status{font-size:28px;line-height:1.4;margin:12px 0;font-weight:700}.pill{display:inline-block;border:1px solid #ffffff55;border-radius:30px;padding:3px 10px;font-size:13px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.item{background:#f6f9f6;border:1px solid var(--line);border-radius:12px;padding:12px}.item strong{display:block}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}button,input{font:inherit;border-radius:12px;border:1px solid #bed1c7;padding:12px;min-height:48px}button{background:#f0f6f2;color:var(--ink);cursor:pointer;font-weight:600}button.primary{background:var(--green);color:white;border-color:var(--green)}button.danger{background:#fff6f0;color:#9e491f;border-color:#ecc6b0}button:disabled{opacity:.45;cursor:default}button.wide{width:100%}input{width:100%;background:white;letter-spacing:3px}a{color:#1b735b;text-decoration:underline;text-underline-offset:3px}img,canvas{width:100%;height:auto;border-radius:12px;display:block;background:#edf1ee}img:not([src]){display:none}canvas{touch-action:pan-y}.selecting canvas{touch-action:none}.notice{padding:10px 12px;border-radius:10px;background:#fff3dd;color:#784c19;white-space:pre-wrap}.notice:empty{display:none}[hidden]{display:none!important}details{margin:12px 0}summary{cursor:pointer;padding:8px 0;font-weight:600}ul{padding-left:20px}li{margin:8px 0}.code{font:700 36px/1.8 monospace;letter-spacing:6px}.qr{max-width:280px;margin:14px auto}.smallbutton{font-size:14px;padding:7px 12px;min-height:36px}.divider{height:1px;background:var(--line);margin:16px 0}.foot{font-size:13px;color:var(--muted)}@media(max-width:380px){main{padding:14px 10px}.card{padding:16px}.status{font-size:24px}.grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
