:root{--bg: #000000;--bg-dark: #1a1a1a;--fg: #ffffff;--accent: #00ffff;--accent-2: #ff00ff;--accent-3: #ffff00;--border-color: #ffffff;--border: 10px solid var(--border-color);--border-sm: 3px solid var(--border-color);--grid-size: 50px}*{box-sizing:border-box;margin:0;padding:0}html{font-family:Courier New,monospace;scroll-behavior:smooth;background-color:var(--bg)}body{display:flex;justify-content:center;max-width:100%;min-height:100dvh;overflow-x:hidden;width:100%;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size)}#root{background:var(--bg);color:var(--fg);display:flex;flex-direction:column;line-height:1.4;max-width:580px;height:100dvh;overflow-x:hidden;width:100%;border-top:var(--border);border-left:var(--border);border-right:var(--border)}header{border:var(--border);border-top:0;border-bottom:none;flex:0 0 auto;background:var(--bg-dark)}.header-main{display:flex;justify-content:space-between;align-items:stretch;padding:14px;gap:14px}.header-left{display:flex;flex-direction:column;gap:6px}.header-meta{display:flex;gap:6px}.meta-tag{font-size:9px;letter-spacing:.3em;color:var(--accent-3);font-weight:900;border:var(--border-sm);padding:2px 6px}.meta-tag.accent{color:var(--accent-2);border-color:var(--accent-2)}.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-block{display:flex;align-items:center;gap:6px;border:var(--border-sm);padding:4px 8px}.status-dot{width:6px;height:6px;background:var(--accent);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.status-label{font-size:9px;letter-spacing:.2em;font-weight:900;color:var(--border-color)}.status-value{font-size:9px;letter-spacing:.2em;font-weight:900;color:var(--accent)}.header-line{width:100%;height:3px;background:var(--accent)}.header-stats{display:flex;gap:6px}.stat{font-size:9px;letter-spacing:.3em;font-weight:900;color:var(--accent);border:var(--border-sm);padding:2px 6px}.header-bar{height:10px;background:repeating-linear-gradient(90deg,var(--accent) 0px,var(--accent) 20px,var(--bg-dark) 20px,var(--bg-dark) 40px)}nav{display:flex;border-top:var(--border);border-bottom:var(--border);bottom:0;max-width:580px;width:100%;background:var(--bg);z-index:100}nav>a{margin:0;padding:16px 0;flex-grow:1;text-align:center;border-left:var(--border);text-transform:uppercase;font-weight:900;letter-spacing:.1em;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:background .1s;text-decoration:none;color:var(--fg)}nav>a:first-child{border-left:none}.nav-icon{font-size:16px;color:var(--accent-3);font-weight:900}nav>a.active .nav-icon{color:var(--bg)}nav>a.active{background:var(--accent);color:var(--bg)}nav>a:hover{background:var(--accent);color:var(--bg)}nav>a:hover .nav-icon{color:var(--bg)}main{flex:1 1 auto;overflow-y:auto;padding:14px;min-height:0}section{display:flex;gap:0 .5em;justify-content:space-between;text-align:center}section>button{flex:1}p{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;margin:.5rem 0;overflow:hidden;font-size:14px;line-height:1.6}.scanner{aspect-ratio:1;align-items:center;border:var(--border);display:flex;flex-direction:column;gap:2em;justify-content:center;margin-bottom:14px;overflow:hidden;padding:14px;position:relative;text-align:center;color:var(--accent);font-size:16px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.scanner>span{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;cursor:pointer}.idle-prompt{display:flex;flex-direction:column;align-items:center;gap:12px}.tap-icon{font-size:24px;color:var(--accent-3);border:5px solid var(--accent-3);padding:8px 16px}.loading-text{color:var(--accent-3);font-size:18px;letter-spacing:.3em}.error-box{display:flex;flex-direction:column;gap:8px}.scanner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,255,255,.15) 2px,transparent 2px),linear-gradient(90deg,rgba(0,255,255,.15) 2px,transparent 2px);background-size:26px 26px;pointer-events:none}.is-hidden{display:none}button{border:var(--border);background-color:var(--bg);color:var(--fg);cursor:pointer;font-family:inherit;font-size:14px;font-weight:900;padding:1rem 1.5rem;text-transform:uppercase;letter-spacing:.15em}button:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.markedButton:hover,.markedButton{background-color:var(--accent-2)!important;border-color:var(--accent-2)!important;color:var(--bg)!important}a{-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--accent);display:-webkit-box;text-decoration:none;overflow:hidden;font-weight:900;word-break:break-all}a:hover{background-color:var(--accent);color:var(--bg);text-decoration:none;font-weight:900}input{background:var(--bg);border:var(--border);color:var(--fg);cursor:pointer;font-family:inherit;font-size:14px;padding:.75rem;margin-bottom:14px;font-weight:900}input:focus{outline:4px solid var(--accent);outline-offset:0}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;line-height:1;font-size:14px;font-weight:900;text-transform:uppercase;font-family:inherit;background:var(--bg);color:var(--fg)}input{width:100%}input:focus,select:focus{outline:none}h1{margin:0;font-size:clamp(3rem,12vw,5rem);font-weight:900;letter-spacing:-.02em;text-transform:uppercase;border-left:20px solid var(--accent);padding-left:8px;color:var(--accent);line-height:.9}h2{border-bottom:10px solid var(--accent-3);font-size:2.5rem;font-weight:900;margin-bottom:20px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-3);padding-bottom:10px}h3{margin-bottom:14px;color:var(--accent-2);font-size:1.5rem;text-transform:uppercase;letter-spacing:.1em}ul{margin:0;list-style:none}ul li{border-bottom:3px solid var(--border-color);cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:1em 0;gap:1em}ul li button{font-size:12px;padding:.75em 1em}mark{background:var(--accent-2);color:var(--bg);padding:.6rem .8rem;text-align:center;line-height:2.5;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.detected-box{width:100%;border:10px solid var(--accent);padding:20px;text-align:center;background:#00ffff0d}section>svg{width:100%;padding:14px;background:var(--fg)}.detected-box h2{margin:0 0 12px;font-size:24px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border:none;color:var(--accent);padding:0}hr{border:0;margin-bottom:14px;border-bottom:10px solid var(--accent)}.state-indicator{justify-content:center;margin-top:14px}.state-badge{font-size:10px;letter-spacing:.3em;padding:4px 8px;border:3px solid var(--border-color);font-weight:900}.state-idle{color:var(--accent-3);border-color:var(--accent-3)}.state-scanning{color:var(--accent);border-color:var(--accent);animation:pulse 1.5s infinite}.state-found{color:var(--accent-2);border-color:var(--accent-2)}.state-error{color:var(--accent-2);border-color:var(--accent-2);background:#ff00ff1a}img{max-width:100%;padding:14px;border:var(--border);margin-bottom:14px}.upload-zone{border:var(--border);padding:2rem;text-align:center;position:relative}.upload-zone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-label{display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;text-transform:uppercase;font-weight:900;letter-spacing:.15em}.upload-icon{font-size:24px;color:var(--accent-3);border:5px solid var(--accent-3);padding:8px 16px}.create-input-group{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.input-label{font-size:12px;letter-spacing:.3em;color:var(--accent-3);font-weight:900}.qr-output{border:var(--border);padding:14px;background:var(--bg-dark);display:flex;justify-content:center}.history-count{font-size:12px;letter-spacing:.3em;color:var(--accent);font-weight:900;margin-bottom:14px;border:3px solid var(--accent);padding:6px 10px;display:inline-block}.no-data{text-align:center;padding:2rem;border:5px solid var(--border-color);font-weight:900;letter-spacing:.2em;color:var(--accent-2)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--bg)}
