@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-vietnamese-400-normal-D0VnvwZ9.woff2)format("woff2"),url(/assets/vt323-vietnamese-400-normal-D_5Q7Vcv.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-ext-400-normal-iUdYUaX4.woff2)format("woff2"),url(/assets/vt323-latin-ext-400-normal-DqOq58ri.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Share Tech Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/share-tech-mono-latin-400-normal-CCqdbj5z.woff2)format("woff2"),url(/assets/share-tech-mono-latin-400-normal-15MgdvEM.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--green-bright:#39ff14;--green-mid:#1db308;--green-dim:#0a5c0a;--green-surface:#071407;--green-border:#1a5c1a;--black:#060806;--bg-global:#0a0a0a;--red-danger:#8b0000;--overlay-terminal:#060806f2;--glow:0 0 8px #39ff14, 0 0 20px #39ff1466;--glow-dim:0 0 4px #39ff1499;--scanline-opacity:.18;--hover-surface:#39ff140d;--active-surface:#39ff1414;--font-main:"VT323", monospace;--font-mono:"Share Tech Mono", monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-8:32px;--text-xs:10px;--text-sm:12px;--text-terminal:14px;--text-body:18px;--text-btn:22px;--text-title:30px;--blink-duration:.8s;--tap-target:48px;--tap-target-primary:56px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background:var(--bg-global);font-family:var(--font-main);color:var(--green-bright);overflow:hidden}button{font-family:inherit}.crt-frame{background:var(--black);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.crt-frame:before{content:"";background:repeating-linear-gradient(0deg, transparent, transparent 3px, rgba(0, 0, 0, var(--scanline-opacity)) 3px, rgba(0, 0, 0, var(--scanline-opacity)) 4px);pointer-events:none;z-index:100;position:absolute;inset:0}.crt-frame:after{content:"";pointer-events:none;z-index:101;background:radial-gradient(#0000 55%,#0000008c 100%);position:absolute;inset:0}.pb-header{padding:var(--space-3) var(--space-4) var(--space-2);border-bottom:1px solid var(--green-border);justify-content:space-between;align-items:baseline;display:flex}.pb-header .pb-title{font-size:var(--text-btn);letter-spacing:3px;text-shadow:var(--glow-dim)}.pb-header .pb-sub{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--green-mid);letter-spacing:2px}.tab-bar{border-bottom:1px solid var(--green-border);display:flex}.tab{text-align:center;padding:var(--space-3) 0;font-size:var(--text-body);letter-spacing:2px;color:var(--green-dim);border-right:1px solid var(--green-border);min-height:var(--tap-target);flex:1}.tab:last-child{border-right:none}.tab.active{color:var(--green-bright);text-shadow:var(--glow);background:var(--active-surface)}.screen{gap:var(--space-3);padding:var(--space-4);scrollbar-width:none;flex-direction:column;flex:1;display:flex;overflow-y:auto}.screen::-webkit-scrollbar{display:none}.screen-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--green-mid);letter-spacing:2px}.item-list{gap:var(--space-1);flex-direction:column;display:flex}.item{padding:var(--space-3);border:1px solid var(--green-border);cursor:pointer;font-size:var(--text-body);justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--green-bright);text-align:left;width:100%;min-height:var(--tap-target);background:0 0;display:flex}.item:hover{background:var(--hover-surface);border-color:var(--green-mid)}.item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.item-name{color:var(--green-bright)}.item-type{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--green-mid);letter-spacing:1px}.item-tag{font-family:var(--font-mono);font-size:var(--text-sm);border:1px solid var(--green-border);color:var(--green-mid);white-space:nowrap;padding:2px 6px}.item-tag.tag-new{color:var(--green-bright);border-color:var(--green-bright);animation:1s infinite blink}.inv-empty{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--green-mid);text-align:center;padding:var(--space-3) 0;letter-spacing:1px}.scan-btn{width:100%;min-height:var(--tap-target-primary);padding:var(--space-4);border:2px solid var(--green-bright);color:var(--green-bright);font-family:var(--font-main);font-size:var(--text-btn);letter-spacing:4px;cursor:pointer;text-shadow:var(--glow);box-shadow:var(--glow-dim);background:0 0}.scan-btn:before{content:"[ "}.scan-btn:after{content:" ]"}.scan-btn:hover{background:var(--active-surface);box-shadow:var(--glow)}.scan-btn:active{transform:scale(.98)}.terminal-overlay{background:var(--overlay-terminal);padding:var(--space-5);z-index:50;font-family:var(--font-mono);font-size:var(--text-terminal);flex-direction:column;display:flex;position:absolute;inset:0}.terminal-header{color:var(--green-mid);font-size:var(--text-sm);letter-spacing:2px;margin-bottom:var(--space-3);border-bottom:1px solid var(--green-border);padding-bottom:var(--space-2)}.terminal-body{color:var(--green-bright);scrollbar-width:none;flex:1;line-height:1.8;overflow-y:auto}.terminal-body::-webkit-scrollbar{display:none}.terminal-line{white-space:pre-wrap}.terminal-line.danger{color:var(--red-danger)}.terminal-cursor{background:var(--green-bright);width:9px;height:16px;animation:blink var(--blink-duration) infinite;vertical-align:bottom;display:inline-block}.terminal-actions{gap:var(--space-3);margin-top:var(--space-4);display:flex}.t-btn{min-height:var(--tap-target);padding:var(--space-3);border:1px solid var(--green-border);color:var(--green-mid);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:2px;cursor:pointer;background:0 0;flex:1}.t-btn.primary{border-color:var(--green-bright);color:var(--green-bright)}.t-btn:hover{background:var(--hover-surface)}.scan-wait{justify-content:center;align-items:center;gap:var(--space-4);color:var(--green-bright);flex-direction:column;flex:1;display:flex}.scan-wait .big{font-family:var(--font-main);font-size:var(--text-title);letter-spacing:3px;text-shadow:var(--glow)}.scan-wait .sub{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--green-mid);letter-spacing:2px;text-align:center}.qr-video-frame{aspect-ratio:1;border:2px solid var(--green-bright);width:min(70vw,320px);box-shadow:var(--glow-dim);position:relative;overflow:hidden}.qr-video-frame video{object-fit:cover;filter:sepia()hue-rotate(60deg)saturate(3)brightness(.8);width:100%;height:100%}.qr-video-frame:after{content:"";background:var(--green-bright);height:2px;box-shadow:var(--glow);animation:1.4s ease-in-out infinite qrscan;position:absolute;left:0;right:0}.uid-form{gap:var(--space-3);flex-direction:column;width:100%;max-width:320px;display:flex}.uid-input{width:100%;min-height:var(--tap-target);padding:var(--space-3);background:var(--green-surface);border:1px solid var(--green-border);color:var(--green-bright);font-family:var(--font-mono);font-size:var(--text-body);letter-spacing:3px;text-align:center;outline:none}.uid-input:focus{border-color:var(--green-bright);box-shadow:var(--glow-dim)}.qr-sheet{gap:var(--space-5);padding:var(--space-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.qr-sheet-item{align-items:center;gap:var(--space-2);border:1px solid var(--green-border);padding:var(--space-5);flex-direction:column;display:flex}.qr-sheet-item .qr-code{background:var(--green-bright);padding:var(--space-3)}.qr-sheet-item .qr-label{font-size:var(--text-body);letter-spacing:2px}.qr-sheet-item .qr-uid{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--green-mid);letter-spacing:2px}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes qrscan{0%,to{top:0}50%{top:calc(100% - 2px)}}
