:root{color:#1f2937;background:#f3f4f6;font-family:Hiragino Sans,Noto Sans JP,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:1.25rem 1rem .75rem;text-align:center;background:#fff;border-bottom:1px solid #e5e7eb}.app-header h1{margin:0;font-size:1.25rem}.app-subtitle{margin:.35rem 0 0;color:#6b7280;font-size:.875rem}.app-main{flex:1;width:min(100%,520px);margin:0 auto;padding:1rem}.scan-page,.result-page{display:flex;flex-direction:column;gap:1rem}.reader-shell{border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0f172a1f}.status-banner{margin:0;padding:.75rem 1rem;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-size:.875rem;font-weight:600;text-align:center}.error-banner{margin:0;padding:.75rem 1rem;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:.875rem}.hint-list{margin:0;padding-left:1.25rem;color:#6b7280;font-size:.8125rem}.result-page h2{margin:0;font-size:1.125rem}.result-note{margin:0;color:#6b7280;font-size:.875rem}.result-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:12px;background:#fff;box-shadow:0 4px 16px #0f172a14}.field-row{display:flex;flex-direction:column;gap:.35rem}.field-label{font-size:.75rem;font-weight:600;color:#6b7280}.field-value{font-size:1rem;word-break:break-all}.field-input{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.result-actions{display:flex;justify-content:center}.button{border:none;border-radius:999px;padding:.75rem 1.5rem;font-size:.9375rem;cursor:pointer}.button-primary{background:#2563eb;color:#fff}.button-primary:hover{background:#1d4ed8}
