.grid-scan{position:relative;width:100%;height:100%;overflow:hidden}.grid-scan-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.grid-scan-preview{position:absolute;right:12px;bottom:12px;width:168px;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#0b0b0e;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.35);pointer-events:none}.grid-scan-video{display:block;width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.grid-scan-status{position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:8px;background:rgba(10,10,12,.6);color:#ffffff;font:500 11px/1.4 system-ui,-apple-system,sans-serif;backdrop-filter:blur(8px)}.grid-scan-hidden{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.lanyard{position:relative;width:100%;height:100%;overflow:hidden}.lanyard-canvas,.particle-text{display:block;width:100%;height:100%}.particle-text{position:relative;min-height:240px;overflow:hidden;touch-action:pan-y;isolation:isolate}.particle-text__canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.particle-text__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-type{position:relative;display:inline-block;white-space:pre-wrap}.text-type__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-type__char{position:relative}.text-type__char--selected{background-color:color-mix(in srgb,currentColor 25%,transparent)}.text-type__caret{display:inline-block;width:0}.text-type__cursor{position:absolute;top:0;left:0;white-space:pre;pointer-events:none;transition:opacity .2s ease;will-change:transform}.text-type__cursor--hidden{opacity:0}.text-type__blink{display:inline-block}.text-type__cursor--character .text-type__blink{margin-left:.25rem}.text-type__shape{display:inline-block;margin-left:.06em;background-color:currentColor}.text-type__cursor--bar .text-type__shape{width:max(2px,.07em);height:1.1em;vertical-align:-.2em;border-radius:1px}.text-type__cursor--block .text-type__shape{width:.56em;height:1.1em;vertical-align:-.2em;border-radius:.06em}.text-type__cursor--underscore .text-type__shape{width:.56em;height:max(2px,.075em);vertical-align:-.12em;border-radius:1px}.tech-text{position:relative;width:100%;height:100%;touch-action:pan-y;user-select:none}.tech-text-canvas{display:block;width:100%;height:100%}