:root{color:#f3f5f7;font-synthesis:none;text-rendering:optimizelegibility;background:#101214;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}.app-shell{color:#162235;background:#eef3f8;place-items:center;min-height:100vh;padding:24px;display:grid}.app-card{background:#f8fafc;border:1px solid #0b5cab1f;border-radius:18px;width:min(100%,520px);overflow:hidden;box-shadow:0 18px 55px #1527402e,0 3px 12px #15274014}.panel-header{color:#fff;background:#0b5cab;justify-content:space-between;align-items:center;padding:18px;display:flex}.brand-lockup{align-items:center;gap:10px;display:flex}.panel-logo{background:#fff;border-radius:10px;width:40px;height:40px;padding:4px}.eyebrow{color:inherit;letter-spacing:.11em;text-transform:uppercase;opacity:.72;margin:0 0 2px;font-size:10px;font-weight:800}.accent-eyebrow{color:#0b5cab;opacity:1}h1,h2,p{margin:0}h1{letter-spacing:-.02em;font-size:17px}h2{color:#162235;letter-spacing:-.035em;font-size:clamp(1.45rem,5vw,1.85rem);line-height:1.1}button{font:inherit;cursor:pointer}.icon-button,.primary-button,.secondary-button,.text-button,.inline-button{border:0;transition:background .15s,color .15s,transform .15s}.icon-button{color:#ffffffd9;background:#ffffff1f;border-radius:8px;place-items:center;width:28px;height:28px;font-size:22px;line-height:1;display:grid}.icon-button:hover{background:#ffffff38}.connection-status{color:#718096;background:#fff;border-bottom:1px solid #e5eaf0;align-items:center;gap:7px;padding:11px 18px;font-size:12px;font-weight:700;display:flex}.status-dot{background:#718096;border-radius:50%;flex:0 0 8px;width:8px;height:8px}.connection-status.connected .status-dot{background:#16834b;box-shadow:0 0 0 3px #16834b1f}.connection-status.connecting .status-dot{background:#e59b14;box-shadow:0 0 0 3px #e59b1421}.connection-status.disconnected .status-dot{background:#d81e05}.status-context{color:#718096;margin-left:auto;font-size:11px;font-weight:600}.intro-panel,.scanner-panel,.result-panel{padding:clamp(24px,7vw,40px)}.intro-panel{text-align:center}.brand-mark{color:#fff;background:#d81e05;border-radius:16px;place-items:center;width:56px;height:56px;margin:0 auto 22px;font-size:36px;font-weight:800;line-height:1;display:grid;transform:rotate(-8deg);box-shadow:0 7px 16px #d81e0533}.intro-copy{color:#718096;max-width:360px;margin:14px auto 28px;line-height:1.55}.primary-button{color:#fff;background:#d81e05;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;font-size:13px;font-weight:800;display:flex}.primary-button:hover{background:#b61905;transform:translateY(-1px)}.primary-button span{font-size:18px;line-height:.7}.panel-heading,.section-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.text-button{color:#718096;background:0 0;flex:none;padding:4px 0;font-size:12px;font-weight:700}.text-button:hover{color:#0b5cab}.camera-frame{aspect-ratio:4/5;background:#08111d;border-radius:12px;position:relative;overflow:hidden}.camera-frame video{object-fit:cover;width:100%;height:100%;display:block}.scan-guide{aspect-ratio:1;border:2px solid #d81e05;border-radius:18px;width:min(68%,250px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #0000004d}.camera-hint{color:#fff;text-align:center;text-shadow:0 1px 6px #000;font-size:.8rem;position:absolute;bottom:12px;left:16px;right:16px}.scanner-actions{margin-top:14px}.secondary-button{color:#0b5cab;background:#eaf3fc;border:1px solid #0b5cab33;border-radius:8px;width:100%;padding:11px 14px;font-size:12px;font-weight:800}.secondary-button:hover{background:#d9eafa;transform:translateY(-1px)}.status-message{color:#7d2118;background:#fff0ed;border-radius:10px;gap:6px;margin-top:14px;padding:13px;font-size:12px;line-height:1.4;display:grid}.status-message strong{color:#b61905}.inline-button{color:#b61905;background:0 0;justify-self:start;margin-top:3px;padding:0;font-size:12px;font-weight:800;text-decoration:underline}.received-badge{color:#16834b;white-space:nowrap;background:#16834b1a;border-radius:12px;padding:5px 9px;font-size:10px;font-weight:800}.result-card{background:#fff;border:1px solid #e5eaf0;border-radius:12px;margin-bottom:14px;padding:13px}.detail-label{color:#718096;font-size:10px;font-weight:700}.result-text{color:#162235;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:#f8fafc;border:1px solid #e5eaf0;border-radius:8px;min-height:120px;max-height:300px;margin:9px 0 0;padding:12px;font:.85rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=560px){.app-shell{align-items:stretch;padding:0}.app-card{border:0;border-radius:0;width:100%;min-height:100vh}}
